"Fiat Lux - Hãy có ánh sáng": Giới thiệu về Neopixel WS2812

Mô tả dự án: 

Đây là chuỗi bài viết về 1 loại bóng LED RGB (WS2812) mà tui chưa thấy ai viết trên cộng đồng. Hôm nay, bạn sẽ biết được vì sao người ta lại có thể điều khiển nhiều LED RGB thế trong khi nó đến 3 chân xung.

Dẫn nhập

Thưở hồng hoang thế giới Arduino của bạn còn trống rỗng, chưa có hình dạng, bóng tối bao trùm vực thẳm. Bạn cắm bóng LED, nạp code BLINK huyền thoại và phán "Hãy có ánh sáng!". Thế là có ánh sáng. Bạn thấy thế là tốt đẹp. Qua một buổi chiều và một buổi sáng. Ngày đầu tiên trong thế giới Arduino của bạn là thế.

Bạn thấy một bóng LED là rất nhàm chán, và chúng phải sinh sôi nảy nở hơn. Bạn phán "Hãy có PWM!". Bạn cắm thêm nhiều bóng, chia xung và ra lệnh cho chúng nhấp nháy sáng tối theo ý bạn. Thế giới của bạn đã linh động và hoạt bát lên nhiều. Bạn cảm thấy tốt đẹp sau một buổi chiều và một buổi sáng. Đó là ngày thứ hai.

Khi số lượng bóng LED đã đầy dẫy lúc nhúc cho Arduino của bạn, bạn bắt đầu nghĩ đến phương án khác. Bạn phán "Hãy có mạch IC 595!". Thế là ma trận LED 64 bóng ra đời. Bạn thấy thế là tốt đẹp. Qua một buổi chiều và một buổi sáng. Đó là ngày thứ ba.

Bạn thấy bóng LED đơn sắc là chưa tốt nên phán: "Hãy có LED RGB." Thế là có LED RGB chung cực âm và cực dương tùy theo loại. Thế giới của bạn bây giờ đã 3 màu nhấp nháy. Bạn thấy hài lòng với công việc sáng tạo của mình. Đó là ngày thứ tư.

Ngày thứ năm, khi mạch của bạn đã lúc nhúc LED 3 màu trên Arduino, bạn bắt đầu nghĩ đến phương án điều khiển chúng. Ban đầu bạn nghĩ đến mạch IC 595, nhưng chẳng lẽ lại phải dùng đến 3 ICs vì mỗi bóng RGB có đến 3 chân, mỗi chân cho 1 màu. Chẳng lẽ sự nghiệp sáng thế nhấp nháy LED của bạn đến đây là kết thúc? broken heart

Câu thần chú trong ngày thứ năm của bạn là "Hãy có WS2812!"

WS2812 là gì vại? Ăn được hem?

WS2812 thực ra là 1 mạch tích hợp 3 bóng LED RGB và 1 IC điều khiển. Điều đặc biệt là bạn có thể nối tiếp nhiều bóng với nhau nhưng vẫn có thể điều khiển tới 144 bóng riêng biệt mà chỉ cần dùng 1 pin Arduino. Dưới đây là một vài thông số cơ bản của loại LED này (trích từ https://www.sparkfun.com/products/11821)

  • Góc nhìn: 120 degrees
  • Red: (620-630nm) @ 550-700mcd
  • Green: (515-530nm) @ 1100-1400mcd
  • Blue: (465-475nm) @ 200-400mcd

Một số ứng dụng

Vì nối tiếp được nên WS2812 có khả năng thiên biến vạn hóa rất ảo diệu. Dưới đây là một vài ví dụ: (trích từ https://www.adafruit.com/category/168)

 

Ưu và nhược điểm

Nhưng WS2812 cũng là 1 loài thụ tạo nên phải chịu số phận "nhân vô thập toàn" với những ưu và khuyết điểm như sau:

Ưu điểm

  • Tiết kiệm chân Arduino: bạn có thể dùng 1 pin duy nhất nhưng vẫn có thể điều chỉnh màu và độ sáng của từng LED riêng biệt.
  • Không phải lo về việc đây là bóng common anode hay cathode.
  • Nối tiếp các LED với nhau được (tới 144 bóng).
  • Có sẵn thư viện Arduino.

Nhược điểm

  • Là mạch IC tích hợp nên giá còn hơi cao (18USD) cho 100 bóng. Hơn nữa nếu bạn nhìn kỹ vào hình đầu bài, bạn sẽ thấy có các sợi dây màu vàng dài dài nối giữa các phần vi mạch với nhau. Vàng thật đó các bạn ạ! wink
  • Phải dùng với driver truyền tín hiệu. Cắm trực tiếp vào nguồn sẽ không sáng được.
  • Không phải là LED tròn nên giới hạn ứng dụng trong 2D.

Bài tới tui sẽ hướng dẫn phần cứng và phần mềm cho code BLINK thần thánh nha! heart

lên
25 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ả

Arduino lưỡng quốc diễn nghĩa - Sự mâu thuẫn của thế giới Arduino, điều không tưởng?

Đa phần với dân "sanh dziên" sáng giảng đường trưa mỳ gói thì sở hữu một board Arduino gốc (không phải hàng clone Tàu xì) là một ước mơ khá là xa xỉ. Tuy nhiên không ai đánh thuế ước mơ, và nếu bạn hay ghé qua trang https://www.arduino.cc/ theo dõi tin tức sản phẩm, có bao giờ bạn để ý đến hình bên dưới không?

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

Trí thông mình nhân tạo với Watson IBM và Raspberry Pi (Phần 1): Nhận dạng ngôn ngữ và tâm trạng

Bài trước tui đã hướng dẫn các bạn làm một khóa "thông minh" diện khuôn mặt với Raspberry Pi. Vì tài nguyên của Pi có hạn nên một phần công việc (cụ thể là phần training) phải được đảm nhận bởi một hệ thống khác là máy tính cá nhân của bạn. Đây cũng là xu thế của các sản phầm phần cứng trí thông minh nhân tạo trong tương lai: các phần cứng vật lý được kết nối với đám mây/ siêu máy tính để giải các thuật toán thông minh, nhường tài nguyên để robot thao tác với môi trường ngoại vi. Để làm hiểu rõ vấn đề này hơn tui sẽ hướng dẫn các bạn trong bài này xây dựng một hệ thống nhận diện giọng nói và đoán xem tâm trạng của người nói đang hỷ nộ ái ố ra sao. 

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