【Arduino基础教程】RS1307时钟模块

简介: RS1307时钟模块RS1307是一个低功耗的外置时钟模块,它可以让你的项目即使在断电的情况下,也能保证在重新启动后走时正确。所需材料1x Arduino UNO1x RS1307时钟模块4x 跳线接线示意图RS1...
RS1307时钟模块

RS1307是一个低功耗的外置时钟模块,它可以让你的项目即使在断电的情况下,也能保证在重新启动后走时正确。

所需材料

  • 1x Arduino UNO
  • 1x RS1307时钟模块
  • 4x 跳线

接线示意图

RS1307/RS1302与Arduino相连的接线图
RS1307/RS1302与Arduino相连的接线图
RS1307 Arduino
SDA -> Analog A4
SCL -> Analog A5
VCC -> 5V
GND -> GND

加载库文件

  • 这里下载RTClib库,然后手动加载到Arduino IDE中。

示例代码


#include <Wire.h>
#include "RTClib.h"

RTC_DS1307  rtc; // Create a RealTimeClock object

void setup() { 
  Serial.begin(9600); 
  Serial.println("YourDuino.com DS1307 Real Time Clock - Set / Run Utility"); 

 #if def AVR 
   Wire.begin();
 #else 
   Wire1.begin(); 
 #end if 

  rtc.begin(); 
// Start the RTC library code 
/*----( SET the date and time. Comment OUT these lines after setting )----*/ 
// Put these "//" in front of the line you do NOT want to use // following line sets the RTC to the date & time this sketch was compiled 
  rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); // This line sets the RTC with an explicit date & time, for example to set 
// May 21, 2015 at 6pm you would call: (use 24 hour time) 
// rtc.adjust(DateTime(2015, 5, 21, 18, 0, 0));
}
//--(end setup )---
void loop(){ 
  DateTime now = rtc.now(); // Read data from the RTC Chip       
  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(3000);
}//--(end main loop )---
/*-----( Declare User-written Functions )-----*/
//NONE//*********( THE END )***********

输出结果

    ---------------------( COPY )--------------------------
              2015/4/26 19:29:32
              2015/4/26 19:29:35
              2015/4/26 19:29:38
     -----------------( END COPY )----------------------

参考文献

https://arduino-info.wikispaces.com/DS1307_RealTime_Clock_Brick

目录
相关文章
|
5月前
|
前端开发 安全
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
stm32f407探索者开发板(十一)——SystemInit时钟系统初始化剖析
223 0
|
5月前
stm32f407探索者开发板(十四)——IO引脚复用和映射
stm32f407探索者开发板(十四)——IO引脚复用和映射
542 0
|
5月前
|
传感器 编解码 API
【STM32开发入门】温湿度监测系统实战:SPI LCD显示、HAL库应用、GPIO配置、UART中断接收、ADC采集与串口通信全解析
SPI(Serial Peripheral Interface)是一种同步串行通信接口,常用于微控制器与外围设备间的数据传输。SPI LCD是指使用SPI接口与微控制器通信的液晶显示屏。这类LCD通常具有较少的引脚(通常4个:MISO、MOSI、SCK和SS),因此在引脚资源有限的系统中非常有用。通过SPI协议,微控制器可以向LCD发送命令和数据,控制显示内容和模式。
218 0
|
7月前
|
缓存 网络协议 算法
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
[蓝桥杯嵌入式]hal库 stm32 PWM的使用(随时修改占空比,随时修改频率)
|
传感器 机器人 Linux
Linux驱动基础(HC-SR04超声波模块)
Linux驱动基础(HC-SR04超声波模块)
156 0
|
7月前
|
Perl
【ZYNQ】SPI 简介及 EMIO 模拟 SPI 驱动示例
【ZYNQ】SPI 简介及 EMIO 模拟 SPI 驱动示例
695 0
51单片机学习--LCD模块使用
51单片机学习--LCD模块使用
145 0
|
Linux Android开发 Windows
实战项目(2)STM32cubeMX配置蓝牙模块
实战项目(2)STM32cubeMX配置蓝牙模块
671 0
|
C语言 芯片
ARM架构与编程--基于STM32F103 (1)LED原理图
当我们学习C语言的时候,我们会写个Hello程序。那当我们写ARM程序,也该有一个简单的程序引领我们入门,这个程序就是点亮LED。 我们怎样去点亮一个LED呢? 分为三步: 1.看原理图,确定控制LED的引脚; 2.看主芯片的芯片手册,确定如何设置控制这个引脚; 3.写程序;
175 0