AlphaBot: Motoren und Inkrementalgeber: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 96: | Zeile 96: | ||
=== Aufgabe 5.4: Fahre Quadrat === | === Aufgabe 5.4: Fahre Quadrat === | ||
# Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Quadrates im Uhrzeigersinn abzufahren (vgl. Abb.3). | # Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Quadrates im Uhrzeigersinn abzufahren (vgl. Abb.3). | ||
# Die Seitenlänge a ist eine Variable und soll 30 cm betragen. | # Die Seitenlänge a ist eine Variable und soll 30 cm betragen. | ||
# Führen Sie eine Schleife 4x aus, die aus Geradeausfahrt und Drehung besteht. | # Führen Sie eine Schleife 4x aus, die aus Geradeausfahrt und Drehung besteht. | ||
# Stellen Sie die gefahrene Strecke auf dem OLED Display dar. | # Stellen Sie die gefahrene Strecke auf dem OLED Display dar. |
Version vom 13. April 2023, 12:01 Uhr
Autor: Prof. Dr.-Ing. Schneider
Modul: Praxismodul I
Lehrveranstaltung: Mechatronik, Informatik Praktikum 2, 2. Semester
Inhalt
Lernziele
Nach Durchführung dieser Lektion können Sie
Versuchsdurchführung
Aufgabe 5.1: Lichtschranke
- Machen Sie sich mit dem Demo
E13_Lichtschranke
vertraut, so dass Sie jede Zeile erläutern können. - Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
- Lassen Sie als Test beide Motoren langsam vorwärts drehen.
- Flankenwechsel von
CNTL/CNTR
sollen einen Interrupt auslösen. - Stellen Sie beide Lichtschrankenzustände
CNTL/CNTR
über der Zeit in MATLAB® dar.
Lernzielkontrollfragen:
- Wie funktioniert eine Lichtschranke?
- Wo befinden sich die Lichtschranken?
- Wo ist rechts und wo links?
- An welchen Ports sind die linke und rechte Lichtschranke angeschlossen?
- Welche IO-Pins sind beim Arduino Uno interruptfähig?
- Wie entsheidet die Lichtschranke zwischen Vorwärts- oder Rückwärtsdrehung?
- Wieviele Flanken erhalten Sie für eine Radumdrehung?
Arbeitsergebnisse: testeLichtschranke.ino
, testeLichtschranke.ino
Tipp 1 |
Nutzen Sie die Demos E13_Lichtschranke und E01_MotorenTest |
Nur die IO-Pins D2 und D3 sind beim Arduino Uno interruptfähig. |
Legen Sie für eine langsame Raddrehung keine Akkus ein. |
Tipp 2 |
Ergebnisplot: Abb. 2: CNTL/CNTR über der Zeit |
Aufgabe 5.2: RadInkrementalgeber
- Machen Sie sich mit
E15_RadInkrementalgeberFahrt
vertraut, so dass Sie jede Zeile erläutern können. - Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es.
- Was ist ein Interrupt und wozu dient er?
- Wozu dient die Funktion attachInterrupt()?
- Rechnen Sie die Radumdrehungen in gefahrene Strecke um.
- Stellen Sie die gefahrene Strecke über der Zeit in MATLAB® dar.
Lernzielkontrollfragen:
- Wie lässt sich die die gefahrene Strecke berechnen?
Arbeitsergebnis: testeRadInkrementalgeber.ino
, zeigeRadInkrementalgeber.m
Tipp 1 |
Nutzen Sie die Demos E14_RadInkrementalgeber und E15_RadInkrementalgeberFahrt |
Legen Sie den Akku korrekt an, um die Motoren anzusteuern. |
Tipp 2 |
Ergebnisplot: Abb. 2: CNTL/CNTR über der Zeit |
Aufgabe 5.3: 1 m Fahrt
- Machen Sie sich mit dem Demo
E15_RadInkrementalgeberFahrt
vertraut, so dass Sie jede Zeile erläutern können. - Fahren Sie mit Ihrem Fahrzeug genau 1 m geradeaus vorwärts.
- Fahren Sie wieder zum Startpunkt zurück. Wenden Sie das Fahrzeug nicht!
- Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
- Der AlphaBot inkrementiert die Strecke bei Vorwärtsfahrt und dekrementiert bei Rückwärtsfahrt.
Lernzielkontrollfragen:
- Wie kann die Fahrtrichtung bei der Streckenbestimmung berücksichtigt werden?
- Zeigt das Display 1 m an? Begründen Sie ggf. die Abweichung.
Arbeitsergebnis: fahreVorZurueck.ino
Tipp 1 |
Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis. |
Legen Sie den Akku korrekt an, um die Motoren anzusteuern. |
Aufgabe 5.4: Fahre Quadrat
- Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Quadrates im Uhrzeigersinn abzufahren (vgl. Abb.3).
- Die Seitenlänge a ist eine Variable und soll 30 cm betragen.
- Führen Sie eine Schleife 4x aus, die aus Geradeausfahrt und Drehung besteht.
- Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
Lernzielkontrollfragen:
Arbeitsergebnis: fahreQuadrat.ino
Tipp 1 |
Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis. |
Legen Sie den Akku korrekt an, um die Motoren anzusteuern. |
Aufgabe 5.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
→ Termine 1 2 3 4 5
→ zurück zum Hauptartikel: Informatik Praktikum 2