“SKU:RB-02S101 RTC時鐘模塊”的版本間的差異

來自ALSROBOT WiKi
跳轉(zhuǎn)至: 導(dǎo)航搜索
?基本例程
?產(chǎn)品相關(guān)推薦
 
(未顯示1個用戶的6個中間版本)
第3行: 第3行:
 
RTC 時鐘模塊是一款低功耗,具有 56 字節(jié)非失性 RAM 的全 BCD 碼時鐘日歷實(shí)時時鐘模塊,芯片可以提供秒,分,小時等信息,每一個月的天數(shù)能自動調(diào)整。并且有閏年補(bǔ)償功能。AM/PM 標(biāo)志位決定時鐘工作于 24 小時或 12 小時模式,芯片有一個內(nèi)置的電源感應(yīng)電路,具有掉電檢測和電池切換功能。當(dāng)單片機(jī)斷電情況下,可以通過一個電池讓單片機(jī)項目時間保持記錄,完善的數(shù)據(jù)記錄。
 
RTC 時鐘模塊是一款低功耗,具有 56 字節(jié)非失性 RAM 的全 BCD 碼時鐘日歷實(shí)時時鐘模塊,芯片可以提供秒,分,小時等信息,每一個月的天數(shù)能自動調(diào)整。并且有閏年補(bǔ)償功能。AM/PM 標(biāo)志位決定時鐘工作于 24 小時或 12 小時模式,芯片有一個內(nèi)置的電源感應(yīng)電路,具有掉電檢測和電池切換功能。當(dāng)單片機(jī)斷電情況下,可以通過一個電池讓單片機(jī)項目時間保持記錄,完善的數(shù)據(jù)記錄。
 
==規(guī)格參數(shù)==
 
==規(guī)格參數(shù)==
?
# 產(chǎn)品貨號:RB - 02S101
+
# 產(chǎn)品貨號:RB-02S101
?
# 工作電壓 :DC 5V
+
# 工作電壓:DC 5V
 
# 主控芯片:DS1307
 
# 主控芯片:DS1307
 
# 晶振頻率:32.768 KHz
 
# 晶振頻率:32.768 KHz
第12行: 第12行:
 
# 固定孔:4個 * M3
 
# 固定孔:4個 * M3
 
# 產(chǎn)品尺寸:45mm * 25mm
 
# 產(chǎn)品尺寸:45mm * 25mm
?
 
  
 
* 產(chǎn)品尺寸圖:
 
* 產(chǎn)品尺寸圖:
第23行: 第22行:
 
* +:電源(VCC)
 
* +:電源(VCC)
 
* -:地(GND)
 
* -:地(GND)
?
==使用方法==
+
 
?
===基本例程===
+
==使用方法1(Arduino 控制器)==
?
* 硬件連接
+
===使用硬件===
 +
* Arduino UNO 控制器
 +
* RTC 時鐘模塊
 +
* USB 數(shù)據(jù)線
 +
* 杜邦線若干
 +
 
 +
===硬件連接===
 
[[文件:RB02S10102.png|700px|縮略圖|居中]]
 
[[文件:RB02S10102.png|700px|縮略圖|居中]]
?
* 例子程序
+
===Arduino_code_1===
?
將下列程序上傳到 Starduino UNO R3 控制器中<br/>
+
 
?
1、[http://gharee.com/wiki/index.php/Arduino%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B#Arduino.E7.82.B9.E4.BA.AELED.E5.AE.9E.E9.AA.8C 點(diǎn)擊此處 Arduino 入門教程]查看程序上傳方法<br/>
+
?
2、[https://github.com/chenboyang77/RB-02S101_RTC_Module.git 例子程序下載]<br/>
+
?
將下載到的壓縮文件解壓到到 Arduino IDE 軟件的 libraries 文件中(·····\arduino-1.7.6\libraries),啟動 Arduino IDE 選擇文件 -- 示例 -- RB-02S101_RTC_Module-master -- 打開 example - ds1307 例子程序,上傳到 Arduino UNO 控制器中,就可以實(shí)現(xiàn)代碼測試。操作方法下圖所示:<br/>
+
?
解壓過程<br/>
+
?
[[文件:05L007A10.png|500px|縮略圖|居中]]
+
?
[[文件:05L007A11.png|700px|縮略圖|居中]]
+
 
<pre style='color:blue'>
 
<pre style='color:blue'>
 
#include <Wire.h>
 
#include <Wire.h>
第79行: 第78行:
 
</pre>
 
</pre>
  
?
* 程序效果
+
===程序效果===
 
[[文件:RB02S10103.png|420px|縮略圖|居中]]
 
[[文件:RB02S10103.png|420px|縮略圖|居中]]
  
?
===擴(kuò)展例程===
+
==使用方法2(Arduino 控制器)==
 +
===使用硬件===
 +
* Arduino UNO R3 控制器 * 1 個
 +
* V5.0 傳感器擴(kuò)展板 * 1 個
 +
* 四位七段數(shù)碼管 * 1 個
 +
* RTC 時鐘模塊 * 1 個
 +
* 傳感器連接線若干
  
?
* 硬件準(zhǔn)備
+
===硬件連接===
?
# Carduino UNO R3 控制器 * 1 個
+
?
# V5.0 傳感器擴(kuò)展板 * 1 個
+
?
# 四位七段數(shù)碼管 * 1 個
+
?
# RTC 時鐘模塊 * 1 個
+
?
# 傳感器連接線若干
+
?
 
+
?
* 硬件連接
+
 
[[文件:RB05L021100.png|600px|縮略圖|居中]]
 
[[文件:RB05L021100.png|600px|縮略圖|居中]]
?
 
+
===Arduino_code_2===
?
* 例子程序
+
<pre style='color:blue'>
?
可通過選擇示例 - ClockDisplay_now 打開例程,也可以通過復(fù)制程序粘貼到 IDE 的編輯界面 <br/>
+
#include <TimerOne.h>
?
<pre style='color:blue'>#include <TimerOne.h>
+
 
#include "TM1637.h"
 
#include "TM1637.h"
 
#include <Wire.h>
 
#include <Wire.h>
第102行: 第99行:
 
#define ON 1
 
#define ON 1
 
#define OFF 0
 
#define OFF 0
?
#if defined(ARDUINO_ARCH_SAMD)
 
?
#define Serial SerialUSB
 
?
#endif
 
  
 
RTC_DS1307 rtc;
 
RTC_DS1307 rtc;
第127行: 第121行:
 
   Timer1.initialize(500000);
 
   Timer1.initialize(500000);
 
   Timer1.attachInterrupt(TimingISR);
 
   Timer1.attachInterrupt(TimingISR);
?
  #ifndef ESP8266
 
?
  while (!Serial);
 
?
  #endif
 
 
   Serial.begin(57600);
 
   Serial.begin(57600);
 
   if (! rtc.begin()) {
 
   if (! rtc.begin()) {
第137行: 第128行:
 
   if (! rtc.isrunning()) {
 
   if (! rtc.isrunning()) {
 
     Serial.println("RTC is NOT running!");
 
     Serial.println("RTC is NOT running!");
?
    rtc.adjust(DateTime(2016, 7, 27, 13, 0, 0));
+
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //獲取電腦的系統(tǒng)時間
 +
  // rtc.adjust(DateTime(2017, 4, 2, 13, 57, 0));
 
   }
 
   }
 
}
 
}
第165行: 第157行:
 
   TimeDisp[2] = val / 10;
 
   TimeDisp[2] = val / 10;
 
   TimeDisp[3] = val % 10;
 
   TimeDisp[3] = val % 10;
?
}</pre>
+
}
 +
</pre>
  
?
* 程序效果
+
===程序效果===
 
數(shù)碼管實(shí)時電子時鐘。
 
數(shù)碼管實(shí)時電子時鐘。
  
 
==產(chǎn)品相關(guān)推薦==
 
==產(chǎn)品相關(guān)推薦==
 
[[文件:erweima.png|230px|無框|右]]
 
[[文件:erweima.png|230px|無框|右]]
?
===例子程序下載===
+
===資料下載===
?
例子程序及庫文件下載鏈接:http://pan.baidu.com/s/1bpqzI3t 密碼:g30k
+
例程下載鏈接: https://pan.baidu.com/s/17MEoniYbgygkhcAB5iAqSQ 提取碼:tsyj
 
===產(chǎn)品購買地址===
 
===產(chǎn)品購買地址===
 
[http://gharee.com/goods-767.html RTC 時鐘模塊]<br/>
 
[http://gharee.com/goods-767.html RTC 時鐘模塊]<br/>

2021年7月21日 (三) 10:05的最后版本

RB02S1010111.png

目錄

產(chǎn)品概述

RTC 時鐘模塊是一款低功耗,具有 56 字節(jié)非失性 RAM 的全 BCD 碼時鐘日歷實(shí)時時鐘模塊,芯片可以提供秒,分,小時等信息,每一個月的天數(shù)能自動調(diào)整。并且有閏年補(bǔ)償功能。AM/PM 標(biāo)志位決定時鐘工作于 24 小時或 12 小時模式,芯片有一個內(nèi)置的電源感應(yīng)電路,具有掉電檢測和電池切換功能。當(dāng)單片機(jī)斷電情況下,可以通過一個電池讓單片機(jī)項目時間保持記錄,完善的數(shù)據(jù)記錄。

規(guī)格參數(shù)

  1. 產(chǎn)品貨號:RB-02S101
  2. 工作電壓:DC 5V
  3. 主控芯片:DS1307
  4. 晶振頻率:32.768 KHz
  5. 工作溫度范圍:0°C to +70°C
  6. 接口類型:IIC 通信接口
  7. 配套電池型號:3V CR1220 紐扣電池
  8. 固定孔:4個 * M3
  9. 產(chǎn)品尺寸:45mm * 25mm
  • 產(chǎn)品尺寸圖:
Size032.jpg

接口定義

RTC時鐘模塊引腳定義:

  • SDA:I2C 數(shù)據(jù)引腳
  • SCK:I2C 時鐘引腳
  • +:電源(VCC)
  • -:地(GND)

使用方法1(Arduino 控制器)

使用硬件

  • Arduino UNO 控制器
  • RTC 時鐘模塊
  • USB 數(shù)據(jù)線
  • 杜邦線若干

硬件連接

RB02S10102.png

Arduino_code_1

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

RTC_DS1307 rtc;

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

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

  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //獲取電腦的系統(tǒng)時間
   // rtc.adjust(DateTime(2017, 4, 2, 13, 57, 0));
  }
}

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

使用方法2(Arduino 控制器)

使用硬件

  • Arduino UNO R3 控制器 * 1 個
  • V5.0 傳感器擴(kuò)展板 * 1 個
  • 四位七段數(shù)碼管 * 1 個
  • RTC 時鐘模塊 * 1 個
  • 傳感器連接線若干

硬件連接

RB05L021100.png

Arduino_code_2

#include <TimerOne.h>
#include "TM1637.h"
#include <Wire.h>
#include "RTClib.h"
#define ON 1
#define OFF 0

RTC_DS1307 rtc;

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

int8_t TimeDisp[] = {0x00,0x00,0x00,0x00};
unsigned char ClockPoint = 1;
unsigned char Update;
unsigned char minute = 0;
unsigned char hour = 12;
int stem,val;

#define CLK 5
#define DIO 4
TM1637 tm1637(CLK,DIO);

void setup()
{
  tm1637.set();
  tm1637.init();
  Timer1.initialize(500000);
  Timer1.attachInterrupt(TimingISR);
  Serial.begin(57600);
  if (! rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }
  if (! rtc.isrunning()) {
    Serial.println("RTC is NOT running!");
    rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //獲取電腦的系統(tǒng)時間
   // rtc.adjust(DateTime(2017, 4, 2, 13, 57, 0));
  }
}
void loop()
{
  DateTime now = rtc.now();  
  if(Update == ON)
  {  
    TimeUpdate();
    tm1637.display(TimeDisp);
  }
    stem = now.hour();
    val = now.minute();
}

void TimingISR()
{
    ClockPoint = (~ClockPoint) & 0x01;
    Update = ON;
}
void TimeUpdate(void)
{
  if(ClockPoint)tm1637.point(POINT_ON);
  else tm1637.point(POINT_OFF);
  TimeDisp[0] = stem/ 10;
  TimeDisp[1] = stem % 10;
  TimeDisp[2] = val / 10;
  TimeDisp[3] = val % 10;
}

程序效果

數(shù)碼管實(shí)時電子時鐘。

產(chǎn)品相關(guān)推薦

Erweima.png

資料下載

例程下載鏈接: https://pan.baidu.com/s/17MEoniYbgygkhcAB5iAqSQ 提取碼:tsyj

產(chǎn)品購買地址

RTC 時鐘模塊

周邊產(chǎn)品推薦

串行1602液晶顯示模塊
1602液晶擴(kuò)展板 v2.0 Arduino LCD 1602 Keypad Shield
Arduino四位七段數(shù)碼管

相關(guān)學(xué)習(xí)資料

DS1307 datasheet