AlphaBot: Hardware Support Package für MATLAB: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „Kategorie:Arduino Kategorie:AlphaBot thumb|rigth|450px|Abb. 1: MATLAB<sup>®</sup> als serieller Monitor {|class="wikitable" |- | '''Autor:''' || Prof. Dr.-Ing. Schneider |- | '''Modul:''' || Praxismodul II, MTR-B-2-2.11 |- | '''Lehrveranstaltung:''' || Mechatronik, Informatik Praktikum 2, 2. Semester |} == Inhalt == * Nutzung von MATLAB<sup>®</sup> als seriellen Monitor. * In…“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 28: | Zeile 28: | ||
* Entfernungen mit dem Ultraschall-Sensor messen. | * Entfernungen mit dem Ultraschall-Sensor messen. | ||
* Messwerte in Echtzeit filtern. | * Messwerte in Echtzeit filtern. | ||
= Versuchsvorbereitung = | |||
* Das MATLAB Support Package für Arduino Hardware muss unter MATLAB installiert werden | |||
** Starten Sie MATLAB | |||
** Wählen Sie unter <code>Add-Ons</code> das <code>Get Hardware Support Packages</code> aus. | |||
** Installieren Sie das <code>MATLAB Support Package für Arduino Hardware</code>. | |||
* Verbinden Sie Arduino und PC via USB. | |||
* Bringen Sie mit dem <code>Geräte-Manager</code> den COM-Port des Arduino in Erfahrung. | |||
* Testen Sie die Verbindung mit <code>>> h = arduino('COM5','Uno')</code> für Ihren COM-Port. | |||
= Versuchsdurchführung = | = Versuchsdurchführung = | ||
== Aufgabe 2.1: MATLAB<sup>®</sup> als serieller Monitor == | == Aufgabe 2.1: MATLAB<sup>®</sup> als serieller Monitor == | ||
# Nutzen Sie MATLAB<sup>®</sup> um die Messdaten direkt (live) darzustellen. | # Nutzen Sie MATLAB<sup>®</sup> um die Messdaten direkt (live) darzustellen. | ||
# | # Verbinden Sie den Arduino mit dem PC via USB. | ||
# Greifen Sie hierzu auf die serielle Schnittstelle zu | # Greifen Sie hierzu auf die serielle Schnittstelle zu. | ||
# Nutzen Sie das Demo <code>DemoDebug2MATLAB.m</code> im [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoDebug2MATLAB/DemoDebug2MATLAB.ino SVN]. | # Nutzen Sie das Demo <code>DemoDebug2MATLAB.m</code> im [https://svn.hshl.de/svn/Informatikpraktikum_1/trunk/Arduino/ArduinoLibOrdner/ArduinoUnoR3/examples/DemoDebug2MATLAB/DemoDebug2MATLAB.ino SVN]. | ||
# Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es. | # Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es. | ||
'''Nützlich MATLAB<sup>®</sup>-Befehle:''' <code> | '''Nützlich MATLAB<sup>®</sup>-Befehle:''' <code>arduinofopen, feof, fgetl, strfind, isempty, plot, xlabel, ylabel, legend</code> | ||
'''Arbeitsergebnisse''' in SVN: <code>seriellerMonitor.m</code> | '''Arbeitsergebnisse''' in SVN: <code>seriellerMonitor.m</code> | ||
Version vom 2. April 2025, 11:39 Uhr

| Autor: | Prof. Dr.-Ing. Schneider |
| Modul: | Praxismodul II, MTR-B-2-2.11 |
| Lehrveranstaltung: | Mechatronik, Informatik Praktikum 2, 2. Semester |
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.
Versuchsvorbereitung
- Das MATLAB Support Package für Arduino Hardware muss unter MATLAB installiert werden
- Starten Sie MATLAB
- Wählen Sie unter
Add-OnsdasGet Hardware Support Packagesaus. - Installieren Sie das
MATLAB Support Package für Arduino Hardware.
- Verbinden Sie Arduino und PC via USB.
- Bringen Sie mit dem
Geräte-Managerden COM-Port des Arduino in Erfahrung. - Testen Sie die Verbindung mit
>> h = arduino('COM5','Uno')für Ihren COM-Port.
Versuchsdurchführung
Aufgabe 2.1: MATLAB® als serieller Monitor
- Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen.
- Verbinden Sie den Arduino mit dem PC via USB.
- Greifen Sie hierzu auf die serielle Schnittstelle zu.
- Nutzen Sie das Demo
DemoDebug2MATLAB.mim SVN. - Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
Nützlich MATLAB®-Befehle: arduinofopen, feof, fgetl, strfind, isempty, plot, xlabel, ylabel, legend
Arbeitsergebnisse in SVN: seriellerMonitor.m
| Tipp 1 |
Nutzen Sie das Demo DemoDebug2MATLAB und passen Sie dieses an.
|
| Tipp 2 |
# Behandeln Sie readline(src) für Header und Daten getrennt.
|
| Musterlösung |
Aufgabe 2.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.inovertraut, so dass Sie jede Zeile erläutern können. - Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
- Am Analogport
A0ist das Potentiometer des Erweiterungsborts angeschlossen. Nutzen Sie das Potentiometer, um die Blinkfrequenz der RGB-LED im Bereich 0 s..1 s zu verändern. - Stellen Sie den Wert des Potentiometers an
A0in MATLAB® live dar.
Lernzielkontrollfragen:
- Wie funktioniert eine RGB-LED?
- Welches sind die Parameter des HSV-Farbraums?
- Wie stellt man bei einer RGB-LED die Farbe ein?
- Wie bekommt man eine RGB-LED zum Blinken?
- Wie funktioniert ein Potentiometer?
- Wie liest man die Stellung eines Potentiometers aus?
Arbeitsergebnisse: steuereRGBLED.ino, zeigePotiWert.m
| Tipp 1 | |
|
Hilfreiche Links: |
| Tipp 2 |
|
Aufgabe 2.3: AlphaBot Ultraschall
- Machen Sie sich mit dem Demo
E05_Ultraschall_Entfernungsmessung.inovertraut, 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
TriggerundEchoangeschlossen? Wie lässt sich das anpassen?
Arbeitsergebnisse in SVN: messeUltraschall.ino, zeigeUltraschall.m
| Tipp 1 | |
Nutzen Sie das Demo E05 sowie Ihre Skripte seriellerMonitor.m und leseArduinoDaten.m.
|
Hilfreiche Links: |
| Beachten Sie bitte die Jumper A-G. Dieser verbinden die Sensoren und Aktoren mit dem Arduino. Die Multisensorerweiterung nutzt ggf. dieselben IO-Anschlüsse. Für diese Aufgabe können Sie bei Doppeltbelegung die Multisensorerweiterung abziehen und vorsichtig zur Seite legen. | |
| Wenn der serielle Monitor offen ist, kann der Arduino Uno nicht mit der Arduino IDE 2.0.4 programmiert werden. Schließen Sie zum Hochladen den Monitor. |
Aufgabe 2.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?
| Tipp 1 |
Nutzen Sie Ihre Funktionen GleitendesMittelwertFilter.m und TiefpassFilter.m.
|
Aufgabe 2.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
- Erste Schritte mit dem AlphaBot
- Erste Schritte mit der Arduino IDE
- HSHL-Wiki: Ultraschallsensor HC-SR04
Demos
→ Termine 1 2 3 4 5 6 7 8 9 10 11
→ zurück zum Hauptartikel: Informatik Praktikum 2