Arduino uno获取ds3231时钟模块的年、月、日、时、分、秒信息
作者:野牛程序员:2023-12-26 12:22:24Arduino阅读 2742
使用Arduino Uno获取DS3231时钟模块的年、月、日、时、分、秒信息的示例代码如下:
#include <Wire.h> #include <RTClib.h> RTC_DS3231 rtc; void setup() { Serial.begin(9600); if (!rtc.begin()) { Serial.println("Couldn't find RTC"); while (1); } if (rtc.lostPower()) { Serial.println("RTC lost power, let's set the time!"); rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); } } void loop() { DateTime now = rtc.now(); int year = now.year(); int month = now.month(); int day = now.day(); int hour = now.hour(); int minute = now.minute(); int second = now.second(); Serial.print("Current Date & Time: "); printDigits(year); Serial.print("-"); printDigits(month); Serial.print("-"); printDigits(day); Serial.print(" "); printDigits(hour); Serial.print(":"); printDigits(minute); Serial.print(":"); printDigits(second); Serial.println(); delay(1000); // 等待1秒钟 } void printDigits(int digits) { // 在数字小于10时前面加0 if (digits < 10) Serial.print('0'); Serial.print(digits); }
请确保已经安装了RTC库。可以在Arduino IDE中通过"工具" -> "管理库" -> 搜索"RTClib"来安装。
这个代码使用了RTC库,该库支持DS3231时钟模块。在setup
函数中初始化RTC对象,并在loop
函数中获取当前时间,并将其通过串口输出。printDigits
函数用于确保在数字小于10时前面加上0。
请记得连接DS3231模块到Arduino Uno的I2C引脚(通常是A4和A5)以便能够正确通信。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
