0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用LED矩阵的Arduino二进制时钟的制作教程

454398 来源:wv 2019-10-09 10:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:读取BCD二进制时钟

所描述的时钟使用二进制编码的十进制(bcd)显示方法,首先进行描述。在这种方法中,时间的每个数字都被隔离并显示为二进制数。例如,一分钟的37分钟显示为0000 0011(二进制3)和0000 0100(二进制7)。

每个分段的每个数字(小时,分钟,秒)占据一列。空白列分隔每个对,则使用8列。有时候事情不是很整洁吗?

步骤2:所需的设备

Arduino

我使用了Nano,因为我可以将所有东西都放在一块面包板上。我购买了一个品牌外的产品。

显示

一个MAX 72xx LED矩阵分支板。请注意,MAX72xx引脚可能因型号而异,请检查)。

电源,地线,三个信号跳线。

我颠倒安装了地雷,因此在其控制引脚上使用了公母跳线。

I2C DS3231实时时钟(RTC)转接板。

电源,地线和两条信号线。

小面包板。

我将所有东西都挤在了400针板上。

用于Arduino的电池或交流适配器(未显示)。

第3步:接线

MAX72xx的五个引脚根据ledControl库页面进行接线。我的7219的针脚顺序与所述的不同。

VCC-+ 5V

GND--接地

DIN(数据输入)-D10

CS(在库中称为“ LOAD”。)-D11

CLK(时钟)-D12

时钟已连接到I2C引脚(检查您的Arduino模型)。对于Nano 。..

VCC-+ 5V

GND--接地

SDA--模拟4

SCL--模拟5

步骤4:关于算法的注释

LED矩阵的每一列均表示一位。分离。将小时,分钟和秒转换为两位数是微不足道的。..

通过将小时除以10(没有余数)来将第一个数字隔离。

将第二个模块除以10(仅余数)()(仅余数)。

我们点亮一列LED,以对应于适当数字的二进制表示形式。为此,我们使用ledcontrol.h库的setRow()函数,该函数需要三个参数

矩阵编号(每个实例库最多可处理8个)。计数从0开始,这就是本草图中使用的数字,因为我们只有一个矩阵。

列号(从左侧开始,编号为0-7)。如所使用的,列0和1分别对应于小时的第一位和第二位数字。

从上到下描述要打开的LED的字节(1 = on)。

小时/分钟/秒个位数字以十进制整数形式返回值(即0-9)。必须使用byte()函数将它们转换为所需的字节(二进制)值(以编程方式来说就是“转换”)。

SetRow(),在我的矩阵上,将LED填充为与输入/输出引脚,但最低有效位(“底部”)更靠近输出引脚-我将其颠倒安装。 (尝试使用您自己的矩阵LED)。请注意,您需要按位数学求逆顺序,以便将LED矩阵右侧向上安装,如果要横向安装LED矩阵,请使用SetColumn函数。

第5步:草图

第6步:改进和注释

构建并运行起来后,我发现令人惊讶的是,显示屏的体积很小,这当然是LED矩阵尺寸的函数。

我有一个座钟,如果可以找到一个便宜的钟表的话,我会拉出马达外壳,用一圈烟熏玻璃或丙烯酸玻璃代替钟面。 (我将尝试在当地的自动窗户着色处停下来并要求报废)。因此,LED矩阵的电路板和芯片将隐藏起来。另一个可能的方法是切割一个染色或涂漆的木质圆圈,以形成很好的对比度,并在其中切出一个方孔,以刺穿LED面。我怀疑我的卷轴看到了技能,因此,我需要伪造某种边框。也许是黄铜的脸?我可以使用飞刀,立铣刀或研磨复合物在车床上制作出光滑的光洁度,或在漂亮的涡旋形图案上进行加工,但需要找出一种方法来在导孔中获得相对直角,而立铣刀则无法实现, -也许是纵切锯。

目前,可以通过重新编程Arduino Nano来调整时间,这是最不切实际的。可以添加三个按钮,每个分段分别为一个小时,分钟,秒,每个按钮分别按小时,分钟和秒,然后按相应的按钮将当前分段增加一个单位。那是最简单的编程。但是,一个按钮会更优雅:长按进入小时数调整模式,短按递增,等等。

我想将草图转移到ATTiny85并收回我的Nano板(也更容易转移到时钟盒中。)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

    134565
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    196006
  • LED矩阵
    +关注

    关注

    0

    文章

    86

    浏览量

    18137
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在vivado上基于二进制码对指令运行状态进行判断

    在扩展指令时我们常常需要一些手段来帮助我们判断指令是否能够成功运行、运行状态是否正确。一方面,我们可以通过模拟器来实现,另一方面,在没有模拟器的情况下,我们可以通过将所扩展指令的二进制代码导入
    发表于 10-24 06:46

    在vivado上基于二进制码对指令运行状态进行判断

    在扩展指令时我们常常需要一些手段来帮助我们判断指令是否能够成功运行、运行状态是否正确。一方面,我们可以通过模拟器来实现,另一方面,在没有模拟器的情况下,我们可以通过将所扩展指令的二进制代码导入
    发表于 10-24 06:31

    如何将图像文件转换为二进制文件?

    如何将图像文件转换为二进制文件
    发表于 09-05 08:28

    二进制数据处理方法分享

    时,我们如何去解析数据并且应用它们。本次的技术分享文章,我们就从如何传输数据和解析二进制数据来一步一步剥丝抽茧,搞清楚他的运作原理和二进制数据的数据结构。
    的头像 发表于 07-30 15:41 2156次阅读
    <b class='flag-5'>二进制</b>数据处理方法分享

    如何使用Keil将二进制文件加载到外部SPI Flash中?

    我想知道是否有办法使用 Keil 将随机二进制文件加载到外部 SPI 闪存中。二进制文件将通过 LPC54102(OM13077 EVK 板)。我知道一些用于 FPGA 的 ISE 允许您执行此作
    发表于 03-17 06:37

    无法使用密度化参数构建OpenVINO™二进制,怎么处理?

    无法使用密度化参数构建OpenVINO™二进制
    发表于 03-06 06:51

    74LV4060-Q100二进制纹波计数器规格书

    电子发烧友网站提供《74LV4060-Q100二进制纹波计数器规格书.pdf》资料免费下载
    发表于 02-10 14:19 0次下载
    74LV4060-Q100<b class='flag-5'>二进制</b>纹波计数器规格书

    74LV4060二进制纹波计数器规格书

    电子发烧友网站提供《74LV4060二进制纹波计数器规格书.pdf》资料免费下载
    发表于 02-10 14:14 0次下载
    74LV4060<b class='flag-5'>二进制</b>纹波计数器规格书

    74HC4520;74HCT4520同步二进制计数器规格书

    电子发烧友网站提供《74HC4520;74HCT4520同步二进制计数器规格书.pdf》资料免费下载
    发表于 02-09 11:42 0次下载
    74HC4520;74HCT4520同步<b class='flag-5'>二进制</b>计数器规格书

    74LV393双路4位二进制纹波计数器规格书

    电子发烧友网站提供《74LV393双路4位二进制纹波计数器规格书.pdf》资料免费下载
    发表于 02-08 15:55 0次下载
    74LV393双路4位<b class='flag-5'>二进制</b>纹波计数器规格书

    74HC193;74HC7193二进制加减计数器规格书

    电子发烧友网站提供《74HC193;74HC7193二进制加减计数器规格书.pdf》资料免费下载
    发表于 02-07 16:28 0次下载
    74HC193;74HC7193<b class='flag-5'>二进制</b>加减计数器规格书

    74HC191可预置同步4位二进制加减计数器规格书

    电子发烧友网站提供《74HC191可预置同步4位二进制加减计数器规格书.pdf》资料免费下载
    发表于 02-07 15:57 1次下载
    74HC191可预置同步4位<b class='flag-5'>二进制</b>加减计数器规格书

    偏移二进制二进制补码如何和实际数据对应,如何转换?

    偏移二进制二进制补码如何和实际数据对应,如何转换,请哪位高手解惑
    发表于 01-16 06:01

    TLC2543的输出结果应为带符号二进制格式的数据,现在输出的结果为不带符号的二进制数,这是因为什么原因?

    DSP采用模拟SPI总线的方式和TLC2543进行通信,采用AIN0,AIN1,AIN2,TLC2543的输出数据格式为16位,高位在前,带符号二进制数。用万用表测的AIN0,AIN1,AIN2
    发表于 12-27 07:46

    bcd编码的应用 bcd与二进制的区别

    BCD(Binary-Coded Decimal)编码是一种二进制编码形式,用于表示十进制数字。它将每个十进制数字(0-9)直接编码为一个四位二进制数。BCD编码的主要优点是易于阅读和
    的头像 发表于 12-20 17:11 4433次阅读