Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Đây là một hướng dẫn cho đồng hồ báo thức. Chúng tôi thực hiện đồng hồ báo thức vì chúng tôi luôn đến muộn hoặc chúng tôi thường quên đặt báo thức.
Đồng hồ báo thức này hoàn toàn tự động, vì vậy bạn không cần phải đặt báo thức. Bạn có thể chọn một thời gian thức dậy khác cho hàng ngày. Bạn phải đặt thời gian đánh thức một lần, sau đó báo thức của bạn sẽ hoạt động vào thời gian đã chọn.
Bước 1: Vật liệu
1. Arduino
Chúng tôi đã sử dụng Arduino Uno. Bạn có thể kết nối Arduino với máy tính bằng cáp USB. Để lập trình Arduino, bạn cần có chương trình Arduino Sketch trên máy tính của mình.
2. Đồng hồ thời gian thực
Đồng hồ thời gian thực, được đặt tên là RTC, là một chiếc đồng hồ máy tính. RTC cập nhật thời gian, vì vậy bạn phải đặt thời gian một lần. Chúng tôi đã sử dụng RTC ZS-042
3. Màn hình tinh thể lỏng
Màn hình tinh thể lỏng, được đặt tên là LCD, là màn hình mà bạn có thể kết nối với arduino.
4. Breadboard
Để làm mạch điện, rất hữu ích khi có một breadboard. Arduino điều khiển từng chân.
5. Dây cái và dây đực
Để kết nối các thành phần điện, bạn có thể sử dụng các dây này. Bạn có thể kết nối dây đực và dây cái bằng các lỗ và chốt.
6. Buzzer
Bộ rung tạo ra âm thanh cho đồng hồ báo thức của bạn.
7. Cáp USB
Bạn có thể kết nối Arduino với máy tính bằng cáp USB để có thể lập trình Arduino.
8. Pin 9 vôn
9. Kẹp pin
Để kết nối arduino với batty 9 volt, bạn cần có clip này.
10. Lego
Chúng tôi đã làm vỏ bảo vệ của mình bằng lego, nhưng bạn có thể chọn thứ khác nếu muốn.
Bước 2: Kết nối RTC
Để kết nối RTC với arduino, chúng ta cần RTC, Arduino, Breadboard, dây cái và dây đực.
Kết nối Arduino
-GND: đặt ở vị trí j12 của breadboard
-8: Đặt ở vị trí j10 của breadboard
Kết nối RTC:
- 32K: đặt tại A5 trong Arduino
-SQW: đặt tại Vin trong Arduino
- SCL: Đặt ở vị trí h30 của breadboard
- SDA: Đặt ở vị trí g30 của breadboard
-VCC: không đặt cái này
-GND: đặt tại GND trong Arduino
Bước 3: Đặt thời gian
Đầu tiên, bạn phải giải thích RTC trong bản phác thảo:
#bao gồm
DS3231 rtc (SDA, SCL);
Bây giờ, bạn có thể đặt thời gian:
rtc.begin ();
rtc.setDOW (THỨ SÁU); // Đặt Ngày trong tuần thành CHỦ NHẬT
rtc.setTime (15, 49, 0); // Đặt thời gian thành 12:00:00 (định dạng 24 giờ)
rtc.setDate (13, 4, 2018);
Bạn có thể kiểm tra thời gian của mình tại màn hình nối tiếp.
Bước 4: Kết nối màn hình LCD
Bây giờ bạn phải kết nối màn hình LCD với Arduino. Chúng tôi kết nối 4 dây từ màn hình LCD đến Arduino hoặc breadboard. Bạn phải kết nối các dây như thế này:
- GND: đặt tại GND vào arduino
- VCC: đặt vào powerrail của breadboard
- SDA: đặt ở vị trí j29 của breadboard
- SCL: đặt ở vị trí f30 của breadboard
Bước 5: Thiết lập màn hình LCD
Bạn phải giải thích màn hình LCD trong bản phác thảo. Bạn phải làm như thế này:
#bao gồm
Trong phần này của mã được giải thích rằng màn hình LCD sẽ hiển thị ngày và giờ trên màn hình.
void setup ()
{lcd.begin (16, 2); for (int i = 0; i <5; i ++) {lcd.noBacklight (); chậm trễ (500); LCD đèn nền(); lcd.print ("Báo động khủng bố"); chậm trễ (500); lcd.clear (); }
Bước 6: Kết nối Buzzer
Bộ rung được đặt ở chân h10 và ở chân h12 của bảng mạch. Âm sắc được biểu thị bằng từ ‘tone’. Trong bản phác thảo của chúng tôi, chúng tôi đã chọn giai điệu này cho báo thức: tone (10, 440, 200).
Bước 7: Cài đặt Báo thức
Chúng tôi đã chọn làm một chiếc đồng hồ báo thức tự động. Chúng tôi đã đặt đồng hồ báo thức từ thứ Hai đến thứ Bảy. Chúng tôi thường gặp vấn đề là chúng tôi quên đặt đồng hồ báo thức của chúng tôi, đây là giải pháp cho vấn đề của chúng tôi. Chúng tôi đã điều chỉnh báo thức theo lịch học của chúng tôi. Nếu báo thức đi sẽ có tiếng bíp và màn hình nhấp nháy. Đây là mã cho kiểm tra báo động trong vòng lặp de void:
báo thức (); if (t.min == 15 && t.hour == 7) {lcd.noBacklight (); chậm trễ (5000); LCD đèn nền(); giai điệu (10, 440, 200); }}
void alertcheck () {if (t.min == 15 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Thứ Hai") {alert (); } if (t.min == 45 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Thứ Ba") {alert (); } if (t.min == 14 && t.hour == 13 && rtc.getDOWStr (FORMAT_LONG) == "Thứ Tư") {alert (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Thứ Năm") {alert (); } if (t.min == 45 && t.hour == 7 && rtc.getDOWStr (FORMAT_LONG) == "Friday") {alert (); } if (t.min == 15 && t.hour == 9 && rtc.getDOWStr (FORMAT_LONG) == "Thứ Bảy") {alert (); }}
void báo động () {lcd.noBacklight (); chậm trễ (1000); LCD đèn nền(); for (int i = 0; i <100; i ++) {tone (10, 200 * i + 200); }}
Khi không có báo thức, bạn có thể xem giờ và ngày trên màn hình. Đây là mã:
t = rtc.getTime (); Serial.println (rtc.getDOWStr (FORMAT_LONG)); lcd.setCursor (0, 0); lcd.print ("Thời gian:"); lcd.print (rtc.getTimeStr ()); lcd.setCursor (0, 1); lcd.print ("Ngày:"); lcd.print (rtc.getDateStr ()); chậm trễ (1000); lcd.clear ();
Bước 8: Làm vỏ bảo vệ
Tất cả các thành phần điện đã được kết nối ngay bây giờ. Thứ duy nhất chúng ta cần là vỏ bảo vệ. Chúng tôi đã làm vỏ bảo vệ từ Lego, nhưng bạn có thể chọn bất cứ thứ gì bạn muốn.
Bước 9: Sử dụng Đồng hồ báo thức của bạn
Bây giờ, đồng hồ báo thức đã sẵn sàng để sử dụng. Bạn sẽ không bao giờ đến muộn, vì chiếc đồng hồ báo thức tự động này!