1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Arduino--DS3231实时时钟模块

Arduino--DS3231实时时钟模块

时间:2021-11-25 05:35:19

相关推荐

Arduino--DS3231实时时钟模块

(1)简介

DS3231是一种实时的RCT IC芯片,通过IIC接口进行通信,默认IIC通信地址为(0X68,应该是在头文件中有体现,大概看了下也没找见),其内部还集成了晶体振荡器和温度传感器,无需连接外部晶体。

DS3231模块如下图所示,包含RTC芯片和一个32K的EEPROM

自身带有3V CR2032锂电池,掉电时间不变

包括年、月、日、时、分、秒等具体时间信息

(2)连线

主要是IIC接口,本实验室是基于Arduino UNO使用,其他开发板的IIC管脚参考以下链接:

/u011816009/article/details/106566177

(3)程序

DS3231的程序分为两个部分,第一部分是设置起始日历信息(年、月、日、时、分、秒),第二部分是具体显示部分,分别阐述如下:

设置日历

// DS3231_Serial_Easy// Copyright (C) Rinky-Dink Electronics, Henning Karlsen. All right reserved// web: ///// A quick demo of how to use my DS3231-library to // quickly send time and date information over a serial link//// To use the hardware I2C (TWI) interface of the Arduino you must connect// the pins as follows://// Arduino Uno/:// ----------------------// DS3231: SDA pin -> Arduino Analog 4 or the dedicated SDA pin//SCL pin -> Arduino Analog 5 or the dedicated SCL pin//// Arduino Leonardo:// ----------------------// DS3231: SDA pin -> Arduino Digital 2 or the dedicated SDA pin//SCL pin -> Arduino Digital 3 or the dedicated SCL pin//// Arduino Mega:// ----------------------// DS3231: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA pin//SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL pin//// Arduino Due:// ----------------------// DS3231: SDA pin -> Arduino Digital 20 (SDA) or the dedicated SDA1 (Digital 70) pin//SCL pin -> Arduino Digital 21 (SCL) or the dedicated SCL1 (Digital 71) pin//// The internal pull-up resistors will be activated when using the // hardware I2C interfaces.//// You can connect the DS3231 to any available pin but if you use any// other than what is described above the library will fall back to// a software-based, TWI-like protocol which will require exclusive access // to the pins used, and you will also have to use appropriate, external// pull-up resistors on the data and clock signals.//#include <DS3231.h>// Init the DS3231 using the hardware interfaceDS3231 rtc(SDA, SCL);void setup(){// Setup Serial connectionSerial.begin(115200);// Uncomment the next line if you are using an Arduino Leonardo//while (!Serial) {}// Initialize the rtc objectrtc.begin();// The following lines can be uncommented to set the date and timertc.setDOW(FRIDAY);// Set Day-of-Week to SUNDAYrtc.setTime(14, 26, 50);// Set the time to 12:00:00 (24hr format)rtc.setDate(3, 8, ); // Set the date to January 1st, }void loop(){// Send Day-of-WeekSerial.print(rtc.getDOWStr());Serial.print(" ");// Send dateSerial.print(rtc.getDateStr());Serial.print(" -- ");// Send timeSerial.println(rtc.getTimeStr());// Wait one second before repeating :)delay (1000);}

时钟显示

#include <DS3231.h>// Init the DS3231 using the hardware interfaceDS3231 rtc(SDA, SCL);void setup(){// Setup Serial connectionSerial.begin(115200);// Uncomment the next line if you are using an Arduino Leonardo//while (!Serial) {}// Initialize the rtc objectrtc.begin();// The following lines can be uncommented to set the date and time//rtc.setDOW(WEDNESDAY);// Set Day-of-Week to SUNDAY//rtc.setTime(12, 0, 0);// Set the time to 12:00:00 (24hr format)//rtc.setDate(1, 1, ); // Set the date to January 1st, }void loop(){// Send Day-of-WeekSerial.print(rtc.getDOWStr());Serial.print(" ");// Send dateSerial.print(rtc.getDateStr());Serial.print(" -- ");// Send timeSerial.println(rtc.getTimeStr());// Wait one second before repeating :)delay (1000);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。