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

Arduino UNO + LCD 制作《卡坦岛》电子骰子

元件与材料

Arduino UNO×1
Adafruit 标准 LCD - 16x2 白字蓝底×1
按键开关 12mm (SparkFun)×1

项目步骤

搭建 LCD 显示屏

按标准方式接线 LCD,不熟悉可参考官方教程。

Arduino UNO + LCD 制作《卡坦岛》电子骰子

添加按键

接一个按键用于摇骰子,也可用倾斜传感器模拟摇骰动作。

编写代码与初始界面

引入 LiquidCrystal 库。setup() 中设置开机显示 "Roll the dice!",可自定义。

Arduino UNO + LCD 制作《卡坦岛》电子骰子

营造悬念动画

编写 buildUp() 函数,按键按下时在两行 16 字符位置快速滚动随机数 (1-6),延迟从 220ms 递减至 0,模拟骰子滚动停止过程。可根据屏幕尺寸调整循环次数和延迟递减值。

Arduino UNO + LCD 制作《卡坦岛》电子骰子

显示骰子点数

用 setCursor 将两个骰子点数分别显示在两行中央,位置可自行调整。

Arduino UNO + LCD 制作《卡坦岛》电子骰子

“强盗”特殊规则

《卡坦岛》中掷出 7 点触发强盗。代码中加入判断:若两骰子之和为 7,清屏显示 "7" 及 "The Robber" 提醒玩家计算手牌。其他游戏可删除或修改该逻辑。

享受游戏

邀请好友畅玩《卡坦岛》!

完整代码

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int diceButton = 10;
int reply;
int count = 0;
long diceOne;
long diceTwo;

void setup() {
  lcd.begin(16, 2);
  pinMode(diceButton, INPUT);
  randomSeed(analogRead(0));
  lcd.setCursor(1, 0);
  lcd.print("Roll the dice!");
}

void buildUp() {
  lcd.clear();
  int countDelay = 220;
  int setColumn = 0;
  for (count = 0; count <= 16; count++) {
    lcd.setCursor(setColumn, 0);
    lcd.print(random(1, 7));
    lcd.setCursor(setColumn, 1);
    lcd.print(random(1, 7));
    delay(countDelay);
    countDelay -= 13;
    setColumn += 1;
  }
}

void loop() {
  diceButton = digitalRead(10);
  diceOne = random(1, 7);
  diceTwo = random(1, 7);
  if (diceButton == HIGH) {
    buildUp();
    lcd.clear();
    lcd.setCursor(7, 0);
    lcd.print(diceOne);
    lcd.setCursor(7, 1);
    lcd.print(diceTwo);
    if (diceOne + diceTwo == 7) {
      lcd.clear();
      lcd.setCursor(7, 0);
      lcd.print("7");
      lcd.setCursor(3, 1);
      lcd.print("The Robber");
    }
  }
}

制造工艺

  1. 骰子的历史、设计与制造:从古代工具到现代游戏
  2. 液晶显示器(LCD):技术、制造与未来展望
  3. Primal Display:树莓派 LCD 温度监测仪
  4. Kuman 3.5″ TFT 显示屏在 RetroPie 上安装全步骤指南
  5. Arduino 数字骰子:LCD 显示随机点数的电子骰子
  6. 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
  7. 使用4511七段解码器:实用BCD显示教程
  8. 显示管:从 CRT 到猫眼指示器
  9. 高级频谱分析:解读波形与谐波
  10. 掌握 C# 方法重载:核心概念、实战示例与最佳实践
  11. 理解Verilog任务:函数vs任务、语法与用法全解析
  12. 掌握 Verilog 显示任务:高效调试与日志记录