"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 thâm cung bí sử - Thuở hồng hoang

Rất ít người biết rằng đã từng tồn tại 2 công ty Arduino tranh giành thị trường, càng ít ít người biết hơn vì sao Arduino tại sao ra đời ở nước Ý. Tuy nhiên thâm cung bí sử của Arduino chưa dừng lại đây. Bạn có biết tại sao Arduino IDE lại dùng java? Bạn có biết rằng các prototype của arduino sử dụng ARM hay chip dán ATmega128 trước khi quay sang ATmega8 để giảm giá không? Cùng đọc tiếp để hiểu thêm về thời hoang sơ của công ty này nha!

Lược dịch và tham khảo từ github của Barragán.

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

Arduino hậu tiền chế - Làm xong code rồi thì làm gì ?

Giả sử bạn chế tạo thành công hệ thống bật tắt đèn vơi Arduino và relay và bây giờ bạn muốn ứng dụng chúng trong môi trường sống của mình. Bạn muốn mọi người trầm trồ với điều kỳ diệu của vi điều khiển Arduino, nhưng ngặt nỗi họ không hề biết lập trình. Vấn đề của bạn bây giờ là làm sao để dự án của bạn dễ sử dụng với càng nhiều người càng tốt. Nói cách khác đi là bạn đã đưa dự án của mình qua giai đoạn mới, từ hậu-kết (back-end) với code và phần cứng, bây giờ bạn chuyển sang tiền-kết (front-end). Dự án của bạn có cất cánh hay không là ở giai đoạn này, vì vậy bạn nên dành thời gian suy nghĩ vấn đề này một chút sau khi bạn đã thành công với việc viết code.

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