本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

自制随机数模拟器

发布时间:2022-01-04
分享到:

自制随机数模拟器

发布时间:2022-01-04
分享到:

这次的项目名字叫随机数模拟器,可以为彩票或其他应用程序创建一系列伪随机数。

1) 简介
我自己为 Arduino 完成的第一个项目是伪随机数生成器。

这对初学者很有好处,因为使用基本的 Arduino 功能,逻辑/代码非常简单。

但在这种情况下,随机序列中的某些数字可以重复,例如,这适用于骰子游戏,但不适用于彩票。

对于这个升级版本,我引入了一些新功能,例如改组和排序例程。

现在可以设置号码范围(从1到99 )以及一组不重复的开奖号码(从1到10 )。

它是一个完整的(非重复)伪随机数生成器,非常容易组装和配置,可用于其他应用程序!

2) 材料清单

  • Arduino UNO R3
  • LCD 键盘屏蔽

3) 打乱顺序
该项目的主要特点是模拟从盒子中取出编号球的过程的洗牌程序。

从盒子中随机取出一个球,并根据需要重复该过程多次以完成抽奖号码序列。

我喜欢使用“字符串”,因为有一些有趣的函数可以用来操作它们。

这些功能简化了编码并加快了开发过程。

这个项目最重要的函数是string.remove,因为它模拟了在一个盒子里取出球的动作:

参数
index: unsigned int 类型的变量

count: unsigned int 类型的变量

4) 排序
排序例程对于按新月顺序组织一组开奖号码很重要。

此例程扫描所有数字并选择其中的小数。这个号码被删除并放在另一个列表中。重复扫描过程,直到原始列表中没有剩余数字为止。

过程类似于shuffle,只不过这次去掉的数字不是随机选择的。

5) 操作
使用板子的键盘操作非常简单。

  • UP按钮: 将开奖号码范围增加 1(最大为 99 )。
  • DOWN 键: 开奖号码范围减1(最小为1 )。
  • 右按钮: 将开奖号码增加 1(最大为 10 )。
  • LEFT 按钮: 将开奖号码减 1(最小为 1 )。
  • SELECT 按钮: 生成开奖号码。

在设置期间,LCD 会显示有关总 ( TOT ) 范围和开奖号码集 ( DRAW ) 的信息。

后SELECT按钮被按下,抽奖号码后会出现一系列重复的LCD上进行排序,从而导致结果之前一定的悬念。

如果您对此项目有任何想法、意见或问题,请在下方留言。

原文链接丨以上内容来源网络,如涉及侵权可联系删除。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论