如何DS1302时间模块使用闹钟功能?
本帖最后由 idiot0303 于 2016-10-28 16:38 编辑http://i.imgur.com/IZMQctg.jpg
目前已经写出将ds1302的时间印在lcd上,另外把DHT11模块也印在上头,不过我查询国外网站老外
有关于DS1302的时间闹钟功能,却都没看到,只看到过DS1307的时间模块
也只有搜寻到台湾人用DS1307写的闹钟功能
试着去改写,结果一直失败,也查询过论坛上有关于DS1302的时间模块
只看到有人询问,却没有看到CODE
我目前想做的就是定时一到,运转马达,也想把定时功能印在LCD
求大神拯救。
新手没法贴连结跟代码,所以我复制在下一楼贴文 #include <Time.h>
#include <TimeAlarms.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
void setup()
{
Serial.begin(9600);
Wire.begin();
RTC.begin();
if (! RTC.isrunning())
{
Serial.println("RTC is NOT running!");
//下列這行將會設定RTC時間為電腦Compile的當前時間。
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
DateTime now = RTC.now();
//將RTC的時間設定給AlarmClockTime使用
setTime(now.hour(),now.minute(),second(),now.day(),now.month(),now.year());
// 創造時鐘
Alarm.alarmRepeat(8,30,0, MorningAlarm);
Alarm.alarmRepeat(dowSaturday,8,30,30,WeeklyAlarm);
Alarm.timerRepeat(15, Repeats);
Alarm.timerOnce(10, OnceOnly);
}
voidloop(){
digitalClockDisplay();
Alarm.delay(1000);
}
// functions to be called when an alarm triggers:
void MorningAlarm(){
Serial.println("Alarm: - turn lights off");
}
void WeeklyAlarm(){
Serial.println("Alarm: - its Monday Morning");
}
void Repeats(){
Serial.println("15 second timer");
}
void OnceOnly(){
Serial.println("This timer only triggers once");
}
//顯示目前時間
void digitalClockDisplay()
{
// digital clock display of the time
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.println();
}
//如果顯示0~9的話,前面會加一個0
void printDigits(int digits)
{
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}
http://www.tabbymeow.com/%E6%A8%B9%E5%B1%8B%E9%AD%9A%E4%B8%BB%E4%BA%BA%E8%A8%88%E7%95%AB5-rtc%E6%99%82%E9%90%98%E6%A8%A1%E7%B5%84/ 用EEPROM保存你要设置的时间变量,初始化的时候读取储存的变量。然后时时的判断当前的时间,如果符合你设置的条件,就输出,或者关闭。。。就可以。。。然后显示大lcd上就可以。。。 本帖最后由 idiot0303 于 2016-10-31 12:26 编辑
Paderboy兄
这个对我这入门新手难度太高了
还有没有比较简单的用法?
页:
[1]