
Wird der Taster gedrückt, startet der 360°-Servomotor für eine zufällige Anzahl von Millisekunden eine Bewegung im Uhrzeigersinn oder gegen den Uhrzeigersinn. Die Drehrichtung wird ebenfalls zufällig bestimmt.
So sieht es aus:

Der 360°-Servomotor erlaubt eine kontinuierliche Bewegung: Wird keine Zeit vorgegeben, dreht sich der Motor.
Er muss zwingend an einem Pin mit ⇒Pulsweitenmodulation angeschlossen werden.
Er kann sich im Uhrzeigersinn und gegen den Uhrzeigersinn drehen. Außerdem kann die Geschwindigkeit der Drehung bestimmt werden.
- 0 = maximale Geschwindigkeit im Uhrzeigersinn
- 90 = Motor anhalten
- 180 = maximale Geschwindigkeit gegen den Uhrzeigersinn
Benötigte Bauteile:
- Servomotor
- Taster
- Leitungsdrähte
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)

Benötigte Bibliothek

Das Programm:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include “Servo.h” // Name des Motors Servo Motor; // Minimum und Maximum der “Laufzeit” des Motors int Minimum = 300; int Maximum = 1500; // Pin des tasters int Taster = 7; // Variable für die Drehrichtung int Drehrichtung; void setup() { // Motor an Pin 9 Motor.attach(9); // Motor anhalten Motor.write(90); // Zufallsgenerator starten randomSeed(analogRead(A0)); // pinMode des Tasters // INPUT_PULLUP = Modus Eingabe und Eingangspegel auf HIGH setzen pinMode(Taster, INPUT_PULLUP); } void loop() { // Wert des Tasters lesen int TasterLesen = digitalRead(Taster); // Taster wurde gedrückt if (TasterLesen == LOW) { // Drehrichtung zufällig bestimmen Drehrichtung = random(0, 2); // Motor im Uhrzeigersinn drehen if (Drehrichtung == 0) Motor.write(80); // Motor gegen den Uhrzeigersinn drehen else Motor.write(100); // zufällige Anzahl von Millisekunden drehen delay(random(Minimum, Maximum)); // Motor anhalten Motor.write(90); } } |
Verwandte Anleitungen:
letzte Aktualisierung:






