Nachdem der Würfel beim Spieleabend so gut ankam, sollte ich auch noch ein LED Roulett bauen. Klar kein Problem, zumindest mit einem Arduino. Ich habe früher mal einen Bausatz mit eine Roulett gehabt. Mehrere ICs und ein "gelöte", dass es nicht mehr schön ist. Zum Glück reicht für den Spieleabend ein ganz einfach Roulett mit 10 LEDs.
Für den Fall, dass das Spiel erweitert werden soll, habe ich einen analogen Eingang verwendet. So können zumindest noch zwei und über den Schieberegister dann noch viel mehr LEDs an das Roulett angeschlossen werden.
Damit es auch wirklich ein Zufallsgenerator ist, ist A2 als Eingang für randomSeed definiert. Da hier immer eine kleine Spannungsänderung vorhanden ist, kommt immer eine andere Zahl heraus.
Roulette Code:
//www.kreativekiste.de
//roulette Code für arduino uno
#define zeit 30 // Blinkgeschwindigkeit
#define stopp 10
#define start 500 // Programm Start
int pin [] = {3,4,5,6,7,8,9,10,11,12}; // LED Pin Ausgänge
int tasterPin = 0, tasterWert = 0; // Taster Pin
int letzteZahl = 1;
void setup () {
randomSeed(analogRead(2));
for(int i = 0; i <10; i++)
pinMode(pin[i], OUTPUT);
}void loop(){
if(analogRead(tasterPin) > start) // Taster auslesen
gameStart(random(1,stopp));
}void gameStart(int zahl){ // roulette Start
digitalWrite(letzteZahl + 1,LOW);
letzteZahl = zahl;
int k = 1;
for(int i = 0; i < 6; i++){
if(i > 2) k++;
for(int j = 0; j < 10; j++){
digitalWrite(pin[j], HIGH);
if((i == 5)&&(j + 1 == zahl)) break;
delay(zeit * k);
digitalWrite(pin[j], LOW);
}
}
} // Ende und Neustart