前言:在醫(yī)院看到一個(gè)大個(gè)的電子數(shù)碼時(shí)鐘争剿,看了好一會(huì)羽利,回家翻了翻自己的東西,發(fā)現(xiàn)了一個(gè)arduino 模塊 tm1637 4位數(shù)碼管麦到,于是研究起來制作一個(gè)數(shù)碼時(shí)鐘,先列舉:uno 一個(gè)欠肾,tm1637 一個(gè)瓶颠。
1.安裝庫,搜索tm1637選擇Grove - 4-Digit Display董济,不要選第二個(gè)2角濉!虏肾!
2.庫中提供了三個(gè)示例
分別為:ClockDisplay廓啊、NumberFlow、Stopwatch封豪,其中:
ClockDisplay:時(shí)鐘顯示示例谴轮,顯示小時(shí)和分鐘。
NumberFlow:循環(huán)顯示數(shù)組內(nèi)容示例
Stopwatch:這個(gè)是個(gè)秒表的示例
這里使用ClockDisplay
3.代碼展示
4.實(shí)物
5.擴(kuò)展:RTC模塊DS1307
RTC模塊電路可以準(zhǔn)確地保持當(dāng)前時(shí)間吹埠。它具有兩個(gè)功能第步,它與微控制器和微處理器通信以提供當(dāng)前時(shí)間疮装,以及充當(dāng)備用電路,以便在發(fā)生電源故障時(shí)保持時(shí)間粘都,因?yàn)樗哂袃?nèi)置電池備份系統(tǒng)廓推。
我們可以在任何電子設(shè)備中找到RTC,其中時(shí)間是小工具的重要功能翩隧。例如樊展,即使在斷電或取出電池后,我們的計(jì)算機(jī)或筆記本電腦仍能保持時(shí)間堆生。在計(jì)算機(jī)的主板上专缠,我們都可以找到一塊CMOS電池,為RTC電路供電淑仆。我們將在這個(gè)項(xiàng)目中使用類似的電路涝婉。
貼的lcd的代碼...
#include "TM1637.h"
#include <Wire.h>
#include "Sodaq_DS3231.h"
DateTime dt(2018, 5, 4, 14, 5, 0, 5); // 年 月 日 時(shí) 分 秒 星期。周日-周六對(duì)應(yīng)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();
// 設(shè)置LED亮度蔗怠。最暗到最亮 0-7墩弯。典型值2。
tm1637.set(1);
Wire.begin();
rtc.begin();
// 第一次使用時(shí)鐘模塊蟀淮,或者需要校準(zhǔn)時(shí)放開下列注釋
// 一旦校準(zhǔn)完畢最住,繼續(xù)注釋掉,并再次上傳
// 定義dt的時(shí)候建議預(yù)留一些編譯和上傳的時(shí)間
//rtc.setDateTime(dt);
}
// 時(shí)間分隔符閃爍標(biāo)識(shí)
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);
}
————————————————
版權(quán)聲明:本文為CSDN博主「Ki1381」的原創(chuàng)文章怠惶,遵循CC 4.0 by-sa版權(quán)協(xié)議涨缚,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/ki1381/article/details/80213757