AlphaBot: Antriebsmotoren ansteuern: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 4: | Zeile 4: | ||
* Wir haben die Motoransteuerung geändert, so dass Alf ein Dreieck gefahren ist. | * Wir haben die Motoransteuerung geändert, so dass Alf ein Dreieck gefahren ist. | ||
* Wir haben uns die Inkrementalgeber angeschaut und die Werte mit dem Demo <code>E13_Photo_Interrupter_Sensor</code> angezeigt. | * Wir haben uns die Inkrementalgeber angeschaut und die Werte mit dem Demo <code>E13_Photo_Interrupter_Sensor</code> angezeigt. | ||
* Anschließend haben wir die Umdrehungen gezählt. | * Anschließend haben wir die Umdrehungen gezählt (<code>E14_Wheel_Encoders</code>). | ||
* Wir haben den Radumfang berechnet: <math>U=\pi \cdot d = 3,14\cdot 6,4\,cm=20,1\,cm</math>. | * Wir haben den Radumfang berechnet: <math>U=\pi \cdot d = 3,14\cdot 6,4\,cm=20,1\,cm</math>. | ||
* | * Fazit: Drehen beider Räder um 360 °, dann fährt der Roboter 20,1 cm vorwärts. | ||
== Quelltext == | == Quelltext == | ||
Version vom 31. März 2022, 13:51 Uhr
Autor: Prof. Dr.-Ing. Schneider
Inhalt des dritten Termins
- Wir haben die Motoransteuerung geändert, so dass Alf ein Dreieck gefahren ist.
- Wir haben uns die Inkrementalgeber angeschaut und die Werte mit dem Demo
E13_Photo_Interrupter_Sensorangezeigt. - Anschließend haben wir die Umdrehungen gezählt (
E14_Wheel_Encoders). - Wir haben den Radumfang berechnet: .
- Fazit: Drehen beider Räder um 360 °, dann fährt der Roboter 20,1 cm vorwärts.
Quelltext
/* Deklaration */
#include "AlphaBot.h" // Arduino Bibliothek einbinden
AlphaBot Alf = AlphaBot(); // Instanz des AphaBot wird erzeugt
//const byte GESCHWINDIGKEIT_u8 = 80; // Geschw. wählbar: 0 - 255; Min: 80
void setup()
{
// Wird einmalig beim Start ausgeführt
Alf.SetSpeed(80); // Geschw. setzen: 0 - 255
Alf.Forward(1000); // AlphaBot fährt für 1s mit beiden Motoren vorwärts
Alf.Brake(); // AlphaBot bremst
Serial.begin(9600); // Serielle Übertragung mit 9600 Bit/s starten
Serial.println("SETUP");
}
void loop()
{
// Wird zyklisch ausgeführt
delay(1000); // 1s Warten
Serial.println("Loop"); // Im Loop passiert nichts.
}
Hausaufgaben bis zum 3. Termin
- Fahre 1s geradeaus.
- Drehe den AlphaBot um 90° nach rechts.
- Wiederhole die Sequenz 4x, so dass der AlphaBot ein Quadrat fährt.
Musterlösung
→ zurück zum Hauptartikel: Projekt Alf