Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Trong Tài liệu hướng dẫn này, tôi chỉ cho bạn cách tôi tạo bàn phím chạy bằng pin để bật và tắt báo thức tại nhà của mình. Trong tương lai, tôi dự định làm một cái cải tiến có đầu đọc RFID đi kèm và không chạy bằng pin. Ngoài ra, tôi dự định đọc bàn phím thông qua chip I2C, vì thiết lập hiện tại của tôi đã sử dụng hầu hết các chân GPIO của mô-đun ESP8266 (ESP12F) của tôi.
Bao vây được in 3D. Nó có công tắc nguồn bật / tắt và đèn LED báo WS2812b. Nó giao tiếp qua MQTT và có giao diện web để xem trạng thái và cập nhật chương trình cơ sở
Quân nhu
Tôi đã mua các thành phần của mình tại Aliexpress
Bàn phím 16 phím: liên kết
Mô-đun ESP12F: liên kết
Pin LiPo: liên kết
Ghim Pogo để tải lên: liên kết
bảng đột phá để tải lên: liên kết
Bước 1: Cách thức hoạt động của bàn phím báo thức - Phần mềm
Mã được xuất bản trên Github của tôi.
Trong các luồng đính kèm, chương trình sẽ được giải thích.
Quá trình ghi dãy phím bắt đầu bằng cách nhấn phím '*' và kết thúc bằng cách nhấn phím '#'. Nếu nhập đúng chuỗi phím đặt trước, báo động sẽ được bật hoặc tắt.
Bàn phím Báo thức giao tiếp qua MQTT với hệ thống tự động hóa tại nhà của tôi đang chạy Openhab. Bàn phím báo thức được đăng ký theo chủ đề MQTT 'trạng thái báo động' và xuất bản trên 'chủ đề lệnh báo động'.
Nếu hệ thống tự động hóa nhà tôi nhận được lệnh BẬT trên 'chủ đề lệnh báo động', nó sẽ BẬT cảnh báo và xác nhận điều này trên 'chủ đề trạng thái báo động'. Bằng cách này, tôi chắc chắn rằng lệnh báo động được nhận và xử lý tốt.
Các thông báo về 'chủ đề trạng thái báo động' được giữ lại. Vì vậy, nếu bạn tắt bàn phím Báo thức được cấp nguồn bằng pin và bật lại, bạn sẽ thấy trạng thái cảnh báo qua đèn LED chỉ báo khi nó được kết nối lại với nhà môi giới MQTT.
Bước 2: Tải lên mã
Mã được lập trình và tải lên thông qua Arduino IDE.
Tôi đã chuẩn bị một bảng đột phá ESP với các chân pogo, vì vậy tôi có thể tải mã dễ dàng lên mô-đun ESP-12F trần, xem các hình ảnh đính kèm. Chỉ cần sử dụng bộ lập trình FTDI được đặt thành 3.3V được kết nối với:
- FTDI đến mô-đun ESP
- 3.3V sang VCC và EN
- GND thành GND, GPIO15 và GPIO0 (để đặt ESP8266 ở chế độ flash)
- RX đến TX
- TX sang RX
Sau khi thiết bị được bật và kết nối với mạng WiFi của bạn, bạn có thể kết nối với địa chỉ IP của thiết bị và xem cảnh báo và trạng thái pin trên giao diện web và cập nhật mã OTA bằng cách tải lên tệp.bin qua
Bước 3: Phần cứng
Phần cứng khá đơn giản. Xem các bình luận trên các hình ảnh đính kèm. Tôi thích sử dụng tiêu đề nữ để dễ dàng lắp ráp và tháo dỡ thiết bị để gỡ lỗi và nâng cấp.
- Thiết bị được cung cấp bởi pin LiPo (được sạc bên ngoài).
- Thông qua một công tắc trượt, nguồn được dẫn đến bộ điều chỉnh điện áp để có được 3,3V tại VCC của ESP8266, sử dụng nắp.
- Điện áp của pin cũng được đưa vào ADC của ESP8266 thông qua bộ chia điện áp (20k và 68k).
- 8 chân của bàn phím được kết nối với 8 chân của ESP8266
- Đèn LED chỉ báo WS2812b được kết nối với pin, GND và GPIO15 của ESP8266.
Nếu bạn muốn một sơ đồ của mạch điện tử, vui lòng cho tôi biết trong phần bình luận.
Bước 4: Lắp ráp
Các tệp STL của trường hợp được xuất bản trên Thingiverse của tôi.
Có thể dễ dàng mở hộp đựng để sạc pin.
Pin được dán vào mặt sau của bàn phím. Công tắc trượt và đèn LED được dán trong hộp.
Thông qua các chân tiêu đề, các thành phần được kết nối.