SKU:RB-02S101 RTC时钟模块

来自ALSROBOT WiKi
2016年7月27日 (三) 15:36Arduino77讨论 | 贡献的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
RB02S10101.png

目录

产品概述

产品是一款低功耗,具有56字节非失性RAM的全BCD码时钟日历实时时钟模块,芯片可以提供秒,分,小时等信息,每一个月的天数能自动调整。并且有闰年补偿功能。AM/PM 标志位决定时钟工作于24小时或12小时模式,芯片有一个内置的电源感应电路,具有掉电检测和电池切换功能。当单片机断电情况下,可以通过一个电池让单片机项目时间保持记录,完善的数据记录。

规格参数

  1. 产品货号:
  2. 工作电压 :+5v
  3. 主控芯片:DS1307
  4. 工作温度范围:0°C to +70°C
  5. 接口类型:IIC 通信接口
  6. 固定孔:4个 * M3
  7. 产品尺寸:45mm * 25mm

接口定义

RTC时钟模块引脚定义:

  • SDA:I2C 数据引脚
  • SCK:I2C 时钟引脚
  • +:电源(VCC)
  • -:地(GND)

使用方法

硬件连接

RB02S10102.png

例子程序

将下列程序上传到 Carduino 控制器中

将下载到的压缩文件解压到到 Arduino IDE 软件的 libraries 文件中(·····\arduino-1.7.6\libraries),启动 Arduino IDE 选择文件 -- 示例 -- RB-02S101_RTC_Module-master -- 打开 example - ds1307 例子程序,上传到 Arduino UNO 控制器中,就可以实现代码测试。操作方法下图所示:
解压过程

05L007A10.png
05L007A11.png
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include "RTClib.h"

#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
   #define Serial SerialUSB
#endif

RTC_DS1307 rtc;

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void setup () {

#ifndef ESP8266
  while (!Serial); // for Leonardo/Micro/Zero
#endif

  Serial.begin(57600);
  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }

  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    // 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
     rtc.adjust(DateTime(2016, 7, 27, 13, 0, 0));//2016年7月27,13点整
  }
}

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(daysOfTheWeek[now.dayOfTheWeek()]);
    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);
}

程序效果

RB02S10103.png

产品相关推荐

Erweima.png

产品购买地址

Arduino 4WD 语音识别移动机器人平台

周边产品推荐

串行1602液晶显示模块
1602液晶扩展板 v2.0 Arduino LCD 1602 Keypad Shield
Arduino四位七段数码管

相关学习资料

DS1307 datasheet