相關(guān)商品





























相關(guān)文章
- 【奧松新品】首款帶車輪Arduino控制板亮相——Arduino Robot
- 【奧松新品】Arduino極客愛(ài):全新無(wú)線Linux板–Arduino Yun
- 【奧松新品】Arduino家族新寵兒——以ARM為核心的Arduino Due
- 【奧松新品】基于Arduino、ADXL335與APC220的無(wú)線遙控器
- 【奧松新品】源自Sparkfun——MP3 Player Shield評(píng)測(cè)
- 【奧松新品】MEAS壓電式震動(dòng)傳感器測(cè)評(píng)
- 【奧松新品】基于Arduino的觸摸式變色臺(tái)燈
- 【奧松新品】集成了Arduino控制器的Ethernet評(píng)測(cè)
- 【奧松新品】Pololu Zumo Arduino履帶相撲機(jī)器人測(cè)評(píng)(上)
- 【奧松新品】AS-6DOFB六自由度機(jī)械臂玩家測(cè)評(píng)
- 【奧松新品】Pololu Zumo Arduino履帶相撲機(jī)器人測(cè)評(píng)(下)
- 【新書】Raspberry Pi快速入門指南姊妹圖書Python編程入門
- 【奧松新品】Zumo Robot Kit for Arduino零部件實(shí)測(cè)
- 【奧松新品】Simulator for Arduino 模擬器使用評(píng)測(cè)
- 【新書】《Arduino機(jī)器人制作指南》助你圓夢(mèng)
- 【新書】《Arduino機(jī)器人權(quán)威指南》于欣龍譯著重磅發(fā)行
- 【新書】《愛(ài)上機(jī)器人:學(xué)Arduino玩轉(zhuǎn)機(jī)器人制作》
- 【奧松新品】源自Sparkfun——SOUND DETECTOR聲音檢測(cè)傳感器評(píng)測(cè)
- 【新書】Arduino魔法書 實(shí)現(xiàn)夢(mèng)想的工具和技術(shù)
- 【奧松新品】水蒸氣傳感器,打造屬于你的“晴雨表”
- 【奧松新品】小身體,大數(shù)據(jù)——模擬聲音傳感器
- 【奧松新品】Speaker發(fā)聲模塊——打造自己的音樂(lè)盒
- 【奧松新品】條形LED模塊——制作光線強(qiáng)度指示燈
- 【奧松新品】TEMT6000光敏傳感器——感光燈制作
- 【奧松新品】可調(diào)微型直流潛水泵
- 【新書】《Arduino制作手冊(cè)》于欣龍推薦
- 【新書】《Arduino 完全實(shí)戰(zhàn)》經(jīng)典之作,奧松創(chuàng)始人于欣龍推薦!
- 【好書推薦】《Arduino從基礎(chǔ)到實(shí)踐》手把手50個(gè)案例教你玩轉(zhuǎn)Arduino
- 【新訊快遞】Arduino UNO控制器的新小伙伴 小奧與你深扒Arduino UNO背后的秘密
- 【奧松新品】四位七段數(shù)碼管——制作時(shí)鐘
- 【產(chǎn)品測(cè)評(píng)】基于 ADXL345 三軸加速度計(jì)的角度測(cè)試儀
- 【產(chǎn)品測(cè)評(píng)】LCD12864 液晶搖桿擴(kuò)展板之貪吃蛇游戲
- 【產(chǎn)品測(cè)評(píng)】Make Sensor 傳感器實(shí)戰(zhàn)攻略
- 【產(chǎn)品測(cè)評(píng)】RTC Module 制作電子時(shí)鐘
【產(chǎn)品測(cè)評(píng)】RTC Module 制作電子時(shí)鐘
編輯:neil2016-10-09 瀏覽次數(shù):1405
Arduino 可以不連接其他硬件使用時(shí)鐘和日期功能,這是使用了 Arduino 板子自帶的晶振,再配合上Arduino的Time函數(shù)庫(kù),這可以精確到每天只有幾秒的誤差。但是這樣做有一個(gè)弊端,就是當(dāng)你斷開了Arduino的電源時(shí),因?yàn)锳rduino并沒(méi)有電池,所以無(wú)法將時(shí)間保存起來(lái),每次執(zhí)行時(shí),都會(huì)從程序設(shè)定的時(shí)間開始,所以為了時(shí)間的準(zhǔn)確,必須每次自行設(shè)定時(shí)間。RTC時(shí)鐘模塊可以解決這個(gè)問(wèn)題, 它使用DS1307作為時(shí)鐘芯片, 時(shí)鐘頻率為32.768Khz,IIC接口設(shè)計(jì),節(jié)約Arduino控制器引腳,只需要占用兩個(gè)控制器的數(shù)據(jù)引腳就可以控制,RTC Module可安裝一個(gè)3V CR1220紐扣電池,當(dāng)Arduino斷電后,RTC模塊還保持供電,可以繼續(xù)記錄時(shí)間,這樣就不需要每次校對(duì)時(shí)間。
接下來(lái)我們就開始制作電子時(shí)鐘
首先,準(zhǔn)備要使用到的硬件
* Carduino UNO R3 控制器 * 1個(gè)
* 傳感器擴(kuò)展板 V5.0 * 1個(gè)
* USB 數(shù)據(jù)下載線 * 1 條
* RTC Module 模塊 * 1 個(gè)
* 四位七段數(shù)碼管模塊 * 1 個(gè)
* 傳感器連接線 * 若干
如下圖所示,連接所有的硬件設(shè)備,傳感器與傳感器擴(kuò)展板V5.0連接非常方便,只需要使用杜邦線連接相應(yīng)引腳即可,傳感器擴(kuò)展板使用了防呆設(shè)計(jì),信號(hào)S、電源正、電源負(fù),分別使用黃色、紅色、黑色排針區(qū)分開。
硬件連接無(wú)誤情況下,我們就可以給控制器上傳程序,程序如下所示,程序中會(huì)用到函數(shù)庫(kù),是你在編譯和上傳程序之前必須要安裝的,否則會(huì)出現(xiàn)編譯出錯(cuò)的情況,程序源文件及程序代碼可以從文章底部的鏈接中下載。
#include <TimerOne.h>
#include "TM1637.h"
#include <Wire.h>
#include "RTClib.h"
#define ON 1
#define OFF 0
#if defined(ARDUINO_ARCH_SAMD)
#define Serial SerialUSB
#endif
RTC_DS1307 rtc;
int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char minute = 0;
unsigned char hour = 12;
int stem,val;
#define CLK 5
#define DIO 4
TM1637 tm1637(CLK,DIO);
void setup()
{
tm1637.set();
tm1637.init();
Timer1.initialize(500000);
Timer1.attachInterrupt(TimingISR);
#ifndef ESP8266
while (!Serial);
#endif
Serial.begin(57600);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (! rtc.isrunning()) {
Serial.println("RTC is running!");
rtc.adjust(DateTime(2016, 7, 27, 11,16, 00)); // 設(shè)置初始時(shí)間和日期
}
}
void loop()
{
DateTime now = rtc.now();
if(Update == ON)
{
TimeUpdate();
tm1637.display(TimeDisp);
}
stem = now.hour();
val = now.minute();
}
void TimingISR()
{
ClockPoint = (~ClockPoint) & 0x01;
Update = ON;
}
void TimeUpdate(void)
{
if(ClockPoint)tm1637.point(POINT_ON);
else tm1637.point(POINT_OFF);
TimeDisp[0] = stem/ 10;
TimeDisp[1] = stem % 10;
TimeDisp[2] = val / 10;
TimeDisp[3] = val % 10;
}
注意:通過(guò)修改時(shí)間和日期可以設(shè)置模塊的初始狀態(tài),如果給模塊安裝上3V電池,模塊在斷電后就會(huì)繼續(xù)計(jì)時(shí),下次再通電使用時(shí),顯示的會(huì)是正確的系統(tǒng)時(shí)間,無(wú)需再次初始化。
程序效果
如圖所示,為程序上傳后的效果,數(shù)碼管會(huì)顯示當(dāng)前時(shí)間,圖中所示時(shí)間為11時(shí)16分

總結(jié)
雖然Arduino是有時(shí)鐘功能的,但是斷電不能保存,RTC模塊完美解決了這個(gè)問(wèn)題,本實(shí)驗(yàn)中,使用了4位數(shù)碼管顯示,所以不能將現(xiàn)在是多少秒,或者現(xiàn)在的日期顯示出來(lái),我們可以換用 SPI 8位數(shù)碼管顯示模塊,再制作一個(gè)精美的外殼,就可以制作屬于自己的電子時(shí)鐘了,快來(lái)試一下吧。、
注意此程序需要使用到的庫(kù)文件,大家可以點(diǎn)擊此處,進(jìn)入奧松機(jī)器人官方技術(shù)論壇進(jìn)行下載。
----------------------------------------------------------------------------------------------------------------
奧松機(jī)器人官網(wǎng):www.robotbase.cn
微信號(hào):搜索公眾號(hào)“奧松機(jī)器人”
QQ群: 271230889(討論,解惑)
微博:@奧松機(jī)器人基地
----------------------------------------------------------------------------------------------------------------
溫馨提示:予人玫瑰,手留余香;如果你喜歡這篇文章,不妨轉(zhuǎn)發(fā)推薦給你身邊的朋友!
用戶評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶評(píng)論