Hướng dẫn làm LED trái tim RGB wifi

Mô tả dự án: 

Hưởng ứng bài viết Cộng đồng Arduino Việt Nam trong cuộc Cách mạng Công nghiệp lần thứ IV, và cũng chuẩn bị cho lễ Valentine 14/2 sắp tới, Vechai tui hướng dẫn các bạn làm 1 dự án LED trái tim có thể điều chỉnh hiệu ứng điều khiển từ xa qua wifi.  

Nguyên lý

Trong cộng đồng Arduino chúng ta chắc không lạ với các dự án làm LED trái tim RGB. Nếu các bạn tìm hiểu tutorial trên internet thì sẽ thấy đây là một dự án khá khó xơi, bao gồm rất nhiều linh kiện IC và microcontroller, chưa kể là hàn mạch rất tốn thời gian nếu chơi LED 3 màu với số lượng bóng lớn. Hơn nữa vì các tutorial dựa trên chip ATmel nên LED trái tim thường bị "đóng chết" với số lượng hiệu ứng cố định và ít có giao tiếp thực với thế giới bên ngoài. Nhận thấy khuyết điểm trên, Vechai tui đề xuất một hướng đi mới cho phù hợp với xu thế Internet của Vạn Vật năm 2017 như sau:

Chip điều khiển: Thay vì dùng board UNO hoặc chip ATmega, ta sẽ dùng bo mạch ESP8266 Node MCU. Ta sẽ dùng board này thiết lập 1 wifi Access Point (AP) và 1 web server. Người dùng có thể sử dụng máy tính hoặc smartphone truy cập vào webserver này để điều chỉnh hiệu ứng như ý muốn. Thay vì dùng các phím button vật lý hay potentiometer để chọn chỉnh hiệu ứng, ta sẽ tương tác qua trang web. Hiện nay các bạn có thể mua bo mạch này trên aliexpress với giá khoảng 80k VND. 

LED: Thay vì dùng LED RGB tròn 4 chân và sử dụng IC HC595 để điều khiển từng bóng, ta sẽ dùng LED neopixel W2812. Ưu điểm lớn nhất của Neopixel là có tích hợp sẵn IC trong bóng nên ta không phải hàn mạch mà vẫn có thể điều khiển từng bóng riêng biệt chỉ với 1 chân của chip điều khiển. Hiện nay các bạn có thể mua LED này với giá khoảng 1.6k VND cho 1 bóng trên Aliexpress.

Chuẩn bị phần cứng

Mặt sau của dự án chỉ đơn giản như vậy thôi, mặc dù hộp LED của tui sử dụng đến 24 LEDs.

 

WS2812 NodeMCU
5V VU
GD GD
DIN D1

Các bạn lưu ý

  1. Trên lý thuyết thì NodeMCU ESP8266 sử dụng logic 3.3V trong khi Neopixel sử dụng logic 5V. Tuy nhiên vì NodeMCU không nhận tín hiệu từ Neopixel nên các bạn yên tâm cắm vào chân D1 mà không sợ làm hư board mạch. 
  2. Các bạn nên tìm mua NodeMCU v3 Lolin vì board này có thêm chân nguồn 5V trực tiếp từ USB để cung cấp nguồn cho Neopixel

Nạp firmware

Thông thường thì các bạn có thể lập trình NodeMCU trên Arduino (Vào Board Manager => Tải Arduino core cho ESP8266). Tuy nhiên hôm nay tui sẽ hướng dẫn các bạn nạp firmware trực tiếp từ tập tin hex.

Các bạn vào trang Git Esp8266 tải tập tin zip và giải nén. Tiếp đến vào Git của tui (mirror) để tải file hex với tên LED.bin.

Các bạn chạy chương trình và thay phần tô màu xanh lục bằng đường dẫn tập tin LED.bin mà các bạn vừa tải về ở tab Config:

Sau đó quay trở lại tab Operation và bấm Flash để nạp firmware (nhớ chọn COM cho đúng với con ESP8266)

Sau khi nạp firmware xong thì các bạn bấm RST trên board mạch (hoặc rút USB rồi cắm lại)

Sử dụng

Nếu nạp firmware thành công thì các bạn sẽ thấy hiện lên 1 wifi với tên ESP8266_NEOPIXEL. Pass của wifi này là 9876543210.

Tiếp đến các bạn dùng 1 trình duyệt web bất kỳ vào trang 192.168.4.1. Các bạn sẽ thấy hiện lên 1 trang web như sau:

Trang web này sẽ cho phép bạn chọn 5 hiệu ứng. Các bạn bấm vào tên hiệu ứng rồi Submit để điều khiển LED. Ngoài ra các bạn cũng có thể kéo thanh để điều khiển độ sáng của LED.

Chúc các bạn thành công! laugh

lên
9 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Giới thiệu về công ty ARM

Nếu các bạn dùng Raspberry Pi thì sẽ không lạ gì với chip ARM, một dòng chip điện tử đối lập với Intel. Bài này sẽ không là về khía cạnh kỹ thuật của ARM vì tui không đủ nội công. (các bạn có thể tham khảo thêm ở đây: http://arduino.vn/bai-viet/1073-lich-su-phat-trien-cua-vi-dieu-khien-va-vi-xu-li). Thay vào đó tui viết bài đây để mọi người hiểu rõ hơn về lịch sử và chiến lược của công ty này. 

lên
10 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

"Fiat Lux - Hãy có ánh sáng": (Phần 5) Đồng hồ analog đo âm thanh

Đây là bài ví dụ về việc kết hợp module neopixel ring (24 bóng) và 1 cảm biến âm thanh làm đồng hồ analoge đo độ ồn. Các bạn có thể áp dụng cách này làm nhiều trò hay ho hơn như hiển thị nhiệt độ, tốc độ... Các bạn đặc biệt chú ý đến phần code nha!

lên
13 thành viên đã đánh giá bài viết này hữu ích.