AlphaBot: Servo ansteuern: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 86: Zeile 86:
=== Aufgabe 4.4: Ultraschall zur Objekterkennung ===
=== Aufgabe 4.4: Ultraschall zur Objekterkennung ===
# Der AlphaBot soll ortsfest seine Umgebung durch die Drehung des Ultraschall-Sensors absuchen.
# Der AlphaBot soll ortsfest seine Umgebung durch die Drehung des Ultraschall-Sensors absuchen.
# Wenn ein Hindernis im Umkreis von 30 cm detektiert wird, endet der Scan beendet und einen Warnton/eine Melodie ertönen.
# Wenn ein Hindernis im Umkreis von 30 cm detektiert wird, ertönt einen Warnton/eine Melodie.
# Bei Druck auf den Joystick verstummt der Warnton und dafür leuchtet die LED rot auf.
# Bei Druck auf den Joystick verstummt der Warnton und dafür leuchtet die LED rot auf.
# Entfernt sich das Hindernis, wird die Hindernissuche wieder aufgenommen.
# Entfernt sich das Hindernis, verstummt der Alarm.
# Planen Sie als ersten Schritt das Arduino-Programm als PAP.
# Planen Sie als ersten Schritt das Arduino-Programm als PAP.
# Nutzen Sie MATLAB<sup>®</sup> um die Messdaten direkt (live) darzustellen. Objekte werden als gelbe Punkte und Hindernisse (<30&thinsp;cm) als rote Punkte dargestellt.
# Nutzen Sie MATLAB<sup>®</sup> um die Messdaten direkt (live) darzustellen. Objekte werden als gelbe Punkte und Hindernisse (<30&thinsp;cm) als rote Punkte dargestellt.

Version vom 31. März 2023, 10:33 Uhr

Abb. 1: MATLAB® als serieller Monitor

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.
  • Ansteuerung des Servomotors
  • Auslesen eine Potentiometers
  • Ansteuern eines Summers
  • 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.

  1. Machen Sie sich mit dem Demo E24_Servo_Poti 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 Stellung des Potentiometers aus.
  4. Steuern Sie den Servomotor mit dem Potentiometer an. Nutzen Sie hierzu den map-Befehl.
  5. 0% ist ganz links und 100% ganz rechts.
  6. Lagern Sie die Ansteuerung in eine Funktion dreheUltraschall(Wert) aus.
  7. Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen.

Übertragen Sie folgende Parameter:

  • fZeit: Zeit
  • fEntfernung: Entfernung in cm
  • fWinkel: Winkel des Servo-Motors in deg

Lernzielkontrollfragen:

  • An welchen Arduino-Pins ist der Servo angeschlossen?

Arbeitsergebnisse in SVN: dreheServoMotor.ino, zeigeUltraschallMesswerte.m


Aufgabe 4.2: Ultraschall als Umfeldscanner

  1. Machen Sie sich mit dem Demo E25_Servo_Sweep vertraut, so dass Sie jede Zeile erläutern können.
  2. Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
  3. Steuern Sie den Servo von 0°..180° an und fahren Sie zurück auf 0°.
  4. Messen Sie pro 1° die Ultraschallentfernung.
  5. Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen.
  6. Rechnen Sie die Polarkoordinaten (fWinkel, fEntfernung) in kartesische Koordinaten (x, y) um.
  7. Stellen Sie die Messpunkte zyklisch dar (vgl. Abb. 2).

Lernzielkontrollfragen:

  • An welchen Arduino-Pins ist der Servo angeschlossen?

Arbeitsergebnisse in SVN: UltraschallScanner.ino, zeigeUltraschallScan.m


Aufgabe 4.3: Joystick einlesen

  1. Der AlphaBot soll ortsfest seine Umgebung durch die Drehung des Ultraschall-Sensors absuchen.
  2. Wenn ein Hindernis im Umkreis von 30 cm detektiert wird, endet der Scan beendet und einen Warnton/eine Melodie ertönen.
  3. Bei Druck auf den Joystick verstummt der Warnton und dafür leuchtet die LED rot auf.
  4. Entfernt sich das Hindernis, wird die Hindernissuche wieder aufgenommen.
  5. Planen Sie als ersten Schritt das Arduino-Programm als PAP.
  6. Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen. Objekte werden als gelbe Punkte und Hindernisse (<30 cm) als rote Punkte dargestellt.

Lernzielkontrollfragen:

  • An welchen Arduino-Pins ist der Joystick angeschlossen?

Arbeitsergebnisse in SVN: sucheHindernis.pap, sucheHindernis.ino, zeigeUltraschallScan.m

Hinweise:

  • Nutzen Sie die Demos E05, E18b im SVN-Verzeichnis.
  • Wenn Sie den Summer verwenden möchten, entfernen Sie den Jumper D1, da der Summer auf dem digitalen Eingang D11 eingelesen wird.

Aufgabe 4.4: Ultraschall zur Objekterkennung

  1. Der AlphaBot soll ortsfest seine Umgebung durch die Drehung des Ultraschall-Sensors absuchen.
  2. Wenn ein Hindernis im Umkreis von 30 cm detektiert wird, ertönt einen Warnton/eine Melodie.
  3. Bei Druck auf den Joystick verstummt der Warnton und dafür leuchtet die LED rot auf.
  4. Entfernt sich das Hindernis, verstummt der Alarm.
  5. Planen Sie als ersten Schritt das Arduino-Programm als PAP.
  6. Nutzen Sie MATLAB® um die Messdaten direkt (live) darzustellen. Objekte werden als gelbe Punkte und Hindernisse (<30 cm) als rote Punkte dargestellt.

Lernzielkontrollfragen:

  • An welchen Arduino-Pins ist der Joystick angeschlossen?

Arbeitsergebnisse in SVN: sucheHindernis.pap, sucheHindernis.ino, zeigeUltraschallScan.m

Hinweise:

  • Nutzen Sie die Demos E05, E18b im SVN-Verzeichnis.
  • Wenn Sie den Summer verwenden möchten, entfernen Sie den Jumper D1, da der Summer auf dem digitalen Eingang D11 eingelesen wird.

Aufgabe 4.5: Nachhaltige Doku

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

Arbeitsergebnis in SVN: SVN Log

Tutorials

Demos



→ Termine 1 2 3 4
→ zurück zum Hauptartikel: Informatik Praktikum 2