AlphaBot: Servo ansteuern: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 35: | Zeile 35: | ||
# 0% ist ganz links und 100% ganz rechts. | # 0% ist ganz links und 100% ganz rechts. | ||
# Lagern Sie die Ansteuerung in eine Funktion <code>dreheUltraschall(Wert)</code> aus. | # Lagern Sie die Ansteuerung in eine Funktion <code>dreheUltraschall(Wert)</code> aus. | ||
# Nutzen Sie MATLAB<sup>®</sup> um die Messdaten direkt (live) darzustellen. | # Nutzen Sie MATLAB<sup>®</sup> um die Messdaten direkt (live) darzustellen. | ||
# Übertragen Sie folgende Parameter: | |||
* <code>fZeit</code>: Zeit | |||
* <code>fEntfernung</code>: Entfernung in cm | |||
* <code>fWinkel</code>: Winkel des Servo-Motors in deg | |||
'''Arbeitsergebnisse''' in SVN: <code>dreheServoMotor.ino</code> <code>zeigeUltraschallMesswerte.m</code> | '''Arbeitsergebnisse''' in SVN: <code>dreheServoMotor.ino</code> <code>zeigeUltraschallMesswerte.m</code> | ||
Zeile 43: | Zeile 47: | ||
</div> | </div> | ||
---- | ---- | ||
=== Aufgabe | === Aufgabe 4.2: Inbetriebnahme des AlphaBot === | ||
# 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. |
Version vom 31. März 2023, 09:40 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 4.1: Servo ansteuern
In dieser Aufgabe soll der Ultraschallkopf mittles Servomotor und Potentiometer geschwenkt werden.
- Machen Sie sich mit dem Demo
E24_Servo_Poti
vertraut, so dass Sie jede Zeile erläutern können. - Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
- Lesen Sie die Stellung des Potentiometers aus.
- Steuern Sie den Servomotor mit dem Potentiometer an. Nutzen Sie hierzu den
map
-Befehl. - 0% ist ganz links und 100% ganz rechts.
- Lagern Sie die Ansteuerung in eine Funktion
dreheUltraschall(Wert)
aus. - Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen.
- Übertragen Sie folgende Parameter:
fZeit
: ZeitfEntfernung
: Entfernung in cmfWinkel
: Winkel des Servo-Motors in deg
Arbeitsergebnisse in SVN: dreheServoMotor.ino
zeigeUltraschallMesswerte.m
Demo: SVN: E24_Servo_Poti
Aufgabe 4.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 im Bereich 0 s..1 s zu verändern. - Stellen Sie den Wert des Potentiometers an
A0
in 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
Demos: E23, E34
Hilfreiche Links:
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?
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
- Erste Schritte mit dem AlphaBot
- Erste Schritte mit der Arduino IDE
- HSHL-Wiki: Ultraschallsensor HC-SR04
Demos
→ Termine 1 2 3 4
→ zurück zum Hauptartikel: Informatik Praktikum 2