Đồng hồ thời hạn thực hay còn được gọi với cái thương hiệu là Read Time Clock áp dụng Module DS1307. Được thực hiện rất phổ cập trong những ứng dụng của Arduino.

Bạn đang xem: Mạch đồng hồ thời gian thực ds1307

Để hoàn toàn có thể làm vấn đề với module này họ cần sử dụng một chuẩn giao tiếp cũngkhá không còn xa lạ là I2C Bus.


Để các bạn cũng có thể hiểu rõ hơn chúng ta đi ngay vào nội dung bài viết nhé.

Real Time Clock DS1307(RTC)

Module DS1307 là trong số những module RTC chi tiêu phải chăng và được sử dụng thông dụng nhất.Nó có thể theo dõi đúng đắn giây, phút, giờ, ngày, tháng với năm.


*
*
*
*

Code:

#include #include #include "RTClib.h"RTC_DS1307 rtc;char daysOfTheWeek<7><12> = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat";void setup () Serial.begin(9600); if (! rtc.begin()) Serial.print("Couldn"t find RTC"); while (1); if (! rtc.isrunning()) Serial.print("RTC is NOT running!"); Serial.println(); rtc.adjust(DateTime(F(__DATE__), F(__TIME__))); //rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));void loop (){ DateTime now = rtc.now(); if(now.hour()

Giải thích code

RTC_DS1307 rtc;char daysOfTheWeek<7><12> = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat";Ban đầu họ tạo một đối tượng người dùng của thư viện RTClib là rtc và khẳng định mảng ký tự daysOfTheWeek để lưu trữ tin tức ngày trong tuần.

Hàm rtc.begin() vàrtc.isrunning()

Hàm rtc.begin() là hàm khởi tạo ra để đảm bảo module RTC được kết nối.


Hàm rtc.isrunning() là hàm đọc các thanh ghi bên trong I2C của DS1307 để kiểm soát xem chip tất cả trả về thời gian hay không.

Nếu hàm trả về quý giá False thìđặt lại thời gian.

Hàm rtc.adjust()

Hàmrtc.adjust() là hàm để ngày với giờ.

Chúng ta có 2 phương pháp đặt ngày giờ:


DateTime(F(__DATE__), F(__TIME__)) biện pháp này chúng ta cập nhật thời gian auto từ sản phẩm công nghệ tính.DateTime(YYY, M, D, H, M, s) bí quyết này chúng ta thiết lập tiếng thủ công.

Một số hàm khác:

Hàmrtc.now()Trả về ngày và giờ hiện tại.Giá trị trả về của chính nó thường được tàng trữ trong thay đổi của kiểu tài liệu DateTime.

Xem thêm: Cách Mặc Áo Vest Nam Đẹp, Chuẩn Như Soái Ca, Mặc Vest Nam Đúng Cách

Hàmyear()Trả về năm hiện nay tại.
Hàmmonth()Trả về tháng hiện tại.
Hàmday()Trả về ngày hiện tại tại.
HàmdaysOfTheWeek()Trả về ngày lúc này trong tuần.
Hàmhour()Trả về giờ hiện tại tại.
Hàmminute()Trả về phút hiện tại tại.
Hàmsecond()Trả về giây hiện tại.

Lời kết

Bài viết tương đối dài buộc phải mình sẽ tạm dừng ở đây, trong nội dung bài viết tiếp theo mình sẽ hướng dẫn các bạn cáchhiển thị thời gian thực DS1307 lên màn hình hiển thị LCD16X2 các bạn đón xem nhé.

Tham gia xã hội Arduino KIT Để nhận được nhiều kiến thức ngã ích, chúng ta Đăng cam kết để nhậnthông báo lúc có nội dung bài viết mới nhé. Tham gia cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kỹ năng và kiến thức vềlập trình Arduino. Nếu các bạn thấy nội dung bài viết bổ ích nhớ Like với Share mang đến mọi fan cùng họcnhé.

Chúc chúng ta thành công.