Mục lục:
- Bước 1: Thu thập các bộ phận
- Bước 2: Lắp ráp mạch
- Bước 3: Cài đặt Màn hình LCD & Đồng hồ
- Bước 4: Mã hóa
- Bước 5: Thời gian để kiểm tra
- Bước 6: Thiết lập ứng dụng Bluetooth
- Bước 7: Xây dựng trường hợp
- Bước 8: Đã hoàn thành
Video: Đồng hồ báo thức Sunrise với màn hình LCD và ứng dụng Bluetooth: 8 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
Mùa đông có thể buồn. Bạn thức dậy, trời đã tối và bạn phải ra khỏi giường. Điều cuối cùng bạn muốn nghe là âm thanh khó chịu của đồng hồ báo thức. Nếu bạn, giống như tôi, gặp khó khăn khi thức dậy vào buổi sáng thì đồng hồ báo thức chính là thứ bạn cần.
Trong hướng dẫn này, chúng ta sẽ xây dựng Đồng hồ báo thức mặt trời mọc. Đó là một chiếc đồng hồ báo thức giống như bất kỳ chiếc đồng hồ báo thức nào khác ở chỗ bạn có thể đặt giờ và phút bạn muốn thức dậy, nhưng với lợi ích của việc sử dụng ánh sáng để làm bừng sáng phòng ngủ của bạn trong một khoảng thời gian như mặt trời mọc để đánh thức bạn thay vì gây phiền nhiễu. còi!
Chúng tôi cũng sẽ sử dụng mô-đun bluetooth để tạo một ứng dụng cho phép bạn đặt báo thức qua điện thoại trên đồng hồ. Màn hình LCD sẽ hiển thị thời gian, ngày và ngày trong tuần. Đènunrise tồn tại trên thị trường nhưng chúng có thể đắt tiền (tìm kiếm nhanh trên Google sẽ trả về các sản phẩm trong phạm vi € 100), mỏng manh và trông khá lâm sàng. Đó là lý do tại sao tôi quyết định làm riêng cho Dự án Trường học Arduino của mình. Tất cả các phần sẽ được liệt kê trong bước tiếp theo. Mã này có thể được tải xuống từ repo Github-đồng hồ báo thức của tôi. Hãy bắt đầu nào:)
tất cả mã có thể được tìm thấy trên:
Bước 1: Thu thập các bộ phận
Chúng tôi sẽ sử dụng đồng hồ làm đầu vào và đèn LED siêu sáng làm đầu ra để mô phỏng mặt trời mọc.
Để xây dựng mạch, chúng ta sẽ cần:
- Arduino Uno- clockmodule RTC DS3231 - MOSFET để điều khiển độ sáng của đèn - LED siêu sáng (tôi đã mua 2: 2) - Bộ điều hợp Bluetooth hc-05 để chúng tôi có thể sử dụng một ứng dụng để đặt báo thức.
Mọi thứ bạn cần đều có thể mua được trên www.martoparts.nl
Bước 2: Lắp ráp mạch
Bạn có thể tham khảo bản phác thảo cho mạch của tôi, rất tiếc, tôi không tìm thấy RTC DS3231 trong chương trình nên tôi phải làm với cái này. Các kết nối thực tế hơi khác một chút, đây là các kết nối. (mô-đun bluetooth không có trong bản phác thảo nhưng tôi sẽ giải thích cách hoạt động của nó bên dưới gây ra nó khá phức tạp)
RTC DS3231GND chuyển đến GND trên arduino
VCC đi đến 5v
SDA chuyển đến arduino
SCL chuyển sang arduinoChúng tôi sẽ không sử dụng SQW & 32KMOSFET
Chân cổng đi đến chân ~ 9 trên Arduino Uno vì đó là chân PWMDrain đi đến cực âm của chân Nguồn LED đi đến GND trên ArduinoLCD-DisplayGND đi đến GND trên arduino
VCC đi tới 5VSDA chuyển đến A4 trên arduinoSKL đến A5 trên arduinoLED- đến mosfet + vào pin 5v9v Bạn có thể mua pin 9v ở bất kỳ cửa hàng địa phương nào, cắm vào arduino bằng một dải đầu nối.
Mô-đun Bluetooth hc-055V đi đến 5V từ arduino
GND chuyển đến GND trên arduino
Bây giờ có thêm 2 đầu vào nữa nhưng ở đây có phần khó khăn, chúng ta phải kết nối các đầu vào đối diện của 2 đầu vào đó trên arduinoTX từ hc-05 đến RX trên arduinoRX từ hc-05 đến TX trên arduino
Quan trọng: Đảm bảo bạn NGẮT KẾT NỐI TX & RX khỏi HC-05 khi tải mã lên arduino của mình, nếu không bạn sẽ gặp lỗi thông báo "đã xảy ra lỗi khi tải mã lên" trong trình biên dịch.
Bước 3: Cài đặt Màn hình LCD & Đồng hồ
Thư viện được sử dụng cho màn hình LCD là tinh thể lỏng và có thể được tìm thấy tại: https://github.com/fdebrabander/Arduino-LiquidCrys… Tải xuống tệp zip, lưu nó và đặt nó trong thư mục Arduino's / Library
Thư viện mà tôi đang sử dụng để chạy đồng hồ có thể được tìm thấy tại Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 và đảm bảo rằng bạn đang ở trang DS3231. Tải xuống tệp zip, lưu nó và đặt nó vào thư mục thư viện Arduino của bạn.
Thời gian
Bao gồm thư viện DS3231 hoặc DS1307 trong mã arduino của bạn
Bỏ ghi chú 3 dòng mã này để đặt thời gian:
// rtc.setDOW (THỨ HAI); // Đặt Ngày trong tuần thành CHỦ NHẬT // rtc.setTime (23, 57, 0); // Đặt thời gian thành 12:00:00 (định dạng 24hr) // rtc.setDate (14, 1, 2019); // Đặt ngày thành ngày 1 tháng 1 năm 2014
Màn hình LCD
Bao gồm thư viện liqduicrystal_i2c trong mã arduino của bạn
Để in trên Màn hình LCD, hãy sử dụng
lcd.setCursor (col, row) // vị trí của văn bản printlcd.print (~) // văn bản được in
Bước 4: Mã hóa
Tải xuống mã trên: github:
Bỏ ghi chú 3 dòng này để đặt đồng hồ trên màn hình LCD của bạn:
// rtc.setDOW (THỨ HAI); // Đặt Ngày trong tuần thành CHỦ NHẬT // rtc.setTime (23, 57, 0); // Đặt thời gian thành 12:00:00 (định dạng 24hr) // rtc.setDate (14, 1, 2019); // Đặt ngày thành ngày 1 tháng 1 năm 2014
Sử dụng lcd.setCuros (col, row); để đặt vị trí của văn bản trên màn hình
lcd.setCursor (0, 2);
và print () để in thứ gì đó trên màn hình
lcd.print (rtc.getDateStr ());
Thay đổi các biến này nếu bạn muốn
int fadeTime = 1; // Sau bao lâu thì đèn sẽ mờ dần maxint setHour = 02; // Đặt giờ để đánh thức (giờ quân sự) int setMin = 49; // Đặt phút để đánh thức int uled = 9; // Đặt sơ đồ chân bằng PWM
Mã mô-đun Bluetooth
String firstHalf = getValue (input, ':', 0); // kiểm tra đầu vào đầu tiên cho đến khi ":"
String secondHalf = getValue (input, ':', 1); // kiểm tra đầu vào thứ hai sau ":"
// sử dụng mã này nếu bạn không sử dụng mô-đun bluetooth
// // if (t.hour == setHour && t.min == setMin) // Kiểm tra xem đã đến lúc thức dậy chưa! // { // bắt đầu(); //}
// kiểm tra đầu vào 2 chữ số đầu tiên, sau đó kiểm tra 2 chữ số thứ hai của đầu vào
if (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// logic để phân tách các chuỗi
String getValue (Dữ liệu chuỗi, dấu phân cách ký tự, chỉ mục int) {int found = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;
for (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == dấu phân tách || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} trả về tìm thấy> chỉ mục? data.substring (strIndex [0], strIndex [1]): ""; }
Bước 5: Thời gian để kiểm tra
Biên dịch mã của bạn và kiểm tra xem các thành phần có hoạt động không!
Bước 6: Thiết lập ứng dụng Bluetooth
Bởi vì tôi cảm thấy phiền phức khi đào mã mỗi khi tôi muốn đặt báo thức, tôi muốn tạo một ứng dụng đặt báo thức, cách này dễ dàng hơn.
Truy cập https://ai2.appinventor.mit.edu. Tại đây chúng tôi có thể tạo một ứng dụng đơn giản cho phép chúng tôi đặt báo thức, tôi đã bao gồm thiết lập thiết kế đơn giản (bạn luôn có thể chỉnh sửa điều này sau) và mã được sử dụng cho Kết nối bluetooth. Sau đó, bạn có thể xuất bản ứng dụng của mình và kết nối với ứng dụng đó trên điện thoại bằng cách sử dụng mã QR hoặc tải trực tiếp ứng dụng trên máy tính của bạn, sau đó chuyển nó bằng cáp trên điện thoại của bạn. (ảnh chụp màn hình)
Bước 7: Xây dựng trường hợp
Bạn luôn có thể xây dựng một trường hợp khác xung quanh đồng hồ arduino của mình. Tôi đã sử dụng gỗ và plexiglass mờ để làm hộp đựng đồng hồ báo thức của riêng mình. Tôi đã chọn plexiglass mờ để bạn có thể nhìn rõ ánh sáng chiếu qua vỏ nhưng bạn không thể nhìn thấy bên trong đồng hồ.
Bước 8: Đã hoàn thành
Bây giờ bạn đã tải mã lên arduino của mình, hãy xây dựng vỏ và kiểm tra xem bạn đã lắp ráp đồng hồ của mình đúng cách chưa, bạn có thể đặt báo thức trên ứng dụng bluetooth và bắt đầu thức dậy tự nhiên hơn!:)
Đề xuất:
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: 10 bước (có hình ảnh)
Đồng hồ báo thức thông minh: Đồng hồ báo thức thông minh được làm bằng Raspberry Pi: Bạn đã bao giờ muốn có một chiếc đồng hồ thông minh chưa? Nếu vậy, đây là giải pháp cho bạn! Tôi đã làm Đồng hồ báo thức thông minh, đây là đồng hồ mà bạn có thể thay đổi thời gian báo thức theo trang web. Khi chuông báo thức kêu, sẽ có một âm thanh (còi) và 2 đèn sẽ
Đồng hồ LCD Arduino lớn với hai báo thức và màn hình nhiệt độ được điều khiển bằng điều khiển từ xa IR TV: 5 bước
Đồng hồ LCD Arduino lớn với hai báo thức và màn hình nhiệt độ được điều khiển bằng điều khiển từ xa IR TV: Cách xây dựng đồng hồ LCD dựa trên Arduino với hai báo thức và màn hình nhiệt độ được điều khiển bằng điều khiển từ xa IR TV
Màn hình LCD I2C / IIC - Sử dụng SPI LCD cho Màn hình LCD I2C Sử dụng SPI đến IIC Mô-đun với Arduino: 5 bước
Màn hình LCD I2C / IIC | Sử dụng SPI LCD với màn hình LCD I2C Sử dụng mô-đun SPI đến IIC Với Arduino: Xin chào các bạn vì SPI LCD 1602 bình thường có quá nhiều dây để kết nối nên rất khó giao tiếp với arduino nhưng có một mô-đun có sẵn trên thị trường có thể chuyển đổi hiển thị SPI thành hiển thị IIC, do đó bạn chỉ cần kết nối 4 dây
Đồng hồ dự báo thời tiết sử dụng báo thức cũ và Arduino: 13 bước (có hình ảnh)
Đồng hồ dự báo thời tiết sử dụng đồng hồ báo thức cũ và Arduino: Tôi đã tìm thấy một chiếc đồng hồ báo thức bị hỏng nằm xung quanh và nảy ra ý tưởng chuyển nó thành đồng hồ và trạm dự báo thời tiết. Đối với dự án này, bạn sẽ cần: Mô-đun cảm biến Arduino Nano BME280 cũ ( nhiệt độ, độ ẩm, áp suất) Màn hình LCD
Đồng hồ báo thức LED Sunrise với Báo thức bài hát có thể tùy chỉnh: 7 bước (có hình ảnh)
Đồng hồ báo thức LED Sunrise với báo thức bài hát có thể tùy chỉnh: Động lực của tôi Mùa đông này bạn gái tôi gặp rất nhiều khó khăn khi thức dậy vào buổi sáng và dường như đang bị SAD (Rối loạn cảm xúc theo mùa). Tôi thậm chí còn nhận thấy rằng việc thức dậy vào mùa đông khó khăn hơn bao nhiêu vì mặt trời chưa ló dạng