AlphaBot: Verzweigung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

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