- Các thành phần bắt buộc:
- Thiết lập Raspberry Pi cho Đồng hồ báo thức:
- Sơ đồ mạch và kết nối:
- Giải thích chương trình và công việc:
Trong phần này, chúng ta sẽ giao diện Mô-đun đồng hồ thời gian thực DS1307 với Raspberry PI để tạo Đồng hồ báo thức. Mặc dù Raspberry Pi có đồng hồ bên trong, nhưng nếu không có kết nối internet, đồng hồ bên trong này sẽ đặt lại sau mỗi lần khởi động lại. Vì vậy, để có được THỜI GIAN chính xác mà không cần kết nối internet, chúng ta cần giao tiếp Mô-đun RTC DS1307 với Raspberry Pi. Mô-đun RTC có pin nút để dự phòng nên TIME sẽ không đặt lại. Chúng tôi cũng đã xây dựng Đồng hồ báo thức bằng Arduino và sử dụng Vi điều khiển ATmega32 AVR, hãy kiểm tra chúng.
Trong Đồng hồ kỹ thuật số Raspberry Pi này, màn hình LCD 16 * 2 ký tự để hiển thị Thời gian thực, Thời gian báo thức và trạng thái của báo thức (BẬT / TẮT). Khi chương trình bắt đầu chạy trong Pi, chúng ta có thể ngắt kết nối màn hình và có thể đặt báo thức với sự trợ giúp của màn hình LCD này và năm nút.
Mỗi trong số 17 chân GPIO có thể cung cấp hoặc tạo ra dòng điện tối đa 15mA. Vì vậy, không chơi với các chân GPIO và kiểm tra các kết nối hai lần trước khi cấp nguồn cho Raspberry Pi. Tìm hiểu thêm về Ghim GPIO và nút giao diện với Raspberry Pi tại đây. Ngoài ra, hãy xem Series Hướng dẫn Raspberry Pi của chúng tôi cùng với một số Dự án IoT tốt.
Các thành phần bắt buộc:
Ở đây chúng tôi đang sử dụng Raspberry Pi 2 Model B với Hệ điều hành Raspbian Jessie. Tất cả các yêu cầu cơ bản về Phần cứng và Phần mềm đã được thảo luận trước đây, bạn có thể tra cứu nó trong phần Giới thiệu Raspberry Pi và Nhấp nháy đèn LED Raspberry PI để bắt đầu, ngoài những điều chúng tôi cần:
- Raspberry Pi với hệ điều hành được cài đặt sẵn
- Mô-đun RTC DS1307 có pin
- Nguồn cấp
- Điện trở 1KΩ (6 miếng)
- 5 nút
- Tụ 1000uF (2 cái)
- LCD 16 * 2 ký tự
- Bóng bán dẫn 2N2222
- Buzzer
Thiết lập Raspberry Pi cho Đồng hồ báo thức:
Trước khi tiếp tục, chúng ta cần cấu hình Raspberry Pi một chút và cài đặt tệp thư viện cho Mô-đun RTC, hãy làm theo các bước sau:
Bước 1: Đầu tiên vào menu cấu hình Raspberry Pi và kích hoạt tùy chọn I2C như hình dưới đây:
Bước 2: Tạo một thư mục mới trên màn hình máy tính để bàn của Raspberry Pi và đặt tên là “Đồng hồ báo thức”
Bước 3: Tải xuống Tệp Tiêu đề cho mô-đun RTC từ liên kết dưới đây:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
Bước 4: Giải nén tệp zip đã tải xuống vào thư mục (Đồng hồ báo thức) được tạo trên DESKTOP, như đã nói ở bước trước.
Bước 5: Mở cửa sổ terminal trong Raspberry Pi và nhập lệnh dưới đây, sau đó nhấn enter:
sudo apt-get install i2c-tools
Lệnh này cài đặt các công cụ I2C cần thiết để giao tiếp mô-đun RTC. Sau đó khởi động lại Raspberry pi bằng cách ra lệnh ' sudo khởi động lại' .
Bước 6: Bây giờ chúng ta cần kiểm tra địa chỉ I2C của module RTC. Trước khi kiểm tra địa chỉ, trước tiên hãy kết nối mô-đun RTC như trong Sơ đồ mạch bên dưới.
Sau đó nhập bên dưới vào cửa sổ dòng lệnh.
sudo i2cdetect -y 0 HOẶC sudo i2cdetect -y 1
Bước 7: Nếu một trong hai lệnh trên hoạt động, bạn sẽ thấy như sau:
Bước 8: Bạn sẽ thấy địa chỉ I2C 0x68 nếu mô-đun RTC được kết nối đúng cách, ghi lại giá trị.
Với điều này, tất cả các điều chỉnh cần thiết được thực hiện với cấu hình Raspberry Pi.
Sơ đồ mạch và kết nối:
Kết nối giữa Raspberry Pi và LCD được hiển thị trong bảng dưới đây:
Kết nối giữa Raspberry Pi và năm nút cũng được hiển thị trong bảng dưới đây với chức năng tương ứng của từng nút:
Giải thích chương trình và công việc:
Mô-đun RTC có một ô nút để sao lưu nguồn như đã thảo luận, vì vậy thời gian sẽ được cập nhật cho đến khi hết bản sao lưu và chúng tôi sẽ có thời gian chính xác trong RTC.
Bây giờ chúng ta sẽ viết một Chương trình Python để lấy thời gian chính xác từ RTC Module DS1307. Thời gian này sẽ được hiển thị trên màn hình LCD 16x2. Sau đó, chúng ta sẽ có tính năng đồng hồ báo thức được viết trong chương trình. Thời gian báo thức cũng sẽ được hiển thị trên dòng thứ hai của màn hình LCD, tiếp theo là trạng thái ON và OFF. Thời gian báo thức có thể được điều chỉnh bằng 5 nút kết nối với Raspberry Pi như đã đề cập trong bảng ở trên và rất dễ dàng để đặt Báo thức. Bạn cũng có thể xem Video giới thiệu của chúng tôi để vận hành Đồng hồ báo thức Raspberry Pi này. Có 2 nút để tăng và giảm thời gian Giờ báo thức, 2 nút để tăng và giảm thời gian Phút báo thức và 1 nút để BẬT & TẮT báo thức.
Chương trình Python liên tục so sánh Thời gian báo thức với Thời gian RTC và một khi Thời gian báo thức khớp với thời gian RTC, PI sẽ kích hoạt Buzzer, được kết nối với chân GPIO 22 của Raspberry Pi thông qua bóng bán dẫn NPN 2N2222. Vì vậy, khi đến thời gian báo thức, còi sẽ phát ra âm thanh.
Chương trình hoàn chỉnh được đưa ra bên dưới, và được giải thích rõ ràng qua các bình luận. Nếu bạn có bất kỳ nghi ngờ nào, bạn có thể hỏi trong phần bình luận bên dưới.