Mục lục:

Dải đèn LED cảnh sát có địa chỉ: 4 bước
Dải đèn LED cảnh sát có địa chỉ: 4 bước

Video: Dải đèn LED cảnh sát có địa chỉ: 4 bước

Video: Dải đèn LED cảnh sát có địa chỉ: 4 bước
Video: Nhân viên Haidilao nhảy làng lá 2024, Tháng bảy
Anonim
Image
Image

Thanh đèn Police Strobo này được làm bằng một thanh LED dải địa chỉ WS2812B (97 cm, 29 LEDS) và một Arduino Nano.

Giải pháp này cho phép tạo ra một số mẫu ánh sáng khác nhau với bảng màu khác nhau, nếu không thì không thể thực hiện được với thanh đèn LED Đỏ-Trắng-Xanh tiêu chuẩn (như được sử dụng cho đèn nhấp nháy của cảnh sát) hoặc thanh LED RGB.

Tôi khuyên bạn không nên sử dụng điều này trong xe của bạn trừ khi bạn đã kiểm tra luật pháp địa phương và có lý do hợp pháp / hợp lệ để làm như vậy.

Bước 1: Cách hoạt động của đèn LED dải WS2812B

Hệ thống dây điện
Hệ thống dây điện

Dải đèn LED WS2812B bao gồm loại 5050 đèn LED RGB trong đó IC điều khiển đèn LED WS2812B được tích hợp.

Tùy thuộc vào cường độ của ba đèn LED Đỏ, Xanh lục và Xanh lam, có thể mô phỏng bất kỳ màu nào chúng ta muốn.

Điều tuyệt vời của những đèn LED này là có thể điều khiển thậm chí toàn bộ dải đèn LED chỉ với một chân duy nhất từ bảng Arduino của chúng tôi.

Mỗi đèn LED có ba đầu nối ở mỗi đầu, hai đầu nối để cấp nguồn và một đầu nối cho dữ liệu. Mũi tên chỉ ra hướng luồng dữ liệu. Bảng đầu ra dữ liệu của đèn LED trước được kết nối với bảng Nhập dữ liệu của đèn LED tiếp theo. Chúng tôi có thể cắt dải theo bất kỳ kích thước nào chúng tôi muốn, cũng như khoảng cách các đèn LED bằng cách sử dụng một số dây.

Chúng hoạt động trên 5V DC và mỗi đèn LED Đỏ, Xanh lục và Xanh lam thu được khoảng 20mA hoặc tổng cộng là 60mA cho mỗi đèn LED ở độ sáng đầy đủ.

Nếu Arduino được cấp nguồn qua USB, chân 5V chỉ có thể xử lý khoảng 400 mA và khi được cấp nguồn bằng đầu nối nguồn thùng, chân 5V có thể xử lý khoảng 900 mA. Vì vậy, nếu bạn đang sử dụng nhiều đèn LED hơn và lượng dòng điện mà chúng sẽ tạo ra vượt quá giới hạn đã đề cập ở trên, bạn phải sử dụng nguồn điện 5V riêng biệt.

Trong trường hợp này, bạn cũng cần kết nối hai đường dây nối đất với nhau.

Ngoài ra, bạn nên sử dụng điện trở khoảng 330 Ohms giữa Arduino và chân dữ liệu dải LED để giảm nhiễu trên đường đó, cũng như tụ điện khoảng 100uF qua 5V và Ground để làm trơn bộ nguồn.

Bước 2: Nối mạch

Sơ đồ đấu dây để kết nối Arduino nano với thanh LED dải địa chỉ WS2812B rất đơn giản.

Mô hình cần phải có dây hoặc tiêu đề chân được hàn vào nó, tôi đã sử dụng tiêu đề chân để thử nghiệm nhưng đối với một dự án thực tế, bạn nên xem xét việc hàn dây.

Đèn led dải địa chỉ WS2812B có 3 miếng hàn ở mỗi bên.

+ 5V (dây màu đỏ trong sơ đồ) đi đến + 5V của Arduino;

GND (dây đen trong sơ đồ) đi đến GND của Arduino;

DIN (dây màu xanh lá cây trong sơ đồ) đi đến mã PIN Arduino 5 (đối với dữ liệu) mang điện trở 330 Ohm.

Bước 3: Thiết lập mã

Tôi đã sử dụng Arduino IDE với Thư viện LED NHANH

Đầu tiên, chúng ta cần bao gồm thư viện FastLED, xác định chân mà dữ liệu dải LED được kết nối, xác định số lượng đèn LED, cũng như xác định một mảng kiểu CRGB.

Loại này chứa các đèn LED, với ba thành viên dữ liệu một byte cho mỗi kênh trong ba kênh màu Đỏ, Xanh lục và Xanh lam.

Trong phần thiết lập, chúng ta chỉ cần khởi tạo FastLED với các tham số đã được xác định ở trên. Bây giờ nó là vòng lặp chính mà chúng ta có thể điều khiển đèn LED của mình theo bất kỳ cách nào chúng ta muốn. Sử dụng chức năng CRGB, chúng ta có thể đặt bất kỳ đèn LED nào thành bất kỳ màu nào bằng cách sử dụng ba thông số màu Đỏ, Xanh lục và Xanh lam. Để thực hiện thay đổi trên các đèn LED, chúng ta cần gọi hàm FastLED.show ().

Thư viện FastLED có nhiều chức năng khác có thể được sử dụng để tạo hoạt ảnh và trình diễn ánh sáng thực sự thú vị, vì vậy việc làm cho dự án LED tiếp theo của bạn tỏa sáng là tùy thuộc vào trí tưởng tượng của bạn.

Mã của tôi bao gồm một số mẫu LED khác nhau, không thể có với thanh LED RGB tiêu chuẩn.

Các mẫu có thể được sửa đổi hoặc gọi lại trong phần void loop () như một chương trình con duy nhất.

Bước 4: Lưu ý cuối cùng

Mã của tôi chạy qua các biến thể của từng mẫu để cung cấp cho bạn điểm bắt đầu để sửa đổi mã để đáp ứng nhu cầu của bạn.

Mã trong GitHub của tôi

Đề xuất: