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

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

3天内不再提示

二进制LED大理石时钟的制作图解

454398 来源:工程师吴畏 2019-08-19 17:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:时钟程序功能

二进制LED大理石时钟的制作图解

关于时钟的某些软件功能的一些评论。

时间设置:许多使用rtc的Arduino示例在设置时间方面都很随意。他们经常使用草图的编译时间来设置rtc(如果尚未设置)。由于您不知道编译和下载需要多长时间,这很笨拙,如果先前已设置时钟,则时间不会更新。

我在代码中放了一个标志(KBSetTime = true | false),如果在下载时设置,将导致打开一个串行窗口并提示输入时间。按下输入时,时间精确设置为rtc。

准确度:DST3231模块的指定精度为+/- 2 ppm,在常温下每年约1分钟。为了校正这种漂移,提供了“碰撞”按钮。我们的想法是,当您听到通过收音机广播的时间源信号点数时,按下按钮按钮并将时间调整为“时间最高”。为了防止手指徘徊,我将此功能限制为仅在一小时内的五到五个范围内有效。

夏令时:有问题!时钟没有同步到任何可识别DST的外部源,因此没有办法自动调整,就像电话会因为它连接到网络塔而做。在旧版本的Windows中,他们只使用一个文件,其中包含日期,指定何时发生更改,为此您需要事先知道并确定更改日期 - 我们走了多远,预期寿命是多少时钟,如果我们移动司法管辖区怎么办?其他方法依赖于固定的规范,例如3月的第2个星期日,但这也有问题 - 不是每个地方同时调整,特殊事件可能会移动这个“固定”的变化点。出于这些原因,我决定采用不同的方法让用户轻松进行调整 - 设置滑动开关以指定进入或退出夏令时,然后按下按钮。这将在当前时间恰好增加或减少一小时。保留日期的准确性,以防你在23:45小时进行。

扩展:时钟显示为12h格式,有四个LED小时,最大值为8 + 4 + 2 + 1 = 15,因此如果需要24小时格式,您可以添加额外的LED。或者,您可以添加指示上午或下午的方式。软件库和时钟模块的接口都可以在需要时轻松实现这些。

第2步:位和块 - 片断

Arduino世界有一系列有趣的位,都非常显着便宜从ebay,ali barber等。还有很多指导和建议。这是我用过的东西;

Nano arduino,便宜,功能强大,具有教育意义 - 该项目最终使用了约80%的代码空间

DS3231 - 实时时钟模块,可维持时间,2 ppm精度约为1分钟/年

SSD1306 oled显示屏,128 x 32像素

WS8212 LED - 串行控制LED,3线,单个LED颜色由3字节RGB字符串设置

DHT22 - 温湿度模块。电容湿度传感器和热敏电阻

其他开关,按钮 - 带连接器电源适合Arduino

使用电容式触摸开关可能更好按钮。一个例子是TTP223

关于DS3231 rtc模块的注意事项:如果你使用像锂电池那样的锂电池(大多数人会),你需要切断模块上的电池充电痕迹。互联网搜索将揭示信息和原因。上图说明了要切割的痕迹。

步骤3:接线

该图显示了接线连接。

第4步:代码

此处显示代码,您只需下载并使用它即可。你需要安装Arduino环境。

希望它被充分评论,允许任何具有一些Arduino技能的人来跟踪和修改。

Arduino世界有许多智能民间的图书馆让我们其他人可以轻松使用设备。没有必要重新发明轮子,所以我使用了以下库;

TimeLib.h - 用于时间函数的使用和管理

DS3223RTC.h - 用于访问rtc模块

Adafruit_NeoPixel.h - 用于使用串行LED

DHT.h - 用于湿度和温度传感器

Streaming.h - 便于与串行窗口交互

U8glib.h - 用于Oled显示

使用了IC2总线,它内置于Arduino,rtc和oled模块以及相关的库中 - 由于上面提到的库,它们对使用都是透明的

中断。这些用于碰撞到小时和夏令时调整例程。前者因为它需要以时间关键的方式发生而后者因为它不经常使用。

每个显示特征的显示时间的暂停延迟可以通过show_xxxx_delay常量来调整。例如,显示的红色温度LED被设置为4000毫秒或4秒

const unsigned long show_temp_delay = 4000;

颜色的变化可以通过编辑线条来实现 - 它只是每个00的三个十六进制值。 RGB的ff

#define Yellow leds.Color(0xff, 0xff, 0x00) // colour for day display

步骤5:木工

我开始在车库里放一块松木,切成一定长度如所须。大理石位于凹陷的口袋中,因此从正面钻出一个更大的孔,大理石的直径达到您想要的深度,然后钻一个小孔,让光线看到大理石的背面。钻孔后,我使用了一个插入式路由器从后部划出一个口袋来容纳电子设备。

我在顶部表面上切了一个小凹槽,这样Oed显示器就会齐平。

后面的部分被切割成适合按钮和DHT传感器的尺寸。

我用自制的污渍混合物对松树进行染色并涂上一层蜡以产生缎面效果

步骤6:电子装配

《我将LED安装在一条木条上 - 这主要是为了让它们更容易处理,因为我正在玩耍和原型制作。他们需要连接5V,0V和数据。来自arduino的数据引脚连接必须首先到达一分钟,因为LED是通过字符串中的位置来寻址的。 8小时led是字符串中的最后一个,并且不需要终结器。

钻几个孔,将开关和传感器安装在后面板上。热胶可用于将物品固定到位。为这些设备使用触摸开关可能更好。

Arduino和rtc模块安装在配线板上。这样可以更容易地将所有东西焊接在一起。链接由单股铜线制成。

带状电缆提供与后面板安装的开关和传感器的完美连接,并允许打开外壳。

LED灯条之间使用一块牛奶瓶塑料和补丁板,以防止任何短路。

拧紧背部,你就完成了。时钟可以通过USB端口从计算机或插头包装到墙上。没有USB电源,没有显示器,但rtc模块上的电池可以保持时间。

在光线昏暗的房间里享受它,并对访客进行测验,因为它以的形式吸引了一些注意力。 “那是什么!?”

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

    关注

    243

    文章

    24447

    浏览量

    687584
  • 二进制
    +关注

    关注

    2

    文章

    809

    浏览量

    42804
  • 时钟
    +关注

    关注

    11

    文章

    1953

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    大理石深雕”进入激光时代,瑞丰恒紫外激光器再秀实力!

        当石材雕刻碰上瑞丰恒激光,会擦出怎样的火花? 在瑞丰恒D9-355-5W紫外激光器的精细雕刻下,一块普通大理石经历了“华丽蜕变”。 随着瑞丰恒D9-355的紫外激光一扫而过,大理石表面逐渐
    的头像 发表于 12-10 16:31 42次阅读
    “<b class='flag-5'>大理石</b>深雕”进入激光时代,瑞丰恒紫外激光器再秀实力!

    大理石直线电机模组平台在检测设备中的优势

    在工业自动化进程不断加速的当下,高精度、高稳定性的运动控制平台成为了众多领域实现技术突破与产能提升的关键。飞创大理石直线电机模组平台,凭借其卓越的性能优势,为复杂的生产与检测任务提供了可靠且高效
    的头像 发表于 10-10 11:10 220次阅读
    谈<b class='flag-5'>大理石</b>直线电机模组平台在检测设备中的优势

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

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

    解锁高精密制造:飞创大理石直线模组应用实例

    在工业自动化进程不断加速的当下,高精度、高稳定性的运动控制组件成为众多行业实现技术升级与产能突破的关键。飞创大理石直线模组凭借其卓越的性能,在多个领域大放异彩,为各类复杂生产与检测任务提供了可靠
    的头像 发表于 09-03 11:34 473次阅读
    解锁高精密制造:飞创<b class='flag-5'>大理石</b>直线模组应用实例

    二进制数据处理方法分享

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

    飞创大理石无铁芯直线模组——传感器性能测试的理想之选

    在当今科技飞速发展的时代,工业自动化进程不断加速,对于高精度、高性能的运动控制组件的需求也日益增长。飞创直线模组专注于直驱运动的研发,推出的大理石无铁芯直线模组,尤其在传感器性能测试领域表现卓越
    的头像 发表于 06-24 11:19 518次阅读
    飞创<b class='flag-5'>大理石</b>无铁芯直线模组——传感器性能测试的理想之选

    告别传统局限!大理石直线电机模组的颠覆性优势

    在精密制造、自动化检测等众多前沿工业领域,对于高精度、高稳定性直线运动的需求与日俱增。传统直线电机模组在面对高精度加工、复杂环境作业等挑战时,逐渐显露出局限性。而大理石直线电机模组如同工业设备领域
    的头像 发表于 06-10 13:38 535次阅读
    告别传统局限!<b class='flag-5'>大理石</b>直线电机模组的颠覆性优势

    精度与速度的结合!大理石直线电机模组滑台助力AI智能检测

    在工业自动化浪潮的推动下,AI智能检测技术正以前所未有的速度发展,而高精度、高稳定性的运动控制则是其不可或缺的基石。今天要为大家介绍一款在AI扫描智能检测产线中的大理石直线电机模组滑台!
    的头像 发表于 03-25 13:37 537次阅读
    精度与速度的结合!<b class='flag-5'>大理石</b>直线电机模组滑台助力AI智能检测

    如何使用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>纹波计数器规格书

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

    偏移二进制二进制补码如何和实际数据对应,如何转换,请哪位高手解惑
    发表于 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 4427次阅读