
Wenn der Taster gedrückt wird, soll der Servomotor auf eine zufällige Position fahren. Der Zeiger bleibt dann auf einem der farbigen Felder stehen.
So sieht es aus:
⇒Alternative mit farbigen LEDs


Lege den Motor auf die Seite und befestige das ⇒Glücksrad und den Zeiger am Motor.
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

Binde die Bibliothek Servo.h ein und definiere die Variablen.
1 2 3 4 5 6 7 8 | #include “Servo.h” // Bezeichnung des Motors Servo Motor; int Position; int TASTER = 7; int TasterLesen; |
Im setup-Teil wird neben der Definition des Tasters und und dem Start des Zufallsgenerator auch der Motor auf die 180°-Position (nach links) gefahren. Du musst den Motor und das Glücksrad so positionieren, dass der Zeiger links steht.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | void setup() { /* pinMode des Tasters setzen INPUT = Modus Eingabe INPUT_PULLUP = Modus Eingabe und Eingangspegel auf HIGH setzen */ pinMode(TASTER, INPUT_PULLUP); // Pin 9 dem Motor zuordnen Motor.attach(9); // Zufallsgenerator starten randomSeed(A0); // Motor nach links fahren Motor.write(180); } |
Im loop-Teil wird auf Tasterdruck eine Zufallszahl zwischen 5 und 175 bestimmt und der Motor wird zu dieser Position gefahren.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | void loop() { TasterLesen = digitalRead(TASTER); if (TasterLesen == LOW) { delay(500); int Minimum = 5; int Maximum = 175; // Zufallszahl ermitteln int Position = random(Minimum, Maximum); // Motor zur Zufallsposition fahren Motor.write(Position); delay(500); } } |

Schließe einen Lautsprecher an und ergänze das Programm:
Wenn der Zeiger im blauen Feld stehen bleibt, soll eine Tonfolge wiedergegeben werden.
Ergänze im Kopf des Programms:
1 | int LAUTSPRECHER = 6; |
Füge im loop-Teil hinzu:
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 | void loop() { TasterLesen = digitalRead(TASTER); if (TasterLesen == LOW) { delay(500); int Minimum = 5; int Maximum = 175; int Position = random(Minimum, Maximum); Motor.write(Position); delay(500); <strong>// diesen Teil einfügen if (Position > 45 && Position < 90) { // Frequenzbereich 1000 bis 2000 for (int i = 1000; i <= 2000; i += 100) { tone(LAUTSPRECHER, i); delay(100); noTone(LAUTSPRECHER); } for (int i = 2000; i > 1000; i -= 100) { tone(LAUTSPRECHER, i); delay(100); noTone(LAUTSPRECHER); } } // Ende des eingefügten Teils } } |
Du kannst auch andere Frequenzbereiche verwenden.
Verwandte Anleitungen:
- Glücksrad mit 360°-Servomotor
- Glücksrad mit NeoPixel-Ring
- Glücksrad mit Schrittmotor
- Servomotor mit einem Potentiometer steuern
- Türöffner mit einem RFID-Modul und Servomotor
Letzte Aktualisierung:






