AlphaBot: Verzweigung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „'''Autor:''' Prof. Dr.-Ing. Schneider == Inhalt des vierten Termins == * Wir haben die Motoransteuerung geändert, so dass Alf…“) |
Keine Bearbeitungszusammenfassung |
||
Zeile 11: | Zeile 11: | ||
* <code>E13_Photo_Interrupter_Sensor</code> | * <code>E13_Photo_Interrupter_Sensor</code> | ||
* <code>E14_Wheel_Encoders</code> | * <code>E14_Wheel_Encoders</code> | ||
<div style="width:1200px; height:300px; overflow:auto; border: 2px solid #088"> | <div style="width:1200px; height:300px; overflow:auto; border: 2px solid #088"> | ||
<pre> | <pre> | ||
/* Deklaration */ | /* Deklaration */ | ||
#include | #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() | void setup() { | ||
{ | US_SERVO.attach(9); // attaches the servo on pin 9 to the servo object | ||
Serial.begin(9600); // init für Serielle ausgabe | |||
Serial.begin(9600); | |||
} | } | ||
void loop() | 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 | |||
} | } | ||
Version vom 31. März 2022, 16:12 Uhr
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
Fahre genau 30 cm geradeaus.
Musterlösung
→ zurück zum Hauptartikel: Projekt Alf