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: |