Kết nối với DS1307

Một phần của tài liệu [GiaoTrinh]-MicrobitSmartHome (Trang 90 - 92)

DS1307 là một thiết bị điện tử tích hợp (gọi là IC - Integrated Circuit), giao tiếp với các hệ thống khác thông qua kênh truyền nối tiếp I2C. Đây là giao thức mà bạn đọc đã làm việc với LCD kí tự. Bằng việc định địa chỉ cho một thiết bị, I2C có thể mở

rộng giao tiếp lên đến 128 thiết bị khác nhau. Như vậy, DS1307 chỉ có thể kết nối vào mạch mở rộng ở khe I2C thứ 2, bên cạnh khe dành cho LCD ở các bài trước. Lưu ý rằng khe I2C này là khe kết nối chung, nên vị trí kết nối không quan trọng. Bạn chỉ đơn giản là gắn vào đúng chân kết nối có chữ I2C trên mạch mở rộng là được.

Tuy nhiên, đây vẫn là thiết bị cần dòng lớn, do nó cần sạc pin có sẵn trên thiết bị. Do đó, ngoài các chân tín hiệu được nối vào khe I2C, nguồn của DS1307 cần phải nối lên 5V. Chúng ta sẽ tận dụng khe cắp nguồn cho động cơ servo để cấp cho mô đun thời gian thực. Mô hình kết nối giữa mạch mở rộng và thiết bị thời gian thực của chúng ta sẽ như sau:

Hình 11.2:Kết nối với đồng hồ thời gian thực

Chúng ta sẽ tận dụng nguồn 5V từ cổng kết nối SERVO1 để cấp cho đồng hồ. Trong khi đó, ba chân tín hiệu còn lại sẽ được nối vào cổng I2C của mạch mở rộng. Các thiết bị khác được lược bỏ trong sơ đồ kết nối này để tiện lợi cho bạn đọc theo dõi, do hệ thống của chúng ta đang có rất nhiều thiết bị kết nối đồng thời.

Có 2 thao tác chính với DS1307, được tóm tắt như sau:

• Ghi dữ liệu thời gian vào DS1307: Đây thường là tác vụ chỉ làm một lần khi cài đặt hệ thống. Thông tin về giờ phút giây, ngày tháng năm sẽ được ghi vào DS1307. Từ dó, các thông tin này sẽ tự động được cập nhật theo đúng quy luật về thời gian.

• Đọc dữ liệu thời gian từ DS1307: Đây là tác vụ làm thường xuyên khi vận hành hệ thống. Chúng ta sẽ định kì đọc dữ liệu thời gian từ DS1307 và hiển thị nó lên màn hình.

Một phần của tài liệu [GiaoTrinh]-MicrobitSmartHome (Trang 90 - 92)