AlphaBot: Verzweigung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 9: | Zeile 9: | ||
== Quelltext == | == Quelltext == | ||
* <code> | * <code>E24_Servo_Knop</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"> | ||
Zeile 17: | Zeile 17: | ||
#include <Servo.h> | #include <Servo.h> | ||
Servo US_SERVO; // | Servo US_SERVO; // Erzeugt ein Servo Objekt, um diesen nachfolgend anzusteuern | ||
int potpin = 0; // analog pin used to connect the potentiometer | int potpin = 0; // analog pin used to connect the potentiometer | ||
Zeile 49: | Zeile 49: | ||
--> | --> | ||
== Hausaufgaben bis zum 4. Termin == | == 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? | Schaut Euch die Ansteuerung Eures Servos noch einmal an. Könnt Ihr den Ultraschall von ganz links bis ganz rechts drehen? |
Version vom 7. April 2022, 14:04 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
E24_Servo_Knop
/* Deklaration */ #include <Servo.h> Servo US_SERVO; // Erzeugt ein Servo Objekt, um diesen nachfolgend anzusteuern 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