Khác

DS1302 module thời gian thực RTC (kèm pin)

Mã sản phẩm: K12_39
DS1302 là ​Một  mô-đun đồng hồ thời gian thực (RTC) tiết kiệm năng lượng, chi phí thấp, theo dõi giây, phút, giờ, ngày, tháng và năm. Nó có tính năng tự động điều chỉnh độ dài tháng—bao gồm cả chỉnh sửa số tiền hiệu quả đến năm 2100—và tích hợp...
16,000₫
Hàng còn: 20
Số lượng
 
1
 
Thêm vào giỏ Mua ngay

Dịch vụ & Khuyến mãi

Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng

Giảm 5k cho đơn hàng trên 300k đồng

Giảm 10k cho đơn hàng trên 500k đồng

Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng

Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.

Chi tiết sản phẩm

DS1302 là ​Một  mô-đun đồng hồ thời gian thực (RTC) tiết kiệm năng lượng, chi phí thấp, theo dõi giây, phút, giờ, ngày, tháng và năm. Nó có tính năng tự động điều chỉnh độ dài tháng—bao gồm cả chỉnh sửa số tiền hiệu quả đến năm 2100—và tích hợp 31 byte RAM tĩnh không bay hơi. Khe cắm pin dự phòng giống như áo khoác (thường dành cho pin CR2032 hoặc CR1220) cho phép chip tiếp tục theo dõi thời gian ngay cả khi bộ điều khiển chính bị mất nguồn
 
Thông số kỹ thuật chính
  • Điện áp hoạt động : DC 3.3V đến 5V

  • Giao diện truyền thông : Kết nối nối tiếp đồng bộ 3 dây (CE/RST, I/O/DAT, SCLK)

  • Hệ thống chấm công : Có thể cấu hình giữa định dạng 12 giờ (có AM/PM) và 24 giờ.

  • Bộ dao động xung nhịp chính : Sử dụng tinh thể thạch anh tiêu chuẩn 32,768 kHz.

  • Mức tiêu thụ điện năng : Cực kỳ thấp, chỉ tiêu thụ dưới 300nA khi hoạt động bằng pin dự phòng.

 
Cấu hình chân cắm mô-đun
 
Mô-đun này thường có 5 chân để dễ dàng tích hợp với bảng mạch thử nghiệm và dây nối: 
  • VCC : Nguồn điện chính (kết nối với 3.3V hoặc 5V trên vi điều khiển của bạn)
  • GND : Nối đất chung
  • CLK / SCLK : Chân đầu vào xung nhịp nối tiếp
  • DAT/I/O : Chân dữ liệu nối tiếp hai chiều
  • RST / CE : Chân Reset / Kích hoạt chip (phải được kéo lên mức cao để bắt đầu truyền dữ liệu) 

 

Cách kết nối với Arduino
 
 

 

 
 
CÀI ĐẶT THƯ VIỆN TRONG ARDUINO:
 

 

 

CODE ARDUINO ĐỌC DỮ LIỆU RTC DS1302:

/*
  This code initializes and sets up the RTC DS1302 module and prints the current date and 
  time on the serial monitor. It also checks if the RTC is running and has a valid date and time. 
  If not, it sets the RTC to the compile time.
  Due to the time required for compilation and upload, there may be a time difference.

  Board: Arduino Uno R3 (or R4)
  Component: Real Time Clock Module  (DS1302)
  Library: https://github.com/Makuna/Rtc (Rtc by Makuna)
*/

#include <ThreeWire.h>
#include <RtcDS1302.h>

const int IO = 4;    // DAT
const int SCLK = 5;  // CLK
const int CE = 2;    // RST

ThreeWire myWire(4, 5, 2);  // IO, SCLK, CE
RtcDS1302<ThreeWire> Rtc(myWire);

void setup() {
  Serial.begin(9600);

  Serial.print("compiled: ");
  Serial.print(__DATE__);
  Serial.println(__TIME__);

  Rtc.Begin();

  RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);
  printDateTime(compiled);
  Serial.println();

  if (!Rtc.IsDateTimeValid()) {
    // Common Causes:
    //    1) first time you ran and the device wasn't running yet
    //    2) the battery on the device is low or even missing

    Serial.println("RTC lost confidence in the DateTime!");
    Rtc.SetDateTime(compiled);
  }

  if (Rtc.GetIsWriteProtected()) {
    Serial.println("RTC was write protected, enabling writing now");
    Rtc.SetIsWriteProtected(false);
  }

  if (!Rtc.GetIsRunning()) {
    Serial.println("RTC was not actively running, starting now");
    Rtc.SetIsRunning(true);
  }

  RtcDateTime now = Rtc.GetDateTime();
  if (now < compiled) {
    Serial.println("RTC is older than compile time!  (Updating DateTime)");
    Rtc.SetDateTime(compiled);
  } else if (now > compiled) {
    Serial.println("RTC is newer than compile time. (this is expected)");
  } else if (now == compiled) {
    Serial.println("RTC is the same as compile time! (not expected but all is fine)");
  }
}

void loop() {
  RtcDateTime now = Rtc.GetDateTime();

  printDateTime(now);
  Serial.println();

  if (!now.IsValid()) {
    // Common Causes:
    //    1) the battery on the device is low or even missing and the power line was disconnected
    Serial.println("RTC lost confidence in the DateTime!");
  }

  delay(5000);  // five seconds
}

#define countof(a) (sizeof(a) / sizeof(a[0]))

void printDateTime(const RtcDateTime& dt) {
  char datestring[20];

  snprintf_P(datestring,
             countof(datestring),
             PSTR("%02u/%02u/%04u %02u:%02u:%02u"),
             dt.Month(),
             dt.Day(),
             dt.Year(),
             dt.Hour(),
             dt.Minute(),
             dt.Second());
  Serial.print(datestring);
}

Bình luận

Không có sản phẩm nào trong giỏ hàng của bạn

Không có sản phẩm nào trong giỏ hàng của bạn

LINH KIỆN ĐIỆN TỬ ĐỨC HUY (29A BÙI XUÂN PHÁI)
Hotline 0942954739
LINH KIỆN ĐIỆN TỬ ĐỨC HUY (29A BÙI XUÂN PHÁI)