AlphaBot: Motoren und Inkrementalgeber: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 41: | Zeile 41: | ||
| <strong>Tipp 2 </strong> | | <strong>Tipp 2 </strong> | ||
|- | |- | ||
| Ergebnisplot:<br>[[Datei:Inf2P_5_1.jpg|left|450px|Abb. 4: Ergebnisdarstellung CNTL vs. CNTR]]<br> Abb. 2: | | Ergebnisplot:<br>[[Datei:Inf2P_5_1.jpg|left|450px|Abb. 4: Ergebnisdarstellung CNTL vs. CNTR]]<br> Abb. 2: CNTL/CNTR über der Zeit | ||
|} | |} | ||
Version vom 13. April 2023, 10:20 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 E13_Photo_Interrupter_Sensor.ino 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:
- 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?
Arbeitsergebnis: 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: Odometrie
1. Machen Sie sich mit E14_Wheel_Encoders vertraut, so dass Sie jede Zeile erl?autern k?onnen. 2. Kopieren Sie das Beispiel in Ihren Ordner und erweitern Sie es. 3. Was ist ein Interrupt und wozu dient er? 4. Wozu dient die Funktion attachInterrupt()? 5. Stellen Sie beide Lichtschrankenzust?ande sowie die Radumdrehungen im seriellen Monitor dar. 6. Rechnen Sie die Radumdrehungen in gefahrene Strecke um. 7. Stellen Sie die gefahrene Strecke zus?atzlich im seriellen Monitor dar. 8. Wie l?asst sich die Fahrtrichtung ermitteln? 9. Kommentieren Sie Ihren Quelltext und sichern Sie diesen in SVN. Arbeitsergebnis: testeOdometrie.ino Hinweis: Nutzen Sie das Demos E13, E14 im SVN-Verzeichnis.
Aufgabe 5.3: 1 m Fahrt
1. Machen Sie sich mit dem Demo E15_Wheel_Encoders_Drive.ino vertraut, so dass Sie jede Zeile erl?autern k?onnen. 2. Fahren Sie mit Ihrem Fahrzeug genau 1m geradeaus vorw?arts. 3. Stellen Sie die gefahrene Strecke auf dem OLED Display dar. 4. Fahren Sie wieder zum Startpunkt zur?uck. Wenden Sie das Fahrzeug nicht! 5. Stellen Sie die gefahrene Strecke auf dem OLED Display dar. 6. Wie kann die Fahrtrichtung bei der Streckenbestimmung ber?ucksichtigt werden? Hinweis: Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis. Arbeitsergebnis: fahreVorZurueck.ino - Der AlphaBot inkrementiert die Strecke bei Vorw?artsfahrt und dekrementiert bei R?uckw?artsfahrt.
Aufgabe 5.2: Fahre Quadrat
- Erweitern Sie Ihr bisheriges Programm, um die Seiten eines Quadrates im Uhrzeigersinn abzufahren (vgl. Abb.
3). 2. Die Seitenl?ange a ist eine Variable und soll 30 cm betragen. 3. F?uhren Sie eine Schleife 4x aus, die aus Geradeausfahrt und Drehung besteht. 4. Stellen Sie die gefahrene Strecke auf dem OLED Display dar.
Arbeitsergebnis: fahreQuadrat.ino Hinweis: Nutzen Sie die Demos E01, E15, E22 im SVN-Verzeichnis.
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