
Arduino と抵抗(1kΩ茶黒赤金, 11本)とスイッチを用意し図のように配線します。 できればLEDを円形に並べるとルーレットの雰囲気が出ます。
このプログラムを実行している間にスイッチを押すと電子ルーレットがスタートします。 毎回違うところに止まります。
このプログラムは大きく分けると5つに分かれています。
ここでrand()は-32768から32767の間の乱数を返す関数です。 「%」は左の式を右の式で割ったときのあまりを計算する記号です この二つを組み合わせてrand() % 10により0から9の乱数を作っています(10で割ったあまりは0(あまりなし)から9までだから)。 これに3を足すことで3から12の乱数になります。
for(i=3; i<=12; i=i+1) {
pinMode(i, OUTPUT);
}
for(;;) {
while(digitalRead(2)==HIGH) {
delay(10);
}
digitalWrite(i, LOW);
c = (rand() % 10) + 3;
for(i=0; i<=20+c; i=i+1) {
digitalWrite(((i%10)+3), HIGH);
delay(200);
digitalWrite(((i%10)+3), LOW);
delay(200);
}
i = i - 1;
digitalWrite(i, HIGH);
delay(100);
digitalWrite(i, LOW);
delay(100);
digitalWrite(i, HIGH);
delay(100);
digitalWrite(i, LOW);
delay(100);
digitalWrite(i, HIGH);
}