使用Nano V3微控制器、一个按钮和两个LED矩阵显示器创建一个交互式电子骰子
扫描二维码
随时随地手机看文章
欢迎来到这个令人兴奋的Arduino项目,我们将使用Nano V3微控制器,按钮和两个LED矩阵显示器创建一个交互式电子骰子。当按下按钮时,LED矩阵将通过显示动画模拟掷骰子,然后显示随机的骰子面。这个项目是一个有趣的方式潜入编程微控制器和工作与LED显示器。
步骤1:连接图
按钮连接到D2和GND,按下时拉低。第二个LED矩阵是菊花链。
ArduinoCode
你需要安装“LedControl”库。为此,打开Arduino IDE并转到库管理器。搜索“LedControl”(byEberhardFahle)并安装。
代码是如何工作的
库包含和初始化
包括“LedControl”库来控制LED矩阵。
●初始化一个“LedControl”对象“lc”,其数据(“DIN”)、时钟(“CLK”)和芯片选择(“CS”)引脚分别连接到Arduino的引脚12、11和10。
●指定有2个器件(LED矩阵)菊状连接在一起。
定义骰子面模式
●创建一个二维数组“骰子”,保存一个骰子的六个面的位图模式。
●每个面是一个8字节数组,代表8x8 LED矩阵模式。
按钮的设置
●设置按钮连接到数字引脚2。
●初始化按钮状态变量和debounce功能,以处理机械开关弹跳
设置函数
•从关闭模式唤醒两个LED矩阵。
•将亮度设置为中等。
•清除矩阵上的任何先前显示。
•种子随机数生成器生成随机骰子值。
•配置带有内部上拉电阻的按钮引脚。
•读取按钮的初始状态。
显示骰子面
●辅助功能,获取骰子面模式并在指定的LED矩阵上显示。
动画功能
●通过在LED矩阵上显示随机图案来创建滚动骰子动画,持续一秒钟。
●在显示最终结果之前,通过模拟滚动效果来增强用户体验。
主循环
●连续检查按钮状态并关机。
●检测到按钮按下时:
〇调用“animate()”函数来显示滚动动画。
〇为骰子值生成1 ~ 6之间的两个随机数。
〇使用displayDieFace()函数在每个LED矩阵上显示对应的骰子面
本文编译自hackster.io