AlphaBot: MATLAB als serieller Monitor: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 10: | Zeile 10: | ||
* Nutzung von MATLAB<sup>®</sup> als seriellen Monitor. | * Nutzung von MATLAB<sup>®</sup> als seriellen Monitor. | ||
* Inbetriebnahme des AlphaBot | * Inbetriebnahme des AlphaBot | ||
* Einbindung der Bibliotheken | * Einbindung der Bibliotheken für den AlphaBot | ||
* Auslesen eine Potentiometers | * Auslesen eine Potentiometers | ||
* Ansteuern einer RGB-LED | * Ansteuern einer RGB-LED | ||
Zeile 17: | Zeile 17: | ||
== Lernziele== | == Lernziele== | ||
Nach Durchführung dieser Lektion | Nach Durchführung dieser Lektion können Sie | ||
* | * Debug-Daten speichern und via MATLAB<sup>®</sup> visualisieren. | ||
* | * direkt MATLAB<sup>®</sup> als seriellen Monitor nutzen. | ||
* | * den AlphaBot sicher in Betrieb nehmen, das Potentiometer auslesen und eine RGB-LED ansteuern. | ||
* | * Entfernungen mit dem Ultraschall-Sensor messen. | ||
* Messwerte in Echtzeit filtern. | |||
== Versuchsdurchführung == | == Versuchsdurchführung == | ||
Zeile 38: | Zeile 39: | ||
# Arbeiten Sie sich anhand des [[AlphaBot|Wiki-Artikels]] in den AlphaBot ein. Beachten Sie besonders die Ausrichtung der Akkus. '''ACHTUNG BRANDGEFAHR!''' | # Arbeiten Sie sich anhand des [[AlphaBot|Wiki-Artikels]] in den AlphaBot ein. Beachten Sie besonders die Ausrichtung der Akkus. '''ACHTUNG BRANDGEFAHR!''' | ||
# Binden Sie die AlphaBot Bibliothek nach [[Erste_Schritte_mit_der_Arduino_IDE|Anleitung]] in die Arduino IDE ein. | # Binden Sie die AlphaBot Bibliothek nach [[Erste_Schritte_mit_der_Arduino_IDE|Anleitung]] in die Arduino IDE ein. | ||
# Machen Sie sich mit <code>E23_RGB_LED</code> vertraut, so dass Sie jede Zeile erläutern können. | # Machen Sie sich mit dem Demo <code>E23_RGB_LED</code> vertraut, so dass Sie jede Zeile erläutern können. | ||
# Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es. | # Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es. | ||
# Am Analogport <code>A0</code> ist das Potentiometer des Erweiterungsborts angeschlossen. Nutzen Sie das Potentiometer, um die Blinkfrequenz der RGB LED zu verändern. | # Am Analogport <code>A0</code> ist das Potentiometer des Erweiterungsborts angeschlossen. Nutzen Sie das Potentiometer, um die Blinkfrequenz der RGB-LED zu verändern. | ||
# Stellen Sie den Wert des Potentiometers an <code>A0</code> in MATLAB<sup>®</sup> live dar. | # Stellen Sie den Wert des Potentiometers an <code>A0</code> in MATLAB<sup>®</sup> live dar. | ||
Zeile 48: | Zeile 49: | ||
=== Aufgabe 3.3: AlphaBot Ultraschall === | === Aufgabe 3.3: AlphaBot Ultraschall === | ||
# Machen Sie sich mit dem | # Machen Sie sich mit dem Demo <code>E05_Ultraschall_Entfernungsmessung</code> vertraut, so dass Sie jede Zeile erläutern können. | ||
# Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es. | # Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es. | ||
# Lesen Sie die Messwerte des | # Lesen Sie die Messwerte des Ultraschallsensors aus. | ||
# Stellen Sie den Wert des Ultraschallsensors in MATLAB<sup>®</sup> live dar. | # Stellen Sie den Wert des Ultraschallsensors in MATLAB<sup>®</sup> live dar. | ||
Version vom 26. März 2023, 12:38 Uhr
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester
Aufgabenstatus: In Bearbeitung
Inhalt
- Nutzung von MATLAB® als seriellen Monitor.
- Inbetriebnahme des AlphaBot
- Einbindung der Bibliotheken für den AlphaBot
- Auslesen eine Potentiometers
- Ansteuern einer RGB-LED
- Statische und dynamische Messung mit dem Ultraschallsensor
- Anwendung rekursiver Filter auf Echtzeitdaten
Lernziele
Nach Durchführung dieser Lektion können Sie
- Debug-Daten speichern und via MATLAB® visualisieren.
- direkt MATLAB® als seriellen Monitor nutzen.
- den AlphaBot sicher in Betrieb nehmen, das Potentiometer auslesen und eine RGB-LED ansteuern.
- Entfernungen mit dem Ultraschall-Sensor messen.
- Messwerte in Echtzeit filtern.
Versuchsdurchführung
Aufgabe 3.1: MATLAB® als serieller Monitor
- Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen.
- Starten Sie als Datenquelle
messeEntfernung.ino
aus Aufgabe 1.2. - Greifen Sie hierzu auf die serielle Schnittstelle zu während der Arduino Daten sendet.
- Nutzen Sie das Demo
DemoDebug2MATLAB
im SVN-Verzeichnis.
Nützlich MATLAB®-Befehle: fopen, feof, fgetl, strfind, isempty, plot, xlabel, ylabel, legend
Arbeitsergebnisse in SVN: seriellerMonitor.m
Aufgabe 3.2: Inbetriebnahme des AlphaBot
- Arbeiten Sie sich anhand des Wiki-Artikels in den AlphaBot ein. Beachten Sie besonders die Ausrichtung der Akkus. ACHTUNG BRANDGEFAHR!
- Binden Sie die AlphaBot Bibliothek nach Anleitung in die Arduino IDE ein.
- Machen Sie sich mit dem Demo
E23_RGB_LED
vertraut, so dass Sie jede Zeile erläutern können. - Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
- Am Analogport
A0
ist das Potentiometer des Erweiterungsborts angeschlossen. Nutzen Sie das Potentiometer, um die Blinkfrequenz der RGB-LED zu verändern. - 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
- Machen Sie sich mit dem Demo
E05_Ultraschall_Entfernungsmessung
vertraut, so dass Sie jede Zeile erläutern können. - Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
- Lesen Sie die Messwerte des Ultraschallsensors aus.
- Stellen Sie den Wert des Ultraschallsensors in MATLAB® live dar.
Lernzielkontrollfragen:
- An welchen Pins sind
Trigger
undEcho
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?
- Welche Pins sind beim Arduino interruptfähig?
Arbeitsergebnisse in SVN: messeUltraschall.ino, zeigeUltraschall.m
Demo: E05
Aufgabe 3.4: Glättung der Ultraschallmessung
- Nutzen Sie Ihre Ergebnisse aus Aufgabe 2.3 um die Messwerte in Echtzeit zu glätten.
- Vergleichen Sie die Ergebnisse des Tiefpasses mit denen des gleitenden Mittelwertfilters in einem Plot mit Achsenbeschriftung und Legende.
Arbeitsergebnisse in SVN: messeUltraschall.ino, filtereUltraschall.m
Lernzielkontrollfragen:
- Wurde das Signalrauschen geglättet?
- Ist das gefilterte Signal verzögert?
- Welchen Einfluss haben die Filterparameter?
- Wie verhalten sich die gefilterten Signal bei Ausreißern?
Aufgabe 3.5: Nachhaltige Doku
Sichern Sie alle Ergebnisse mit beschreibendem Text (message
) in SVN.
- Halten Sie die Regeln für den Umgang mit SVN ein.
- Halten Sie die Programmierrichtlinie für C und die Programmierrichtlinien für MATLAB® ein.
- Versehen Sie jedes Programm mit einem Header (Header Beispiel für MATLAB, Header Beispiel für C).
- Kommentiere Sie den Quelltext umfangreich.
Arbeitsergebnis in SVN: SVN Log
Tutorials
Demos
→ zurück zum Hauptartikel: Informatik Praktikum 2