首先,我们需要了解随机数生成。
Arduino 库包含一个用于创建随机数的函数。随机函数有两种风格。它可以采用两个参数(最小值和最大值)或一个参数(最大值),在这种情况下,最小值假定为 0。但是请注意,因为最大参数具有误导性,因为您实际可以返回的最大值是最大值减一,例如计算 1 到 7 之间的随机数将给出 1 到 6 之间的输出。
这个项目使用我们刚刚学到的关于随机数的知识来创建带有六个 LED 和一个按钮的电子骰子。每次按下按钮时,LED 会“滚动”一段时间,然后确定一个值然后闪烁。
给出了它的示意图。每个 LED 由一个单独的数字输出通过一个限流电阻驱动。唯一的其他组件是开关及其相关的下拉电阻。即使一个骰子最多只能有六个点,我们仍然需要七个 LED 才能在奇数卷的中间有一个点的正常排列。
1)按照原理图所示连接 LED。LED 的引脚为 {2,3,4,5,6,7,8}。按钮 (SwitchPin) 连接到引脚 8。由于所有 LED 看起来都一样,我更改了电线颜色以显示不同之处。红色表示+Vcc。黑色显示 GND。橙色、黄色、绿色和蓝色显示各自的 LED。
2)软件:这个草图相当简单;有一些不错的细节使骰子的行为方式与真实骰子相似。例如,随着骰子的滚动,数字会发生变化,但会逐渐变慢。掷骰子的时间长度也是随机的。
3)我们现在有七个 LED 需要在设置方法中初始化,所以值得将它们放在一个数组中并循环遍历该数组以初始化每个引脚。我们还在设置方法中调用了。randomSeed
如果不存在,每次我们重置棋盘时,我们都会以相同的掷骰顺序结束。
4)该dicePatterns
阵列确定对于任何特定的投掷应该打开或关闭哪些 LED。因此数组的每个 throw 元素实际上本身就是一个包含七个元素的数组,每个元素要么是 HIGH 要么是 LOW(1 或 0)。当我们开始显示掷骰子的特定结果时,我们可以循环遍历数组以相应地设置每个 LED。
5)从 IDE 中将草图加载到 Board 中。按下按钮将开始掷骰子。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !