Ein Glücksrad kennst du bestimmt von Jahrmärkten, feiern beim Sportverein oder Veranstaltungen in der Schule. Ein solches Glücksrad kann mit dem Arduino ganz toll selber nachgebaut werden. Über ein Mikrofonmodul, wird das Glücksrad gestartet und dreht sich dann über einen Zufallsgenerator länger oder kürzer.
Für dieses Projekt benötigst du neben dem Arduino UNO, einem KY-037 Modul noch einen 28BYJ-48 + ULN2003 Schrittmotor mit Treiber. Dieser benötigt nur 5 Volt und hat eine so geringe Stromaufnahme damit er direkt an den Arduino angeschlossen werden kann. Somit musst du nur 4 Kabel für den Motor und zwei Kabel für die Spannungsversorgung mit dem Arduino verbinden.
Anschluss Arduino Glücksrad
- Der das KY-037 Mikrofonmodul --> Analog Read 0
- Der Stepper wird mit folgenden PINs mit dem Arduino verbunden
- IN1 - Pin 8
- IN2 - Pin 9
- IN3 - Pin 10
- IN4 - Pin 11
Software mit Ardublock für das Glücksrad
Nach dem Setup für den Stepper Motor, wird zuerst das KY-037 Modul am analog In 0 abgefragt. Ist dieser größer als 100 wird der Stepper langsam gestartet und dann für die in der Variablen Zufall hinterlegten Schritte gedreht. Nachdem alle Schritt gedreht sind, wird der Stepper wieder langsam auf Stopp gefahren.
Gestell für das Glücksrad basteln
Ich habe die Grundplatte mit dem Lasercutter gemacht, natürlich geht hier auch eine Pappe oder ähnliches. In der Vorlage ist der Pfeil für die Mitte gleich die Drehrichtung, wer das nicht möchte muss den Pfeil weiter nach oben machen. Zwei 10mm Rundhölzer geben dem Glücksrad Stabilität und eine kleine Schräge.
Wer nicht mit Ardublock arbeiten möchte für den gibt es hier noch den Arduino Code:
#include <Stepper.h>
//Glücksrad
//www.kreativekiste.de
Stepper stepper1(64, 8, 9, 10, 11);
int rampe = 50;
int zufall = 0;
void setup() {
}
void loop() {
if (( analogRead(0) > 150 )) {
rampe = 50;
for (int i = 0; i < 550; i++) {
rampe = ( rampe + 1 );
stepper1.setSpeed(rampe);
stepper1.step(5);
}
zufall = random( 3000 , 9000 );
stepper1.setSpeed(rampe);
stepper1.step(zufall);
for (int i = 0; i < 600; i++) {
rampe = ( rampe - 1 );
stepper1.setSpeed(rampe);
stepper1.step(5);
}
}
}