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. Der Zeiger bleibt auf einem der farbigen Felder stehen Die Drehrichtung wird zufällig bestimmt.
Inhalt
Der 360 Grad Servo-Motor
Der 360°-Servomotor erlaubt eine kontinuierliche Bewegung: Wird keine Zeit für die Dauer der Drehung 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 180 = maximale Geschwindigkeit gegen den Uhrzeigersinn. 90 = Motor anhalten Die Zwischenwerte regulieren die Drehrichtung und die Geschwindigkeit.
// eingebaute Bibliothek einbinden
# 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;
Der setup-Teil
void setup()
{
// Motor an Pin 9
Motor.attach(9);
// Motor anhalten
Motor.write(90);
// Zufallsgenerator starten
randomSeed(analogRead(0));
// INPUT_PULLUP: Taster als Eingang definieren, Eingang auf HIGH setzen
pinMode(Taster, INPUT_PULLUP);
}
Der loop-Teil
void loop()
{
// Status des Tasters abfragen
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);
}
}
Vorlage für das Glücksrad
Funduino - Dein Onlineshop für Mikroelektronik
Dauerhaft bis zu 10% Rabatt für Schüler, Studenten und Lehrkräfte
Mehr als 3.500 Artikel sofort verfügbar!
Über 8 Jahre Erfahrung mit Arduino, 3D-Druck und co.