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
E13_Photo_Interrupter_Sensor
E14_Wheel_Encoders
/* Deklaration */ #include <Servo.h> Servo US_SERVO; // create servo object to control a servo int potpin = 0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() { US_SERVO.attach(9); // attaches the servo on pin 9 to the servo object Serial.begin(9600); // init für Serielle ausgabe } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) Serial.println(val); val = map(val, 0, 676, 0, 180); // scale it to use it with the servo (value between 0 and 180) US_SERVO.write(val); // for (int i=0;4;i++) // { // US_SERVO.write(0); // delay(500); // US_SERVO.write(90); // delay(500); // US_SERVO.write(180); // delay(500); // } // sets the servo position according to the scaled value delay(20); // waits for the servo to get there }
-->
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