Đồng Hồ Thời Gian Thực Ds1307 Arduino Sử Dụng Ds1307, Module Thời Gian Thực Rtc Ds1307

Trong nội dung bài viết này, chúng ta sẽ tìm hiểu về đồng hồ thời gian thực (RTC – Real Time Clock) với cách giao tiếp Arduino với module thời hạn thực DS1307.

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

Đồng hồ thời gian thực xuất xắc RTC (Real Time Clock) là 1 thiết bị định thời gian, thường được chế tạo dưới dạng IC. IC RTC chạy bằng pin cùng theo dõi thời hạn hiện tại ngay cả khi không tồn tại điện.

IC đồng hồ thời trang thời gian thực có mặt trong máy tính, sever (server), các khối hệ thống nhúng cùng trên thực tế, bọn chúng được áp dụng ở bất cứ đâu, rất nhiều nơi bắt buộc thông tin thời gian chính xác.


Nội dung bài viết

Giới thiệu IC thời gian thực DS1307Giao tiếp Arduino cùng với DS1307

Tại sao bọn họ cần đồng hồ thời trang thời gian thực (RTC)?

Mặc dù Arduino và hầu như tất cả các bộ vi điều khiển đều phải có bộ định thời (timer) và bộ định thời hạn (hàm millis () trong trường đúng theo Arduino) nhưng mà chúng phụ thuộc vào vào mối cung cấp điện, có nghĩa là chúng chỉ chuyển động khi có nguồn cung cấp. Sau khi tắt nguồn (theo cách thủ công bằng tay hoặc bởi mất điện), tất cả bộ định giờ đồng hồ được reset về 0.

Mặc dù việc định thời gian bằng cỗ định thời tích hợp sẵn được đồng ý cho các ứng dụng đối chọi giản, nhưng một số trường phù hợp khác chúng ta cần một chiến thuật thay thế trong số ứng dụng như bộ ghi dữ liệu, đồng hồ, báo thức, v.v.. Trong đó bộ đếm thời hạn chạy hòa bình bất nhắc nguồn điện phía bên ngoài hoặc nếu bộ vi điều khiển (hoặc Arduino) được lập trình sẵn lại.

Khi kể tới việc sử dụng IC thời hạn thực. Hầu như tất cả các IC RTC gần như là các thiết bị dòng điện phải chăng chạy trong vô số nhiều năm bên trên một sạc pin lithium tốt nhất (thường là CR2032). Trong số những IC RTC phổ cập và được sử dụng thông dụng nhất là DS1307.

Giới thiệu IC thời gian thực DS1307

IC thời gian thực (RTC) DS1307 gồm chức năng tin báo thời gian hiện tại (thời gian thực): giờ, phút, giây, thứ, ngày tháng, năm một cách đúng đắn ngay cả khi thiết bị đã bị tắt (ngắt điện ngoài). Giao tiếp với vi điều khiển và tinh chỉnh thông qua chuẩn I2C, cùng đóng sứ mệnh là slave khi kết nối đến bus I2C này. Có thể đếm thời gian theo định dạng 24 giờ hoặc 12 giờ đồng hồ với thông tư AM/PM. Bên cạnh đó bên trong chíp gồm bộ dò phát hiện tại mất mối cung cấp và tự động chuyển sang thực hiện nguồn sạc dự phòng. Một vài tính năng trông rất nổi bật của IC RTC DS1307 được nói dưới đây.

Lưu trữ và cung ứng các thông tin thời gian thực:ngày, tháng, năm, giờ, phút, giây,…Khả năng tùy chỉnh ngày cho năm 2100.Tiêu thụ điện năng thấp: chiếc tiêu thụ bên dưới 500n
A khi hoạt động bằng pin.Tự động đưa sang nguồn pin trong trường phù hợp mất điện.Đồng hồ 24 giờ đồng hồ hoặc 12 giờ đồng hồ với chỉ báo AM/PM.Sử dụng chuẩn chỉnh giao tiếp I2C.

Download datasheet DS1307 tại đây.

RTC DS1307 có sẵn dưới dạng module, bao gồm tất cả các thành phần quan trọng như pin, đầu nối, năng lượng điện trở kéo lên cùng tinh thể thạch anh. Một module vậy nên được thực hiện trong bài bác hướng dẫn này và được hiển thị mặt dưới.

*
*

Hoạt đụng của mạch

Một ứng dụng đơn giản trong kia Arduino UNO được tiếp xúc với module thời hạn thực DS1307 nhằm hiển thị thời giờ lên màn hình hiển thị LCD. Trong ứng dụng này, bọn họ sẽ lập trình cho DS1307 RTC cùng với ngày giờ lúc này và coi liệu nó gồm thực sự giữ tài liệu đó hay không ngay cả lúc nguồn cung ứng cho Arduino bị loại bỏ bỏ.

Một thư viện đặc biệt quan trọng được hotline là “RTClib” được thực hiện trong chương trình. Các bạn có thể tải xuống từ liên kết này. Đảm bảo rằng thư viện được thiết lập xuống trước cùng được cung ứng cơ sở dữ liệu thư viện Arduino.

Xem thêm: Hũ 400gr mứt dâu tằm đà lạt, hũ 400gr mứt dâu tằm nguyên xác đà lạt

Để nạp tài liệu và thời hạn vào IC DS1307 RTC, họ sẽ áp dụng một chức năng có sẵn trong thư viện RTClib, vị trí Arduino sẽ cài đặt ngày cùng giờ từ máy tính xách tay lên ngay lúc chương trình được hấp thụ vào.

Chương trình

// công tác hiển thị thời gian thực bên trên LCD cần sử dụng module RTC DS1307

#include

#include

#include “RTClib.h”

RTC_DS1307 rtc;

Liquid
Crystal lcd(7, 6, 5, 4, 3, 2); // (rs, e, d4, d5, d6, d7)

char days
Of
The
Week<7><12> = “Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”;

void thiết lập ()

Serial.begin(9600);

lcd.begin(16, 2);

if (! rtc.begin())

lcd.print(“Khong the tim cầm cố RTC”);

while (1);

if (! rtc.isrunning())

lcd.print(“RTC khong hoat dong!”);

rtc.adjust(Date
Time(F(__DATE__), F(__TIME__)));

//rtc.adjust(Date
Time(2014, 1, 21, 3, 0, 0));

void loop ()

Date
Time now = rtc.now();

lcd.set
Cursor(0, 1);

lcd.print(now.hour());

lcd.print(‘:’);

lcd.print(now.minute());

lcd.print(‘:’);

lcd.print(now.second());

lcd.print(” “);

lcd.set
Cursor(0, 0);

lcd.print(days
Of
The
WeekOf
The
Week()>);

lcd.print(” ,”);

lcd.print(now.day());

lcd.print(‘/’);

lcd.print(now.month());

lcd.print(‘/’);

lcd.print(now.year());

Ứng dụng

Với sự trợ giúp của giao tiếp đồng hồ thời trang thời gian thực và Arduino, bạn cũng có thể thực hiện một vài ứng dụng liên quan đến ghi dữ liệu, báo thức, đồng hồ, v.v.Vì module RTC DS1307 được cung ứng cấp nguồn bởi pin vì thế nó sẽ tiếp tục bảo trì thời gian ngay cả trong trường phù hợp mất điện.

Ở nội dung bài viết hôm trước tôi đã hướng dẫn chúng ta cách sử dụngModulethời gian thực RTC DS1307 và giải pháp hiển thị ký kết tự lên screen LCD 16×2 bằng giao tiếp I2C.

Tiếp tục trong chuỗi bài viết về LCD hôm nay mình vẫn hướng dẫn chúng ta làm nuốm nào nhằm hiển thị thời gianlên LCD16x2.


Để đọc hơn về bài viết hôm naycác bạn đọc lạibài viết bên dưới rồi họ tiếp tụcnha.

Hiển thị thời hạn thực lên LCD16x2 thực hiện module RTC DS1307

Màn hình LCD 16×2Arduino UNO R3
GNDGND
VCC5V
SDAA4/SDA
SCLA5/SCL
Module RTC DS1307
GNDGND
VCC5V
SDAA4/SDA
SCLA5/SCL

*

Linh kiện quan trọng cho dự án

Tên linh kiệnSố lượngShopee
Arduino Uno R31Mua ngay
Cáp nạp1Mua ngay
Module RTC DS13071 Mua ngay
Màn hình LCD 16×21 Mua ngay
Module I2C LCD 16×21 Mua ngay
Dây cắn (Đực – Cái)1 Mua ngay

Thư viện


Code mẫu RTC DS1307

#include #include #include "RTClib.h"RTC_DS1307 rtc;Liquid
Crystal_I2C lcd(0x3F,16,2);char days
Of
The
Week<7><12> = "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat";void thiết lập () Serial.begin(9600); lcd.init(); lcd.backlight(); if (! rtc.begin()) lcd.print("Couldn"t find RTC"); while (1); if (! rtc.isrunning()) lcd.print("RTC is NOT running!"); rtc.adjust(Date
Time(F(__DATE__), F(__TIME__)));//auto update from computer time //rtc.adjust(Date
Time(2014, 1, 21, 3, 0, 0));// khổng lồ set the time manualy void loop () { Date
Time now = rtc.now(); lcd.set
Cursor(4, 1); if(now.hour()

*

Giải ưng ý code

Trong nội dung bài viết Đồng hồ thời gian thực (Read Time Clock – DS1307) sử dụng Arduinomình đã lý giải rất cụ thể cách hoạt động của hàm chúng ta xem lại nội dung bài viết để rất có thể hiểu hơn nhé.

Lời kết

Tham gia cộng đồng Arduino KIT Để nhận được nhiều kiến thức ngã ích, các bạn Đă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 để thuộc nhau bàn luận và phân chia sẽ kiến thức vềlập trình Arduino. Nếu chúng ta thấy bài viết bổ ích ghi nhớ Like với Share đến mọi tín đồ cùng họcnhé.

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

Trân trọng.


*

*

*

Khi chúng ta đăng nhập lần thứ nhất bằng nút Đăng nhập xóm hội, chúng tôi thu thập thông tin hồ sơ công khai minh bạch tài khoản của doanh nghiệp được chia sẻ bởi nhà hỗ trợ Đăng nhập xóm hội, dựa trên thiết lập quyền riêng tư của bạn. Chúng tôi cũng dìm được showroom email của công ty để tự động tạo tài khoản cho bạn trong trang web của chúng tôi. Lúc tài khoản của chúng ta được tạo, các bạn sẽ đăng nhập vào tài khoản này.
Khi bạn đăng nhập lần đầu tiên bằng nút Đăng nhập buôn bản hội, công ty chúng tôi thu thập thông tin hồ sơ công khai tài khoản của người tiêu dùng được share bởi nhà cung ứng Đăng nhập làng hội, dựa trên setup quyền riêng tư của bạn. Công ty chúng tôi cũng nhận được showroom email của chúng ta để tự động hóa tạo tài khoản cho mình trong website của bọn chúng tôi. Khi tài khoản của người sử dụng được tạo, bạn sẽ đăng nhập vào tài khoản này.

Leave a Reply

Your email address will not be published. Required fields are marked *

x

Welcome Back!

Login to your account below

Retrieve your password

Please enter your username or email address to reset your password.