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板(也更容易转移到时钟盒中。)

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

    关注

    10

    文章

    1731

    浏览量

    131437
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186901
  • LED矩阵
    +关注

    关注

    0

    文章

    71

    浏览量

    17595
收藏 人收藏

    评论

    相关推荐

    hex格式和二进制的区别

    HEX格式和二进制在多个方面存在显著的区别。以下是对这两者的对比: 一、定义与表示方式 HEX格式 : HEX,全称为Intel HEX,是一种用于存储和传输数据到嵌入式系统(如单片机)的文件格式
    的头像 发表于 11-18 15:24 430次阅读

    二进制编码器在自动化领域的作用

    二进制编码器是一种将二进制信号转换为数字信号的电子设备,广泛应用于自动化领域。 一、二进制编码器的工作原理 二进制编码器是一种将二进制信号转
    的头像 发表于 11-06 09:53 301次阅读

    二进制编码器的种类及特点

    二进制编码器是一种电子电路,用于将二进制信号转换为其他格式,如十进制、格雷码等。以下是一些常见的二进制编码器种类及其特点: 优先编码器(Priority Encoder) : 特点 :
    的头像 发表于 11-06 09:47 427次阅读

    二进制编码器应用场景 二进制编码器与模拟编码器比较

    编码器是将信息从一种形式或格式转换为另一种形式的设备。在数字和模拟系统中,编码器扮演着至关重要的角色。二进制编码器和模拟编码器是两种常见的编码器类型,它们在不同的应用场景中有着各自的优势和局
    的头像 发表于 11-06 09:45 369次阅读

    二进制编码器工作原理 如何选择二进制编码器

    二进制编码器是一种数字电路,它将输入的二进制代码转换为对应的输出信号。在数字系统中,编码器用于将数据从一种形式转换为另一种形式,以便于处理和传输。 二进制编码器工作原理 输入与输出关系 :
    的头像 发表于 11-06 09:44 624次阅读

    二进制补码及与原码的互相转换方法

    大沙把一些基础的知识说清楚,本文介绍二进制补码及与原码的转换方法。 先说原码,原码‌是一种计算机中对数字的二进制定点表示方法。在原码表示法中,数值前面增加了一位符号位,最高位为符号位,0表示正数,1
    的头像 发表于 09-19 22:25 470次阅读

    二进制处理中的一些技巧

    二进制和十进制的处理中,有时候一些小技巧是很有用的。 1、把十进制数转换成二进制数 (1)在MATLAB中有一个函数dec2bin,可以把正整数转换为2
    的头像 发表于 07-05 11:51 558次阅读

    二进制串行计数器工作原理是什么?

    在数字电路设计中,计数器是一种非常关键的组件,用于测量时间、计数事件或跟踪状态变化等。其中,二进制串行计数器作为一种常用的计数器类型,在多种应用场景中都发挥着重要作用。本文将对二进制串行计数器
    的头像 发表于 05-28 15:52 832次阅读

    如何实现二进制和BCD码数据的相互转变?

    如何实现二进制和BCD码数据的相互转变? 二进制码是将十进制数字表示为二进制数和十进制数的一种表示方法。在计算机系统中,
    的头像 发表于 02-18 14:51 3482次阅读

    二进制与逻辑电平的变化范围

    二进制中的两个数字0和1称为位(bit, 是二进制数字binary digit的缩写)。在数字电路中,使用两个不同的电平表示这两个位。一般情况下,1 用高电平表示,0用低电平表示,这种逻辑体制称为正逻辑。
    的头像 发表于 02-04 16:54 1306次阅读
    <b class='flag-5'>二进制</b>与逻辑电平的变化范围

    鸿蒙二进制数组创建

    背景 c++层数据都是二进制,需要转换成arrayBuffer透传到ets层给业务使用,但是鸿蒙的使用下面两个api创建出来的二进制数组数据都是错误的。 接口
    的头像 发表于 01-31 15:24 1262次阅读

    二进制、八进制、十六进制在现实当中有什么意义?

    二进制、八进制、十六进制在现实当中有什么意义? 二进制、八进制和十六进制在现实生活中有着广泛的应
    的头像 发表于 01-16 11:14 5323次阅读

    10进制转换为二进制的算法

    进制转换为二进制是计算机科学中非常基础且重要的概念之一。在理解和应用计算机科学的基础知识时,掌握这个算法是至关重要的。 在开始讲解十进制转换为二进制的算法之前,让我们回顾一下十
    的头像 发表于 01-15 10:32 3222次阅读

    10进制转换为二进制的算法

    10进制转换为二进制是计算机领域中非常重要的一个问题。在计算机中,所有的数据都是以二进制形式进行存储和处理的。因此,我们常常需要将10进制数转换为
    的头像 发表于 01-11 09:14 2333次阅读

    labview二进制字符串转数值

    LabVIEW是一种图形化编程环境,用于实时数据采集、信号处理以及自动化控制等领域。它采取了数据流编程的思想,用户可以通过将各种功能模块进行连接,轻松搭建起复杂的系统。 在LabVIEW中,二进制
    的头像 发表于 01-05 16:20 2616次阅读