AlphaBot: Verzweigung
Autor: Prof. Dr.-Ing. Schneider
Inhalt des vierten 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_Sensor
angezeigt. - 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
E24_Servo_Knop
/* Bibliothek einbinden */ #include <Servo.h> Servo usServo; /* Erzeugt ein Servo Objekt, um den Servo des Ultraschall anzusteuern */ int AnalogPin_s16 = 0; /* An Analogpin A0 ist das Poti angeschlossen */ int PotiWert_s16 = 0; /* Variable für die Stellung des Potis 0..676 */ int ServoStellung_s16 = 0; /* Variable für die Stellung des Servos 0°..180° */ void setup() { /* Einmalige Systeminitialisierung */ usServo.attach(9); /* Verbindung der Servo mit einem Digitalpin */ Serial.begin(9600); /* Init für serielle Ausgabe */ } void loop() { /* Main Schleife */ PotiWert_s16 = analogRead(AnalogPin_s16); /* Potistellung wird ausgelesen */ Serial.println(PotiWert_s16); ServoStellung_s16 = map(PotiWert_s16, 0, 676, 0, 180); /* Die Stellung des Potis wird auf 0°..180° skapiert */ usServo.write(ServoStellung_s16); /* Der Servo soll sich an die Position drehen */ delay(15); /* Wir warten 15ms, bis der Servo seine Position erreich hat */ }
-->
Hausaufgaben bis zum 4. Termin
Schaut Euch die Ansteuerung Eures Servos noch einmal an. Könnt Ihr den Ultraschall von ganz links bis ganz rechts drehen?
Musterlösung
→ zurück zum Hauptartikel: Projekt Alf