Mục lục:

Easy LED Holiday Light Show: Wizards in Winter - Dải LED WS2812B với FastLED và Hướng dẫn Arduino: 6 bước
Easy LED Holiday Light Show: Wizards in Winter - Dải LED WS2812B với FastLED và Hướng dẫn Arduino: 6 bước

Video: Easy LED Holiday Light Show: Wizards in Winter - Dải LED WS2812B với FastLED và Hướng dẫn Arduino: 6 bước

Video: Easy LED Holiday Light Show: Wizards in Winter - Dải LED WS2812B với FastLED và Hướng dẫn Arduino: 6 bước
Video: Holiday Light Shows 101: LEDs, Controllers, Props, and Sequencing for BEGINNERS. 5 Hour MegaTree! 2024, Tháng bảy
Anonim
Image
Image

Tôi đã thiết kế và lập trình màn trình diễn ánh sáng ngày lễ này để hiển thị ở bất cứ đâu. Tôi đã sử dụng một dải đèn LED WS2812B với mật độ điểm ảnh là 30 pixel / mét. Kể từ khi tôi sử dụng 5 mét, tôi đã có tổng cộng 150 đèn LED. Tôi giữ mã đơn giản để bất kỳ ai mới sử dụng dải LED WS2812B có thể dễ dàng theo dõi mã. Điều này cũng có nghĩa là nếu bạn sử dụng số lượng pixel khác nhau, thời gian sẽ bị tắt, vì vậy bạn nên sử dụng 150 đèn LED. Ngoài ra, hãy đơn giản hóa, hệ thống âm nhạc hoàn toàn không được quản lý bởi Arduino. Khi bắt đầu chương trình, có 3 đèn nháy xanh và 1 nháy đỏ, sau đó chương trình ánh sáng thực tế bắt đầu. Vì bạn phải bắt đầu phát nhạc theo cách thủ công, những đèn nháy đầu tiên này là để cho bạn biết thời điểm bắt đầu phát nhạc. Tôi đã bao gồm mã dưới đây. Vui lòng thêm vào hoặc thay đổi mã này cho các mục đích phi thương mại.

Quân nhu

- Dải đèn LED WS2812B

- Arduino

- Dây điện

- Nguồn 5V 10A | Nếu bạn đang sử dụng nhiều hơn một dải, bạn sẽ cần sử dụng nguồn điện lớn hơn. Mỗi pixel sử dụng 60mA, do đó 150 pixel * 60mA = 9A. Nguồn điện của bạn phải có khả năng xử lý điều này nếu bạn định sử dụng độ sáng đầy đủ ở màu trắng. Bạn phải sử dụng nguồn điện 5V nếu bạn đang sử dụng dải LED 5V và nếu bạn đang sử dụng dải LED 12V, bạn sẽ cần sử dụng nguồn điện 12V, nhưng cũng sử dụng bộ chuyển đổi 12-5V để cấp nguồn 5V Arduino.

Bước 1: Tải xuống Thư viện FastLED

Xác định một vài biến
Xác định một vài biến

Nếu bạn chưa tải xuống thư viện FastLED, hãy tải xuống phiên bản mới nhất từ github.com/FastLED/FastLED/releases

Tải xuống thư viện FastLED và di chuyển nó vào thư mục thư viện Arduino của bạn. KHÔNG thay đổi tên của thư mục này. Trong Arduino IDE, đi tới Phác thảo, Bao gồm Thư viện, sau đó Thêm Thư viện. ZIP. Chọn thư mục FastLED.

Sau khi thư viện của bạn được thiết lập, hãy bao gồm dòng #include Dòng này cho chương trình biết rằng bạn đang sử dụng thư viện đó.

Bước 2: Xác định một vài biến

Như tôi đã đề cập trước đó, để giữ cho mã đơn giản, việc thay đổi số lượng pixel sẽ thay đổi thời gian hoặc hiển thị ánh sáng.

Dòng #define NUM_LEDS 150 là nơi bạn đặt số lượng pixel được sử dụng. Trong trường hợp này, nó sẽ là 150.

Dòng #define DATA_PIN 5 là nơi bạn đặt chốt kỹ thuật số mà bạn đã kết nối dây dữ liệu.

Dòng #define BRIGHTNESS 255 là nơi bạn đặt độ sáng từ thang điểm 0-255, với 255 là độ sáng sáng nhất.

Bước 3: Phần thiết lập của mã

Phần thiết lập của mã
Phần thiết lập của mã

Trong phần thiết lập có độ trễ 2 giây và dòng

FastLED.addLeds (dẫn, NUM_LEDS).setCorrection (Tiêu biểuLEDStrip);

WS2812B cho biết loại dải LED mà chúng tôi đã sử dụng và DATA_PIN là biến mà chúng tôi đã xác định ở bước trước. GRB là thứ tự màu sắc. Điều này có thể thay đổi tùy thuộc vào dải đèn LED được sử dụng. Hãy thử mã nguyên gốc và nếu màu sắc không giống như trong video, hãy thử thay đổi mã này thành RGB hoặc BRG chẳng hạn. Bạn có thể giữ nguyên phần còn lại của dòng này. Những dòng kẻ

FastLED.setBrightness (max_bright); set_max_power_in_volts_and_milliamps (5, 8000);

hạn chế sử dụng điện của dải đèn LED. Đây là một tính năng tuyệt vời từ thư viện FastLED. Số 5 là điện áp mà chúng tôi đã sử dụng và số 8000 là dòng điện tối đa mà dải LED có thể sử dụng tính bằng mA. Bạn chỉ nên sử dụng 80% khả năng của bộ nguồn để kéo dài tuổi thọ của nó. Vì tôi có nguồn điện 10A, 0,8 * 10 = 8A hoặc 8000mA.

Bước 4: Phần lặp | Aka, phần tuyệt vời của mã

Phần vòng lặp | Aka, phần tuyệt vời của mã
Phần vòng lặp | Aka, phần tuyệt vời của mã
Phần vòng lặp | Aka, phần hay của mã
Phần vòng lặp | Aka, phần hay của mã

Bây giờ chúng ta đã hoàn tất việc thiết lập chương trình cho dải đèn LED cụ thể của mình, chúng ta có thể bắt đầu phần thực sự làm cho dải sáng lên. Để giữ cho phần này trông sạch sẽ, tôi đã sử dụng các hàm đã viết để điều khiển các dải và thực hiện các hiệu ứng khác nhau. Hình trên bên trái là một phần của phần vòng lặp, chạy các chức năng. Hình bên phải là bên dưới đó và là nơi tôi đã viết những gì mỗi chức năng làm.

Bước 5: Đấu dây

Đấu dây
Đấu dây

Các dải LED WS2812B có 3 thiết bị đầu cuối ở mỗi đầu. 2 cho nguồn và 1 cho tín hiệu dữ liệu đến từ Arduino của chúng tôi. Chỉ cần kết nối 2 dây với các đầu nối nguồn của Arduino và kết nối 2 dây nguồn với dải LED. Bạn cũng nên thêm 2 dây nguồn được gọi là dây phun điện vào cuối dải vì mất điện áp có thể dẫn đến đèn LED mờ ở cuối dải nếu bạn không làm điều này. Kiểm tra các nhãn trên dải để xem thiết bị đầu cuối nào dùng để làm gì. Trộn lẫn các cực có thể dẫn đến một dải chiên. Ngoài ra, hãy kết nối dây nối đất của Arduino với dây nối đất trên dải đèn LED để thiết lập một điểm chung để truyền dữ liệu tốt hơn. Tôi đã đề cập rằng bạn nên thêm dây tiêm điện, nhưng bạn KHÔNG THỂ làm điều này cho dây dữ liệu. Điều này là do mỗi LED phát lại tín hiệu dữ liệu đến tín hiệu tiếp theo, vì vậy hãy đảm bảo kết nối 1 dây dữ liệu với chân Arduino được chỉ định và dải LED. Dải phải có một mũi tên nhỏ chỉ ra hướng di chuyển dữ liệu. Đảm bảo đặt dây tín hiệu dữ liệu ở đầu chứ không phải ở cuối. Trộn hỗn hợp này có thể dẫn đến một dải chiên.

Bước 6: Gắn dải LED

Tôi đã gắn dải đèn LED của mình vào bên trong cửa sổ bằng cách chỉ cần chạm vào nó. Tuy nhiên, có nhiều cách khác mà bạn có thể gắn dải đèn LED của mình. Bạn có thể sử dụng một kênh nhôm chẳng hạn như https://tinyurl.com/s2km4v3 để đặt các dải bên ngoài trên đường mái nhà của bạn. Nếu bạn đặt dải đèn LED của mình bên ngoài, tôi khuyên bạn nên sử dụng dải ip65 nếu bạn đang sử dụng kênh nhôm vì chúng là loại bán chống thấm nước và mỏng hơn 1p67, có thể không phù hợp với một số kênh. Nếu bạn định gắn thiết bị này bên ngoài mà không có kênh, hãy sử dụng các dải ip67, thực tế là không thấm nước. Để đi xung quanh một góc, chẳng hạn như những góc ở các đỉnh của đường mái nhà của bạn, lý tưởng là bạn nên cắt dải và sử dụng dây để đi xung quanh góc. Bạn có thể loại bỏ chỉ bằng cách uốn dải, nhưng hãy cảnh giác với mức độ bạn uốn cong chúng vì rất dễ làm bật đèn LED.

Đề xuất: