Mục lục:

PhotonLamp - Đèn thiết kế được trang bị WS2812b với điều khiển MQTT: 5 bước (có hình ảnh)
PhotonLamp - Đèn thiết kế được trang bị WS2812b với điều khiển MQTT: 5 bước (có hình ảnh)

Video: PhotonLamp - Đèn thiết kế được trang bị WS2812b với điều khiển MQTT: 5 bước (có hình ảnh)

Video: PhotonLamp - Đèn thiết kế được trang bị WS2812b với điều khiển MQTT: 5 bước (có hình ảnh)
Video: P7.3 - [ENGSUB] - SmartMirror - Gương thông minh - Google Assistant 2024, Tháng mười một
Anonim
Image
Image
Các bản in mới của đèn - Partlist
Các bản in mới của đèn - Partlist

Cách đây vài năm, chúng tôi đã mua một chiếc đèn có thiết kế riêng có bóng đèn hình điếu xì gà và được làm từ men sữa. Chúng tôi thích thiết kế cụ thể của bóng râm và hình thức tổng thể của đèn. Nhưng tôi chưa thực sự hài lòng với ánh sáng đến từ năm bóng đèn tiêu chuẩn nhỏ. Vì bóng râm có bán kính khá nhỏ, bạn không có ấn tượng ánh sáng liên tục nhưng bạn có thể nhìn thấy các bóng đèn đơn lẻ qua bóng râm. Khi tôi tình cờ nhìn thấy dải LED WS2812b, một ý tưởng đã nảy sinh: Tôi muốn chuyển đổi / nâng cấp đèn và thay thế các bóng đèn tiêu chuẩn bằng đèn LED RGB. Chưa kể đèn "mới" nên điều khiển bằng Wifi để có WAF cao hơn 8-).

Bước 1: Các bộ phận mới của đèn - Partlist

Bản innards mới của đèn - Partlist
Bản innards mới của đèn - Partlist

Vì tôi đã thực hiện một số dự án với Particle Photons (https://particle.io) nên tôi chọn bộ điều khiển thực sự gọn gàng này làm cơ sở cho dự án của mình. Tóm lại, tôi cần phần cứng này để xây dựng chuyển đổi đèn của mình:

  • Ống 1x 90cm với ren hệ mét M6 ở một đầu
  • 1x Photon hạt
  • Cảm biến siêu âm 1x HC-SR04 (cho một vòng xoắn đặc biệt)
  • một số dây để kết nối các bộ phận
  • 1x nguồn điện AC / DC 5V / 2A
  • đầu nối nguồn cho đế đèn để cắm nguồn điện
  • 1x sọc LED WS2812b với 30 đèn LED mỗi mét (chiều dài 3m)
  • Một chiếc đèn thiết kế riêng

Bước 2: Hệ thống dây điện

Hệ thống dây điện
Hệ thống dây điện

Việc thiết lập hệ thống dây điện thực sự dễ dàng: Như trong hình vẽ, bạn phải kết nối nguồn điện với Photon trên chân VIN và GND và với dấu + và - trên một đầu của dải LED đầu tiên. HC-SR04 được kết nối bằng hai dây khá dài với chân D2 (TRIGGER trên HC-SR04) và D3 (ECHO trên HC-SR04) của Photon. Chân D4 của Photon kết nối với DI của dải LED đầu tiên.

Bước 3: Phần cứng - Lắp ráp các mảnh

Phần khó - Lắp ráp các mảnh
Phần khó - Lắp ráp các mảnh
Phần khó - Lắp ráp các mảnh
Phần khó - Lắp ráp các mảnh
Phần khó - Lắp ráp các mảnh
Phần khó - Lắp ráp các mảnh
Phần khó - Lắp ráp các mảnh
Phần khó - Lắp ráp các mảnh

Các sọc LED là tự dính, nhưng tôi đã cố định chúng bằng một số dây cáp bổ sung (xem hình ảnh chi tiết). Để giữ cho các dây ngắn nhất có thể, tôi quyết định đi dây bốn sọc dẫn theo hình zíc-zắc - chân D4 của Photon được kết nối với DI của sọc đầu tiên, DO của sọc đầu tiên được kết nối ở đầu trên cùng của đường ống với DI của sọc thứ hai. DO của sọc thứ hai được kết nối với DI của sọc thứ ba ở dưới cùng của đường ống. DO của sọc thứ ba được kết nối với DI của sọc thứ tư ở đầu đường ống. Các đường VCC và GND của mỗi sọc được kết nối theo cùng một cách. Dây cho cảm biến siêu âm dài nhất và chạy xuyên qua bên trong đường ống.

Nguồn điện được kết nối với một ổ cắm tôi đặt vào lỗ trên đế của đèn mà ở phiên bản ban đầu, cáp nguồn 220V đã đi qua. Cáp nguồn đi từ đầu nối này đến VIN / GND của Photon, đến VCC / GND của các sọc dẫn và đến cảm biến siêu âm.

Bước 4: Phần mềm - Phần mềm cơ sở có sẵn trên Github

Phần mềm - Phần mềm cơ sở có sẵn trên Github
Phần mềm - Phần mềm cơ sở có sẵn trên Github

Phần sụn có sẵn trong kho lưu trữ git này trên Github:

github.com/happenpappen/PhotonLamp

Nếu bạn sử dụng cùng một chân để kết nối dải LED và HC-SR04, điều duy nhất bạn phải thay đổi trước khi biên dịch mã là tạo tệp "MQTT_credentials.h" trong thư mục con "src" chứa ba dòng:

#define MQTT_HOST "" #define MQTT_USER "" #define MQTT_PASSWORD ""

Có một số hướng dẫn tốt về cách thiết lập máy chủ mosquitto mà bạn có thể dễ dàng tìm thấy bằng cách sử dụng công cụ tìm kiếm yêu thích của mình…

Bước 5: Phần mềm cơ sở - Cách sử dụng Kết nối MQTT

Image
Image

Tôi sử dụng Rasperry Pi 3 với mosquitto (https://www.mosquitto.org) làm máy chủ MQTT, vui lòng tham khảo tài liệu về cách thiết lập nó. Bạn có thể đăng ký chủ đề ([device id] = ID của Photon hạt của bạn):

/ [id thiết bị] / #

để xem liệu nó có kết nối thành công với máy chủ hay không và liệu nó có thể đăng trạng thái của nó hay không:

Đầu ra sẽ giống như thế này ([device id] = ID của Photon hạt của bạn):

/ [id thiết bị] / state / DisplayMode 8

/ [id thiết bị] / state / Brightness 250 / [device id] / state / ForgroundColor 100, 023, 014 / [device id] / state / BackgroundColor 034, 006, 034 / [device id] / state / MaxDistance 92 / [id thiết bị] / state / LastDistance 92 / [device id] / state / CurrentDistance 92 / [device id] / state / FirmwareVersion 0.6.3

Đầu ra chính xác có thể phụ thuộc vào phiên bản phần sụn bạn đang sử dụng.

Nhưng có nhiều điều thú vị hơn trong đó: Bằng cách xuất bản lên:

/ [id thiết bị] / set / [tham số] [giá trị]

bạn có thể thay đổi kiểu hiển thị cũng như một số màu.

Để thay đổi màu sắc, hãy gửi:

/ [id thiết bị của Particle Photon] / set / ForgroundColor / [red], [green], [blue]

/ [id thiết bị của Particle Photon] / setBackgroundColor / [red], [green], [blue]

Đối với [red], [green] và [blue] hãy chèn các giá trị thập phân của màu tương ứng.

Để thay đổi kiểu hiển thị, hãy gửi:

/ [id thiết bị của Particle Photon] / set / DisplayMode [giá trị từ 1 đến 11]

Các chế độ hiển thị được triển khai hiện tại là:

  1. Tiếng ồn
  2. Cầu vồng
  3. NoisePlusPalette
  4. Màu đơn
  5. Cylon
  6. Cơn mưa
  7. Ngọn lửa
  8. HorizontalSplit
  9. NgangDoubleSplit
  10. VerticalSplit
  11. Xoắn ốc (đang phát triển)

Một số trong số đó là từ phần ví dụ của FastLED.

Để thay đổi độ sáng, hãy gửi:

/ [id thiết bị] / set / Độ sáng [giá trị từ 1 đến 100]

Đề xuất: