用 Arduino Nano 自制 37 灯珠轮盘赌游戏机
组件与物料
| Arduino Nano R3 | ×1 |
| 74HC595 移位寄存器芯片 | ×5 |
| LED 灯珠 (通用) | ×37 |
| 蜂鸣器 | ×1 |
| 通用 NPN 三极管 | ×1 |
| 轻触开关 | ×1 |
所需工具
- 电烙铁
应用与在线服务
- Arduino IDE
项目简介
轮盘赌是一种以法语“小轮子”命名的赌场游戏。玩家可押注单个数字、数字组合、红/黑、奇/偶、高 (19-36) /低 (1-18)。
常见的 DIY 轮盘赌项目只有 10 个 LED,我决定按真实轮盘制作 37 个 LED (欧洲式:单零 + 36 个数字)。原理:按下按钮“抛球”,LED 依次点亮模拟球转动,速度逐渐减慢至随机数字停下。Arduino 单片机极大简化了电路。器件简单,仅包含:
- Arduino Nano 单片机
- 74HC595 移位寄存器 ×5
- 37 颗 LED
- NPN 三极管
- 2 个电阻
- 蜂鸣器
按下按钮启动游戏,LED 依序点亮模拟旋转,配合音效增强真实感。旋转速度和时长可在代码中调整。最终装入 PVC 盒子,贴彩色壁纸装饰。
代码
Arduino 代码 (C/C++)
int SER_Pin = 8; // 74HC595 引脚 14
int RCLK_Pin = 9; // 74HC595 引脚 12
int SRCLK_Pin = 10; // 74HC595 引脚 11
#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;
}
}
}
原理图
制造工艺
- 自制LUMAZOID:基于Arduino的音乐可视化灯光控制器
- Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
- Arduino 数字骰子:LCD 显示随机点数的电子骰子
- DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
- Arduino + 模拟摇杆互动游戏:五向 LED 反馈
- 便携测距仪 DIY 套件:Arduino Nano + HC-SR04 + 18650 电池 + 3D 打印外壳
- MobBob:3D 打印智能机器人,Android 手机无缝控制,语音视觉一体
- Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
- 铜电镀智能系统:基于 Arduino UNO 的可控电解装置
- Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
- Arduino Nano 与 WS2812 灯带打造 1D 乒乓球游戏——分步 DIY 教程
- LED 光影塔:可编程 RGB 圆柱体艺术装置