arduino电子时钟
时间: 2023-08-15 07:05:31 浏览: 117
好的,下面是一个基于Arduino的简单电子时钟示例代码:
```
#include <Wire.h> // 引入Wire库,用于I2C通信
#include <RTClib.h> // 引入RTClib库,用于RTC模块
RTC_DS1307 rtc; // 创建一个RTC_DS1307对象
void setup () {
Serial.begin(9600); // 初始化串口通信
Wire.begin(); // 初始化I2C通信
rtc.begin(); // 初始化RTC模块
if (! rtc.isrunning()) { // 如果RTC模块没有运行,设置时间为编译时间
rtc.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = rtc.now(); // 获取当前时间
Serial.print(now.year(), DEC); // 打印年份
Serial.print('/'); // 打印分隔符
Serial.print(now.month(), DEC); // 打印月份
Serial.print('/'); // 打印分隔符
Serial.print(now.day(), DEC); // 打印日期
Serial.print(' '); // 打印空格
Serial.print(now.hour(), DEC); // 打印小时
Serial.print(':'); // 打印分隔符
Serial.print(now.minute(), DEC); // 打印分钟
Serial.print(':'); // 打印分隔符
Serial.print(now.second(), DEC); // 打印秒钟
Serial.println(); // 换行
delay(1000); // 等待1秒钟
}
```
这个代码使用了RTC_DS1307库和Wire库,需要先安装这些库才能编译。在setup函数中,它初始化了串口通信、I2C通信和RTC模块。如果RTC模块没有运行,它会将时间设置为编译时间。在主循环中,它使用rtc.now()函数获取当前时间,然后打印出来,并且每秒钟重复一次。你可以将这个电子时钟连接到一个LCD屏幕或者LED数码管上,以便更好地显示时间。
阅读全文