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
8 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ả

Trí thông mình nhân tạo với Watson IBM và Raspberry Pi (Phần 2): Nhận dạng khuôn mặt, giới tính và tuổi

Bài trước tui đã hướng dẫn các bạn làm quen với Watson IBM trên Raspberry Pi. Bây giờ chúng ta sẽ quay trở lại với bài toán nhận diện khuôn mặt. Trong bài khóa "thông minh" với OpenCV, dữ liệu nhận dạng khuôn mặt được đưa ra bởi một thuật toán "tĩnh" OpenCV trên laptop của các bạn và sau đó kết quả được chép thủ công vào Raspberry Pi. Raspberry chỉ việc dựa vào kết quả training và đưa ra kết quả nhận diện khuôn mặt. Đây chưa phải là giải pháp tối ưu vì giả sử bạn muốn thay đổi thuật toán mới hoặc train cho tốt hơn thì không thể thực hiện trên Pi được. Thay vậy, bạn có thể dùng dịch vụ cloud của Watson cho việc training và chỉ việc up hình lên để Watson nhận diện. Kết quả sẽ được trả về qua json với lượng thông tin phong phú hơn nhiều. 

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

"Đi học thoai": Phần 4 - Cảnh báo cháy với Raspberry Pi và Arduino

Đây là bài biến thể từ "Đi học thoai" phần 1 (cảnh báo cháy với Raspberry Pi và Arduino) và Lồng tiếng cho Raspberry Pi. Nếu bạn đi học không có thời gian check email liên tục thì hệ thống sẽ phát cảnh báo cháy qua loa.

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