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_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
E13_Photo_Interrupter_SensorE14_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