meta data for this page
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
| uebung:itt11:servo_ansteuern [2023/01/21 13:08] – angelegt juergenhaas | uebung:itt11:servo_ansteuern [2024/01/02 16:45] (aktuell) – juergenhaas | ||
|---|---|---|---|
| Zeile 3: | Zeile 3: | ||
| [[uebung: | [[uebung: | ||
| + | Eine Grafik für die Anschlussbelegung eines Servos mit **Graupner-Stecker** findest du bei {{https:// | ||
| <code cpp Servo_mit_Serial.ino> | <code cpp Servo_mit_Serial.ino> | ||
| + | /* | ||
| + | * Servo-Beispiel für ESP8266 | ||
| + | * Servo: | ||
| + | * PWM | D8 | ||
| + | * VCC | 5V | ||
| + | * GND | GND | ||
| + | * Belegung siehe auch https:// | ||
| + | | ||
| + | * Durch die Eingabe eines Zahlenwertes von 0 bis 180 in die serielle Konsole | ||
| + | * kann die Stellung des Servos vorgegeben werden. | ||
| + | */ | ||
| + | #include < | ||
| + | Servo servo; | ||
| + | int oldpos = 0; | ||
| + | int newpos = 0; | ||
| + | |||
| + | #define SERVO D8 // Servo an Pin D8 | ||
| + | |||
| + | |||
| + | void setup() { | ||
| + | servo.attach(SERVO, | ||
| + | Serial.begin(115200); | ||
| + | servo.write(newpos); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // Eingabe lesen | ||
| + | String s = Serial.readString(); | ||
| + | if (s != "" | ||
| + | { | ||
| + | // Eingabe zur neuen Soll-Position erklären, wenn sie nicht leer und im zulässigen Bereich ist | ||
| + | Serial.println(s); | ||
| + | int n = s.toInt(); | ||
| + | if ( n >= 0 && n <= 180) | ||
| + | { | ||
| + | newpos = n; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // nur ansteuern, wenn sich die Position verändert hat | ||
| + | if (newpos != oldpos) | ||
| + | { | ||
| + | oldpos = newpos; | ||
| + | servo.write(newpos); | ||
| + | } | ||
| + | } | ||
| </ | </ | ||
| + | [[uebung: | ||