Đồng hồ báo thức ESPHome (D1 Mini)
Mẫu DIY đồng hồ báo thức dùng ESPHome với D1 Mini, tích hợp Home Assistant để chạy các script rung chuông/snooze/stop. Dùng rotary encoder và màn hình TM1637, kèm sơ đồ wiring và gợi ý in 3D có support.
Mô tả
Các linh kiện cần có:
1
Rotary Encoder
1
Nút nhấn 5V 12mm
1
Công tắc
1
D1Mini v4
1
Màn hình TM1637 Display
4
Ốc M3x8
4
Heatset Inserts M3
4
Ốc M3x6
4
Ốc M2.5x6
Ngoài ra để hoạt động được còn cần:
1x Homeassistant
1x Loa thông minh (mình dùng IKEA SYMFONISK)
Đồng hồ báo thức hoạt động như thế nào:
Cài giờ báo thức bằng núm xoay (rotary knob)
Khi tới giờ báo thức, esphome sẽ gửi yêu cầu cho homeassistant để chạy script “script.ring_alarm_clock”. Có ví dụ kèm trong repo này (ring_alarm.txt")
Bấm nút phía trên để snooze báo thức, và nhấn giữ để tắt báo thức. Bấm đúp nút để bật/tắt trạng thái kích hoạt của đồng hồ báo thức (đèn nút sẽ báo trạng thái).
Cho cả hai thao tác, một homeassistant script sẽ được thực thi (script.snooze_alarm_clock [snooze_alarm.txt] & script.stop_alarm_clock [stop_alarm.txt])
Nếu bạn làm nhiều đồng hồ, bạn có thể khai báo owner trong esphome.txt/substitutions/owner. Tham số này sẽ được truyền vào các scripts dưới dạng field "clock_owner". Mình dùng cái này để đặt các bài nhạc khác nhau mà mình/người yêu muốn nghe khi thức dậy.
Linh tinh:
Công tắc ở phía trên sẽ ghi đè display timeout để màn hình luôn sáng.
Nếu bạn nhấn giữ nút của rotaryencoder thì sẽ hiện giờ hiện tại.
Nếu bạn bấm đúp nút của rotaryencoder thì màn hình sẽ chuyển qua lại giữa giờ hiện tại và giờ mục tiêu
Đi dây:

Nếu bạn không muốn gắn điện trở cho công tắc thì có thể dùng internal pullup của D1Mini
In 3D:
In có support.
Mình dùng:
0.2mm Layer Height, trừ phần top của Base.3mf
0.4mm Nozzle width
Files:
Nếu bạn muốn dùng linh kiện khác thì mình có thêm file Step và Fusion360.
Chúc bạn vọc vui vẻ!
Giấy phép
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!