arduino tm1637 制作数码时钟

前言:在医院看到一个大个的电子数码时钟,看了好一会,回家翻了翻自己的东西,发现了一个arduino 模块 tm1637 4位数码管,于是研究起来制作一个数码时钟,先列举:uno 一个,tm1637 一个。
1.安装库,搜索tm1637选择Grove - 4-Digit Display,不要选第二个!!!


201901020950461.png

2.库中提供了三个示例
分别为:ClockDisplay、NumberFlow、Stopwatch,其中:
ClockDisplay:时钟显示示例,显示小时和分钟。
NumberFlow:循环显示数组内容示例
Stopwatch:这个是个秒表的示例
这里使用ClockDisplay


20190306190625503.jpg

3.代码展示
tm1637.JPG

4.实物
IMG_0089 (2).JPG

5.扩展:RTC模块DS1307
RTC模块电路可以准确地保持当前时间。它具有两个功能,它与微控制器和微处理器通信以提供当前时间,以及充当备用电路,以便在发生电源故障时保持时间,因为它具有内置电池备份系统。
我们可以在任何电子设备中找到RTC,其中时间是小工具的重要功能。例如,即使在断电或取出电池后,我们的计算机或笔记本电脑仍能保持时间。在计算机的主板上,我们都可以找到一块CMOS电池,为RTC电路供电。我们将在这个项目中使用类似的电路。


110227acyfryyz6fzfzly1.jpg

贴的lcd的代码...
#include "TM1637.h"
#include 
#include "Sodaq_DS3231.h"
DateTime dt(2018, 5, 4, 14, 5, 0, 5); // 年 月 日 时 分 秒 星期。周日-周六对应0-6
 
//pins definitions for TM1637 and can be changed to other ports
#define CLK A0  
#define DIO A1
TM1637 tm1637(CLK, DIO);
  
void setup()
{
  tm1637.init();
 
  // 设置LED亮度。最暗到最亮 0-7。典型值2。
  tm1637.set(1);
 
  Wire.begin();
  rtc.begin();
 
  // 第一次使用时钟模块,或者需要校准时放开下列注释
  // 一旦校准完毕,继续注释掉,并再次上传
  // 定义dt的时候建议预留一些编译和上传的时间
  //rtc.setDateTime(dt);
}
 
// 时间分隔符闪烁标识
bool ShowPoint = true;
 
void loop()
{
  DateTime now = rtc.now();
 
  int h = now.hour();
  int mn = now.minute();
 
  int b0 = h / 10;
  int b1 = h % 10;
 
  int b2 = mn / 10;
  int b3 = mn % 10;
 
  tm1637.point(ShowPoint);
  tm1637.display(0, b0);
  tm1637.display(1, b1);
  tm1637.display(2, b2);
  tm1637.display(3, b3);
 
  ShowPoint = !ShowPoint;
 
  delay(1000);
 
}
 ———————————————— 
版权声明:本文为CSDN博主「Ki1381」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ki1381/article/details/80213757

你可能感兴趣的:(arduino tm1637 制作数码时钟)