Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

DIY 37 LED Roulette Game

Componenten en benodigdheden

Arduino Nano R3
× 1
74HC595 schuifregister-IC
× 5
LED (generiek)
× 37
Zoemer
× 1
Transistor-NPN voor algemeen gebruik
× 1
Drukknop, tijdelijk
× 1

Benodigde gereedschappen en machines

Soldeerbout (algemeen)

Apps en online services

Arduino IDE

Over dit project

Roulette is een casinospel vernoemd naar het Franse woord dat wieltje betekent. In het spel kunnen spelers ervoor kiezen om in te zetten op een enkel nummer, verschillende groeperingen van nummers, de kleuren rood of zwart, of het nummer even of oneven is, of dat de nummers hoog (19-36) of laag zijn (1 –18).

Meestal kun je een project van een roulettespel met 10 LED's vinden, dus ik besloot het met 37 LED's te doen zoals in het originele wiel. Volgens het principe van het originele roulettespel simuleert de beweging van de LED een bal waarvan de snelheid geleidelijk afneemt tot hij stopt bij een willekeurig gegenereerd getal. De constructie wordt sterk vereenvoudigd door het gebruik van een Arduino-microcontroller. Apparaat is relatief eenvoudig te bouwen en bestaat uit weinig componenten:

- Arduino Nano-microcontroller

- 74HC595 schuifregister 5 vissen

- 37 leds

- NPN-transistor

- 2 Weerstanden

- en zoemer

Dit is de lay-out in Europese stijl en bestaat uit een enkele nul en 36 andere cijfers. Door op de knop te drukken gooien we daadwerkelijk de virtuele bal, waarbij de rotatie wordt gesimuleerd door de daaropvolgende verlichting van de LED's. De rotatie van de LED's gaat gepaard met een passend geluidseffect, wat een realistisch gevoel aan het spel geeft. Zowel rotatiesnelheid als tijd kunnen eenvoudig in de code worden aangepast.

Ten slotte wordt het apparaat in een geschikte doos van PVC-plastic geplaatst en bedekt met gekleurd behang.

Code

  • Code
CodeC/C++
int SER_Pin =8; //pin 14 op de 75HC595int RCLK_Pin =9; //pin 12 op de 75HC595int SRCLK_Pin =10; //pin 11 op de 75HC595//Hoeveel van de schuifregisters - verander dit#define number_of_74hc595s 5//do not touch#define numOfRegisterPins number_of_74hc595s * 8boolean registers[numOfRegisterPins];int Randomwaarde;int del =5;void setup() { pinMode (SER_Pin, OUTPUT); pinMode (RCLK_Pin, UITGANG); pinMode (SRCLK_Pin, OUTPUT); // reset alle registerpinnen clearRegisters (); schrijfRegisters(); randomSeed(analogRead (3)); Willekeurige waarde =willekeurig(190, 210); Serial.println (Randomwaarde);} // zet alle registerpinnen op LOWvoid clearRegisters(){ for(int i =numOfRegisterPins - 1; i>=0; i--){ registers[i] =LOW; }}//Registers instellen en weergeven//Alleen bellen NADAT alle waarden zijn ingesteld zoals u wilt (anders langzaam) nietig schrijvenRegisters(){ digitalWrite(RCLK_Pin, LOW); for(int i =numOfRegisterPins - 1; i>=0; i--){digitalWrite(SRCLK_Pin, LOW); int val =registers[i]; digitalWrite(SER_Pin, waarde); digitalWrite (SRCLK_Pin, HOOG); } digitalWrite(RCLK_Pin, HIGH);}//stel een individuele pin HIGH of LOW invoid setRegisterPin(int index, int value){ registers[index] =value;}void loop(){ for (int x=0; x<=36; x++) {if (del <=Randomwaarde) { setRegisterPin(x, HIGH); schrijfRegisters(); vertraging (del); setRegisterPin(x, LAAG); schrijfRegisters(); del =del +1; } else { setRegisterPin(x, HOOG); schrijfRegisters(); vertraging (10000); setRegisterPin(x, LAAG); schrijfRegisters(); del =5; } }}

Schema's


Productieproces

  1. DIY LUMAZOID Arduino Music Visualiser
  2. Arduino-gyroscoopspel met MPU-6050
  3. Arduino digitale dobbelstenen
  4. Arduino-gamecontroller
  5. Joystick-spel
  6. Draagbare afstandsdetector
  7. MobBob:doe-het-zelf Arduino-robot bestuurd door Android-smartphone
  8. Pixel Chaser-game
  9. galvaniseren met koper
  10. NeoMatrix Arduino Pong
  11. DIY Arduino 1D Pong-spel met WS2812 LED-strip