DIY 37LEDルーレットゲーム
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 5 | ||||
| × | 37 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
|
アプリとオンラインサービス
> |
|
このプロジェクトについて
ルーレットは、小さな車輪を意味するフランス語の単語にちなんで名付けられたカジノゲームです。ゲームでは、プレーヤーは、単一の数字、数字のさまざまなグループ、赤または黒の色、数字が奇数か偶数か、または数字が高い(19〜36)か低い(1)のいずれかに賭けることを選択できます。 –18)。
ほとんどの場合、10個のLEDを備えたルーレットゲームのプロジェクトを見つけることができるので、元のホイールと同じように37個のLEDを使用することにしました。オリジナルのルーレットゲームの原理に従って、LEDの動きは、ランダムに生成された数で停止するまで速度が徐々に低下するボールをシミュレートします。 Arduinoマイクロコントローラーを使用することで、構造が大幅に簡素化されます。デバイスは比較的簡単に構築でき、いくつかのコンポーネントで構成されています:
-ArduinoNanoマイクロコントローラー
-74HC595シフトレジスタ5魚座
--37 LED
-NPNトランジスタ
-2つの抵抗器
-およびブザー
<図>これはヨーロッパスタイルのレイアウトであり、単一のゼロと36個の他の数字で構成されています。ボタンを押すことで、実際に仮想ボールを投げます。これにより、LEDの後続の照明によって回転がシミュレートされます。 LEDの回転には適切な効果音が伴い、ゲームにリアルな感触を与えます。回転速度と時間はコードで簡単に調整できます。
最後に、デバイスはPVCプラスチック製で、色付きの壁紙でコーティングされた適切なボックスに入れられます。
コード
- コード
コード C / C ++
int SER_Pin =8; // 75HC595のピン14intRCLK_Pin =9; // 75HC595のピン12intSRCLK_Pin =10; // 75HC595のピン11 //シフトレジスタの数-これを変更します#definenumber_of_74hc595s 5 //触れないでください#definenumOfRegisterPins number_of_74hc595s * 8boolean register [numOfRegisterPins]; int Randomwaarde; int del =5; void setup() {pinMode(SER_Pin、OUTPUT); pinMode(RCLK_Pin、OUTPUT); pinMode(SRCLK_Pin、OUTPUT); //すべてのレジスタピンをリセットしますclearRegisters(); writeRegisters(); randomSeed(analogRead(3)); Randomwaarde =random(190、210); Serial.println(Randomwaarde);} //すべてのレジスタピンをLOWに設定voidclearRegisters(){for(int i =numOfRegisterPins-1; i> =0; i-){registers [i] =LOW; }} //レジスタの設定と表示//すべての値が希望どおりに設定された後にのみ呼び出します(それ以外の場合は遅くなります)void writeRegisters(){digitalWrite(RCLK_Pin、LOW); for(int i =numOfRegisterPins-1; i> =0; i-){digitalWrite(SRCLK_Pin、LOW); int val =レジスタ[i]; digitalWrite(SER_Pin、val); digitalWrite(SRCLK_Pin、HIGH); } digitalWrite(RCLK_Pin、HIGH);} //個々のピンをHIGHまたはLOWに設定voidsetRegisterPin(int index、int value){registers [index] =value;} void loop(){for(int x =0; x <=36; x ++){if(del <=Randomwaarde){setRegisterPin(x、HIGH); writeRegisters(); delay(del); setRegisterPin(x、LOW); writeRegisters();デル=デル+1; } else {setRegisterPin(x、HIGH); writeRegisters(); delay(10000); setRegisterPin(x、LOW); writeRegisters(); del =5; }}}
回路図
製造プロセス