Thư viện ds1307

      20

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

Bạn đang xem: Thư viện ds1307

Để có thể làm việc với module này bọn họ cần áp dụng một chuẩn giao tiếp cũngkhá rất gần gũi là I2C Bus.


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

Real Time Clock DS1307(RTC)

Module DS1307 là giữa những module RTC giá cả phải chăng cùng được sử dụng phổ cập nhất.Nó có thể theo dõi đúng đắn giây, phút, giờ, ngày, tháng và năm.


*

Một số tính năng quan trọng đặc biệt của DS1307 là:

Khả năng tạo sóng vuông có thể lập trình.Dòng điện thấp, dưới 500mA trong chính sách sao lưu giữ pin.Khả năng thiết lập cấu hình ngày mang lại năm 2100.Sử dụng chuẩn chỉnh giao tiếpI2C.

ModuleDS1307 sử dụng pinCR2023 3 volt.Bộ nhớ EEPROM 24c32 nhúng bên trên mô-đun này rất có thể tiết kiệm 32kb dữ liệu.


Ngoài ra, các bạn cũng có thể đo nhiệt độ môi trường bằng phương pháp sử dụngcảm biến hóa DS18B20 đã được tích phù hợp sẵn trên board mạch.

Đọc giá trị điện áp của sạc từ chân BAT.

Các chân chức năng:

PINChức năng
VCCCấp nguồn từ 3.3V – 5.5V
GNDNối vào cực âm của mạch
SCL
SDA
DS

Sơ đồ vật đấu nối

Arduino UNOModule RTC DS1307
GNDGND
5VGND
A4SDA
A5SCL

*

Các linh kiện cần thiết cho dự án:

Tên linh kiệnSố lượngShopee
Arduino Uno R31Mua ngay
Cáp nạp1 Mua ngay
RTC DS13071 Mua ngay
Dây gặm (Đực – Cái)1 Mua ngay

*

Code:

#include #include #include "RTClib.h"RTC_DS1307 rtc;char daysOfTheWeek<7><12> = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat";void cài đặt () 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 mê thích code

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

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

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


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

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

Hàm rtc.adjust()

Hàmrtc.adjust() là hàm đặt ngày cùng giờ.

Xem thêm: Cú Đạp Khiến Nữ Đô Vật Mỹ Chết Vì Đau Tim Trong Khi Thi Đấu, Cú Đạp Khiến Nữ Đô Vật Wwe Chết Trên Sàn Đấu

Chúng ta bao gồm 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 tự động hóa từ lắp thêm tính.DateTime(YYY, M, D, H, M, s) giải pháp này bọn họ thiết lập tiếng thủ công.

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

Hàmrtc.now()Trả về ngày & giờ hiện nay tại.Giá trị trả về của chính nó thường được tàng trữ trong trở thành của kiểu dữ liệu DateTime.
Hàmyear()Trả về năm hiện tại tại.
Hàmmonth()Trả về tháng hiện tại.
Hàmday()Trả về ngày hiện tại.
HàmdaysOfTheWeek()Trả về ngày hiện tại trong tuần.
Hàmhour()Trả về giờ hiện tại.
Hàmminute()Trả về phút hiện nay tại.
Hàmsecond()Trả về giây hiện tại tại.

Lời kết

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

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

Chúc các bạn thành công.

tăng like fanpage | LOTO188 CITY