Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

DIY 37 LED Roulette Game

Componentes e suprimentos

Arduino Nano R3
× 1
74HC595 shift register IC
× 5
LED (genérico)
× 37
Buzzer
× 1
Transistor de uso geral NPN
× 1
Botão de pressão, momentâneo
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto


Roleta é um jogo de cassino que leva o nome da palavra francesa que significa roda pequena. No jogo, os jogadores podem escolher fazer apostas em um único número, vários grupos de números, as cores vermelho ou preto, se o número é ímpar ou par, ou se os números são altos (19-36) ou baixos (1 –18).

Na maioria das vezes você pode encontrar um projeto de um jogo de roleta com 10 LEDs, então decidi fazer com 37 LEDs como na roda original. Seguindo o princípio do jogo Roleta original, o movimento do LED simula uma bola cuja velocidade diminui gradativamente até parar em um número gerado aleatoriamente. A construção é bastante simplificada com o uso de um microcontrolador Arduino. O dispositivo é relativamente simples de construir e consiste em alguns componentes:

- Microcontrolador Arduino Nano

- 74HC595 shift register 5 pisces

- 37 leds

- transistor NPN

- 2 resistores

- e campainha

Este é o layout de estilo europeu e consiste em um único zero e 36 outros números. Ao premir o botão, lançamos de facto a bola virtual, onde a rotação é simulada pela subsequente iluminação dos LEDs. A rotação dos LEDs é acompanhada por um efeito sonoro apropriado, que dá uma sensação realista ao jogo. A velocidade de rotação, bem como o tempo, podem ser facilmente ajustados no código.

Por fim, o dispositivo é colocado em uma caixa adequada de plástico PVC e revestida com papel de parede colorido.

Código

  • Código
Código C / C ++
 int SER_Pin =8; // pino 14 no 75HC595int RCLK_Pin =9; // pino 12 no 75HC595int SRCLK_Pin =10; // pino 11 no 75HC595 // Quantos dos registradores de deslocamento - altere isso # define number_of_74hc595s 5 // não toque em # define numOfRegisterPins number_of_74hc595s * 8boolean registradores [numOfRegisterPins]; int Randomwaarde; int del =5; configuração void () {pinMode (SER_Pin, OUTPUT); pinMode (RCLK_Pin, OUTPUT); pinMode (SRCLK_Pin, OUTPUT); // redefine todos os pinos de registro clearRegisters (); writeRegisters (); randomSeed (analogRead (3)); Randomwaarde =aleatório (190, 210); Serial.println (Randomwaarde);} // definir todos os pinos de registro para LOWvoid clearRegisters () {for (int i =numOfRegisterPins - 1; i> =0; i -) {registradores [i] =LOW; }} // Definir e exibir registradores // Chame apenas APÓS todos os valores serem definidos como você gostaria (lento, caso contrário) void writeRegisters () {digitalWrite (RCLK_Pin, LOW); para (int i =numOfRegisterPins - 1; i> =0; i -) {digitalWrite (SRCLK_Pin, LOW); int val =registradores [i]; digitalWrite (SER_Pin, val); digitalWrite (SRCLK_Pin, HIGH); } digitalWrite (RCLK_Pin, HIGH);} // define um pino individual HIGH ou LOWvoid setRegisterPin (índice interno, valor interno) {registradores [índice] =valor;} void loop () {para (int x =0; x <=36; x ++) {if (del <=Randomwaarde) {setRegisterPin (x, HIGH); writeRegisters (); atraso (del); setRegisterPin (x, LOW); writeRegisters (); del =del +1; } else {setRegisterPin (x, HIGH); writeRegisters (); atraso (10000); setRegisterPin (x, LOW); writeRegisters (); del =5; }}} 

Esquemas


Processo de manufatura

  1. DIY LUMAZOID Arduino Music Visualiser
  2. Jogo Arduino Gyroscope com MPU-6050
  3. Dados digitais Arduino
  4. Controlador de jogo Arduino
  5. Joystick Game
  6. Detector de alcance portátil
  7. MobBob:DIY Arduino Robot Controlado por Smartphone Android
  8. Jogo Pixel Chaser
  9. Galvanoplastia com cobre
  10. NeoMatrix Arduino Pong