Construa Seu Próprio Jogo de Roleta com 37 LEDs e Arduino Nano
Componentes e Materiais
- Arduino Nano R3 (1 unidade)
- CI Registrador de Deslocamento 74HC595 (5 unidades)
- LED genérico (37 unidades)
- Buzzer (1 unidade)
- Transistor NPN de uso geral (1 unidade)
- Chave Pushbutton Momentânea (1 unidade)
Ferramentas Necessárias
- Ferro de solda genérico
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
Roleta é um jogo de cassino nomeado após a palavra francesa que significa "pequena roda". Os jogadores apostam em um único número, agrupamentos, cores vermelho/preto, par/ímpar, ou números altos (19-36) ou baixos (1-18).
A maioria dos projetos de roleta usa 10 LEDs, mas decidi fazer com 37 LEDs como na roda original. Seguindo o princípio da roleta real, o movimento do LED simula uma bola cuja velocidade diminui gradualmente até parar em um número aleatório. A construção é muito simplificada com o uso de um microcontrolador Arduino.
O dispositivo é relativamente simples e consiste em poucos componentes:
- Microcontrolador Arduino Nano
- 5 Registradores de deslocamento 74HC595
- 37 LEDs
- Transistor NPN
- 2 Resistores
- Buzzer

Este é o layout estilo europeu com um único zero e 36 outros números. Ao pressionar o botão, lançamos a bola virtual, simulando a rotação pela iluminação sequencial dos LEDs. A rotação é acompanhada por efeito sonoro realista. Velocidade e tempo de rotação são facilmente ajustáveis no código.
O dispositivo final foi colocado em uma caixa de PVC adequada e revestida com papel de parede colorido.
Código
Código (C/C++)
int SER_Pin = 8; // pino 14 no 74HC595
int RCLK_Pin = 9; // pino 12 no 74HC595
int SRCLK_Pin = 10; // pino 11 no 74HC595
#define number_of_74hc595s 5
#define numOfRegisterPins number_of_74hc595s * 8
boolean registers[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);
}
void clearRegisters() {
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 = registers[i];
digitalWrite(SER_Pin, val);
digitalWrite(SRCLK_Pin, HIGH);
}
digitalWrite(RCLK_Pin, HIGH);
}
void setRegisterPin(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();
del = del + 1;
} else {
setRegisterPin(x, HIGH);
writeRegisters();
delay(10000);
setRegisterPin(x, LOW);
writeRegisters();
del = 5;
}
}
}
Esquemático
Diagrama de conexões disponível na imagem do projeto original.
Processo de manufatura
- Construa Seu Próprio LUMAZOID: Visualizador de Música DIY com Arduino
- Construa um Jogo em Tempo Real com Giroscópio: Arduino Nano + Sensor MPU-6050
- Dados Digital com Arduino: Gere Números Aleatórios 1-6 em LCD 16x2
- Controle USB para Jogos DIY com Arduino – Construa Seu Próprio Gamepad de Alto Desempenho
- Jogo Interativo com Joystick e Arduino – Feedback com LEDs
- Detector de Alcance Portátil – Kit DIY Arduino Nano com HC-SR04, Bateria 18650 e Gabinete 3D
- MobBob: Construa Seu Próprio Robô Arduino, Controlado via Smartphone Android
- Pixel Chaser: Jogo LED Interativo de Um Toque com Arduino Nano
- Projeto de Galvanoplastia de Cobre: Construa um Sistema Inteligente com Arduino UNO
- Jogo Pong Neon em Matriz NeoPixel com Arduino Nano