Mixly两位随机数由数码管显示-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 870|回复: 2

[已解决] Mixly两位随机数由数码管显示

[复制链接]
发表于 2021-12-26 04:36 | 显示全部楼层 |阅读模式
本帖最后由 topdog 于 2021-12-26 12:40 编辑

Mixly编程NANO实现,1到41产生随机数,由两个数码管显示。Mixly下载地址。 下载以后安装。

共阳数码管:
共阳极接3.3v或者5v,abcdefg分别接入NANO的管脚,管脚输出低电平时数码管对应的管段点亮,管脚输出高电平时数码管对应的管段熄灭。

共阴8字改好.jpg

下图为显示个位数字的数码管接线图。
Nixie_tube.JPG


由这个特性,得出数字0~9的共阳极数码管真值表。8段数码管,我们只用7段,还有显示小数点的dp不用。

共阳真值表.JPG

一个数码管显示个位数字,一个数码管显示十位数字,每个数码管需要7个管脚控制,接线的管脚转化成数组显示如下:
接线数组.JPG

根据数字0~9和abcdefg真值表转化成对应的显示数组,0是低电平,1是高电平。

数字数组.JPG


上述两个数组遍历才能显示出数字。根据题意,个位显示0~9一共十个,十位只显示4以下的数字0~4一共五个。这样就需要按下图十位零的方法分别制作15个函数。
数字显示.JPG
用Mixly中radom产生1~41的随机数,然后分别截取十位和个位数字。十位数用%10取整来截取,个位数用减去十位数的方法截取。

随机数截取.JPG

然后让两个共阳极数码管分别显示十位和个位数字。显示的时间由delay()函数来控制,MCU的运行速度是飞快的,所以用阻塞的方法来暂停一下,让我们的眼睛可以观察到数值的变化。

十位显示.JPG

用USB连接线把NANO接入PC机,然后将程序编译上传NANO,下图显示成功。

上传成功.JPG
各个模块折叠以后的效果。

远观效果。.JPG
举一反三:如果8段数码管换成了共阴极的,那么我们又该如何修改代码实现题意呢?



发表于 2022-1-13 01:32 来自手机 | 显示全部楼层
你是用什么软件写代码?感觉挺好用的,推荐一下吧?
 楼主| 发表于 2022-1-13 22:04 | 显示全部楼层
彩标 发表于 2022-1-13 01:32
你是用什么软件写代码?感觉挺好用的,推荐一下吧?

https://www.arduino.cc/en/software
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 15:41 , Processed in 0.080217 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表