2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Dự án này cho thấy cách tạo hiệu ứng nến trông giống như thực tế để sử dụng, chẳng hạn như bên trong Đèn lồng giấy. Nó sử dụng bo mạch NodeMCU (ESP8266) để điều khiển NeoPixels, còn được gọi là đèn LED WS2812. Xem video trong phần kết quả để xem so sánh với nến thật.
Bước 1: Phần cứng
Đèn LED WS2812, là đèn LED đủ màu được kết nối nối tiếp, có thể định địa chỉ riêng và có thể có các thành phần màu đỏ, xanh lục và xanh lam được đặt trong khoảng từ 0 đến 255.
Từ một dự án trước đó, tôi còn lại một số dải, vì có một số khoảng cách giữa các đèn LED, tôi chọn sử dụng 4 đèn LED trong một hình chữ thập cho một đèn lồng.
Như với tất cả các dự án WS2812, bạn nên thêm một điện trở nhỏ trên kênh dữ liệu đầu tiên (dây trung tâm). Và thêm vào đó, hãy thêm một tụ điện gần nguồn điện. Power Amp phụ thuộc vào số lượng đèn LED.
Bước 2: Phần mềm
Trong dự án này, các đèn LED không được điều khiển bởi Arduino, mà là bảng NodeMCU (ESP8266) với MicroPython trên đó.
Bước đầu tiên là flash firmware micropython theo hướng dẫn sau: Bắt đầu với MicroPython trên ESP8266
Sau đó, có thể sử dụng nó để điều khiển các đèn LED như được hiển thị trong 11. Điều khiển NeoPixels
Trên bảng của tôi Machine.pin (4) là D2 (như có thể thấy trên hình). Đừng quên kết nối gnd với đèn LED.
Để làm cho đèn led nhấp nháy như một ngọn nến thật, tôi đã viết một chương trình python nhỏ cập nhật ngẫu nhiên các đèn led riêng lẻ theo phân phối gaussian được tìm thấy trong các nhận xét của bài viết này:
Chương trình (main.py) tạo nhiều đối tượng LED_light như được chỉ định trong hằng số LED_COUNT.
Bằng cách thay đổi ngẫu nhiên độ dài và cường độ của ánh sáng, nó tạo ra một hiệu ứng đẹp mắt.
Xác suất Độ sáng đèn LED ngẫu nhiên 50% 77% - 80% (hầu như không nhận thấy) 30% 80% - 100% (rất dễ nhận thấy, sim. Nhấp nháy không khí) 5% 50% - 80% (rất dễ nhận thấy, ngọn lửa thổi tắt) 5% 40% - 50% (rất đáng chú ý, ngọn lửa thổi ra) 10% 30% - 40% (rất đáng chú ý, ngọn lửa thổi tắt) tất cả những điều này với thời gian hiện thực hóa Gaussian. Xác suất Thời gian ngẫu nhiên 90% 20 mili giây 3% 20 - 30 mili giây 3% 10 - 20 mili giây 4% 0 - 10 mili giây
nguồn: Bình luận của Eric trên
Bước 3: Kết quả
Kết quả tạo ra một hiệu ứng đẹp như thể có một cơn gió nào đó làm ngọn nến lung linh.
Trong video thứ hai, đèn lồng ở phía sau là đèn LED và đèn ở phía trước là nến thật để so sánh.