亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

用 Arduino Nano 自制 37 灯珠轮盘赌游戏机

组件与物料

Arduino Nano R3 ×1
74HC595 移位寄存器芯片 ×5
LED 灯珠 (通用) ×37
蜂鸣器 ×1
通用 NPN 三极管 ×1
轻触开关 ×1

所需工具

应用与在线服务

项目简介

轮盘赌是一种以法语“小轮子”命名的赌场游戏。玩家可押注单个数字、数字组合、红/黑、奇/偶、高 (19-36) /低 (1-18)。

常见的 DIY 轮盘赌项目只有 10 个 LED,我决定按真实轮盘制作 37 个 LED (欧洲式:单零 + 36 个数字)。原理:按下按钮“抛球”,LED 依次点亮模拟球转动,速度逐渐减慢至随机数字停下。Arduino 单片机极大简化了电路。器件简单,仅包含:

用 Arduino Nano 自制 37 灯珠轮盘赌游戏机

按下按钮启动游戏,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;
    }
  }
}

原理图

用 Arduino Nano 自制 37 灯珠轮盘赌游戏机

制造工艺

  1. 自制LUMAZOID:基于Arduino的音乐可视化灯光控制器
  2. Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
  3. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  4. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  5. Arduino + 模拟摇杆互动游戏:五向 LED 反馈
  6. 便携测距仪 DIY 套件:Arduino Nano + HC-SR04 + 18650 电池 + 3D 打印外壳
  7. MobBob:3D 打印智能机器人,Android 手机无缝控制,语音视觉一体
  8. Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
  9. 铜电镀智能系统:基于 Arduino UNO 的可控电解装置
  10. Arduino Nano 驱动 NeoPixel 矩阵:自制霓虹乒乓游戏
  11. Arduino Nano 与 WS2812 灯带打造 1D 乒乓球游戏——分步 DIY 教程
  12. LED 光影塔:可编程 RGB 圆柱体艺术装置