AlphaBot: MATLAB als serieller Monitor: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:
* können Sie Messwerte in Echtzeit filtern.
* können Sie Messwerte in Echtzeit filtern.
* können Sie Software mit einem PAP planen.
* können Sie Software mit einem PAP planen.
<!--
== Lernzielkontrolle ==
# Welchen Messbereich hat Ihr Ultraschallsensor?
# Welche Auflösung (t, s) hat Ihr Sensor?
# Welche Empfindlichkeit hat Ihr Sensor?
# Welche Messunsicherheit hat Ihr Sensor bei den Entfernungen 10 cm, 20 cm, 50 cm, 1 m, 2 m, 3 m und 4 m.
# Was ist ein gleitendes Mittelwertfilter? Wie wird es berechnet?
# Was ist ein rekursives Tiefpassfilter? Wie wird es berechnet?
# Wurde der Quelltext durch Header und Kommentare aufgewertet?
# Wurden jedes Programm mittels PAP geplant?
# Wurde auf <code>magic numbers</code> verzichtet?
# Wurde die [[Medium:Programmierrichtlinie.pdf|Programmierrichtlinie]] eingehalten?


== Vorbereitung ==
Bereiten Sie sich anhand der nachfolgenden Aufgaben auf den Praktikumstermin vor.
# Bereiten Sie Anhand der [[Arduino:_Ultraschallsensor_entstören#Tutorials|Tutorials]] und [[Arduino:_Ultraschallsensor_entstören#Demos|Demos]]  Aufgabe 11.1 vor.
# Schreiben und testen Sie die Funktion <code>GleitendesMittelwertFilter()</code>.
# Schreiben und testen Sie die Funktion <code>TiefpasstFilter()</code>.
# Planen Sie alle Programme mit PAP.
'''Arbeitsergebnisse''' in SVN: <code>PAP, charakterisiereUltraschaschallsensor.ino, USMessung.txt, charakterisiereUltraschallSensor.m, Lernzielkontrolle_Termin_11.pdf, GleitendesMittelwertFilter(), TiefpasstFilter()</code>
-->
== Versuchsdurchführung ==
== Versuchsdurchführung ==
=== Aufgabe 3.1: MATLAB<sup>®</sup> als serieller Monitor ===
=== Aufgabe 3.1: MATLAB<sup>®</sup> als serieller Monitor ===

Version vom 24. März 2023, 09:34 Uhr

Abb. 1: Lernset - Einsteiger Kit für Arduino

Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester

Aufgabenstatus: In Bearbeitung

Inhalt

  • Statische und dynamische Messung mit dem Ultraschallsensor
  • Nutzung von MATLAB® als seriellen Monitor.
  • Programmierung und Anwendung eines gleitenden Mittelwertfilters

Lernziele

Nach Durchführung dieser Lektion

  • können Sie Debug-Daten speichern und via MATLAB® visualisieren.
  • können Sie direkt MATLAB® als seriellen Monitor nutzen.
  • können Sie Entfernungen mit dem Ultraschall-Sensor messen.
  • können Sie Messwerte in Echtzeit filtern.
  • können Sie Software mit einem PAP planen.

Versuchsdurchführung

Aufgabe 3.1: MATLAB® als serieller Monitor

  1. Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen.
  2. Planen Sie als ersten Schritt das MATLAB®-Programm als PAP.
  3. Greifen Sie hierzu auf die serielle Schnittstelle zu während der Arduino Daten sendet.
  4. Nutzen Sie das Demo DemoDebug2MATLAB im SVN-Verzeichnis.

Nützlich MATLAB®-Befehle: fopen, feof, fgetl, strfind, isempty, plot, xlabel, ylabel, legend

Arbeitsergebnisse in SVN: zeigeArduinoDaten.pap, zeigeArduinoDaten.m

Aufgabe 3.2: Inbetriebnahme des AlphaBot

  1. Arbeiten Sie sich anhand des Wiki-Artikels in den AlphaBot ein. Beachten Sie besonders die Ausrichtung der Akkus. ACHTUNG BRANDGEFAHR!
  2. Binden Sie die AlphaBot Bibliothek nach Anleitung in die Arduino IDE ein.
  3. Machen Sie sich mit E23_RGB_LED vertraut, so dass Sie jede Zeile erläutern können.
  4. Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
  5. Am Analogport A0 ist das Potentiometer des Erweiterungsborts angeschlossen. Nutzen Sie das Potentiometer, um die Blinkfrequenz der RGB LED zu verändern.
  6. Stellen Sie den Wert des Potentiometers an A0 in MATLAB® live dar.

Arbeitsergebnisse: testeLichtschranke.ino, zeigePotiWert.m

Demos: E23, E24

Aufgabe 3.3: AlphaBot Ultraschall

  1. Machen Sie sich mit dem Demon E05_Ultraschall_Entfernungsmessung vertraut, so dass Sie jede Zeile erläutern können.
  2. Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
  3. Lesen Sie die Messwerte des Ulrtraschallsensors aus.
  4. Stellen Sie den Wert des Ultraschallsensors in MATLAB® live dar.

Lernzielkontrollfragen:

  • An welchen Pins sind Trigger und Echo angeschlossen? Wie lässt sich das anpassen?
  • Was ist ein Interrupt und wozu dient er?
  • Wozu dient die Funktion attachInterrupt()?
  • Was ist bei der Verwendung von Interrupts zu beachten?

Arbeitsergebnisse in SVN: messeUltraschall.ino, zeigeUltraschall.m

Demo: E05

Aufgabe 3.4: Nachhaltige Doku

Sichern Sie alle Ergebnisse mit beschreibendem Text (message) in SVN.

Arbeitsergebnis in SVN: SVN Log


Tutorials


Demos



→ zurück zum Hauptartikel: Informatik Praktikum 2