Mục lục:

Magic Hercules - Trình điều khiển cho đèn LED kỹ thuật số: 10 bước
Magic Hercules - Trình điều khiển cho đèn LED kỹ thuật số: 10 bước

Video: Magic Hercules - Trình điều khiển cho đèn LED kỹ thuật số: 10 bước

Video: Magic Hercules - Trình điều khiển cho đèn LED kỹ thuật số: 10 bước
Video: Hướng dẫn sử dụng đèn led RGB điều khiển bằng APP - Cách dùng đèn led RGB trên tiktok| vua đèn led 2024, Tháng mười một
Anonim
Magic Hercules - Trình điều khiển cho đèn LED kỹ thuật số
Magic Hercules - Trình điều khiển cho đèn LED kỹ thuật số

Tổng quan nhanh:

Mô-đun Magic Hercules là một bộ chuyển đổi giữa SPI nổi tiếng và đơn giản sang giao thức NZR. Các đầu vào mô-đun có dung sai +3,3 V, vì vậy bạn có thể kết nối an toàn với bất kỳ bộ vi điều khiển nào hoạt động ở điện áp +3,3 V.

Việc sử dụng giao thức SPI để điều khiển đèn LED kỹ thuật số là một cách tiếp cận sáng tạo trong số các giải pháp hiện tại, chẳng hạn như thư viện tạo sẵn cho Arduino. Tuy nhiên, nó cho phép chuyển đổi sang bất kỳ nền tảng nào bất kể họ vi điều khiển (chẳng hạn như ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) và bất kể ngôn ngữ lập trình (ví dụ: C, Arduino C ++, Python hoặc ngôn ngữ khác hỗ trợ giao thức SPI). Cách tiếp cận để lập trình đèn LED kỹ thuật số này cực kỳ thân thiện với người mới bắt đầu vì tất cả những gì bạn cần là kiến thức về giao thức SPI.

Mô-đun MH cũng cho phép một số chế độ kiểm tra dải LED kỹ thuật số, bao gồm kiểm tra thứ tự màu trong diode (RGB, BGR, RGBW, v.v.), kiểm tra toàn bộ dải hoặc màn hình (lên đến 1024 LED).

Bước 1: Tại sao tôi lại làm việc trên Mô-đun Magic Hercules?

Tại sao tôi lại làm việc trên Mô-đun Magic Hercules?
Tại sao tôi lại làm việc trên Mô-đun Magic Hercules?

Tôi đã làm việc với đèn LED kỹ thuật số như WS2812, WS2815 hoặc SK6812 trong một thời gian dài, mà tôi thường gọi là Magic LED.

Tôi đã thử nghiệm nhiều dải, vòng và màn hình (thậm chí của riêng tôi) dựa trên Magic LED (ngay cả với loại RGBW). Tôi đã sử dụng Arduino, Nucleo (với STM), Raspberry Pi và các bo mạch của riêng tôi với vi điều khiển AVR.

Bất kể nền tảng nào, việc viết chương trình điều khiển đèn LED ma thuật rất khó (do cần phần mềm giao thức NZR), trừ khi bạn đang sử dụng các thư viện tạo sẵn giúp dễ dàng, nhưng vẫn chưa hoàn toàn tối ưu về cách sử dụng mã, ngắt phản hồi, hoặc sử dụng bộ nhớ và chỉ hoạt động trên các nền tảng cụ thể (không thể chuyển chúng từ Raspberry sang vi điều khiển AVR).

Do thực tế là tôi thường sử dụng nhiều nền tảng khác nhau, tôi cần mã chương trình tương thích nhất có thể với Arduino, Raspberry Pi, ARM / STM (Nucleo) hoặc AVR - đặc biệt là khi nói đến hiệu ứng ánh sáng.

Tôi đã làm việc trên kênh youtube trong một thời gian dài và tôi đã chuẩn bị nhiều hơn một hướng dẫn về lập trình diode kỹ thuật số bằng ngôn ngữ C cho vi điều khiển AVR (nhưng cho đến nay chỉ bằng tiếng Ba Lan). Tôi thường tiếp xúc với những người mới bắt đầu gặp khó khăn với lập trình đèn LED ma thuật. Tất nhiên, một số, tùy thuộc vào nền tảng, chọn các thư viện sẵn sàng cho các dự án một lần của họ. Tuy nhiên, nhiều người tìm kiếm các giải pháp khác hoặc cố gắng tìm hiểu các bí quyết lập trình và tôi là một trong số đó.

Bước 2: Chuyển đổi SPI sang NZR

Chuyển đổi SPI sang NZR
Chuyển đổi SPI sang NZR

Tôi quyết định chuẩn bị một mô-đun sẽ thực hiện công việc bẩn thỉu cho người dùng bằng giao thức NZR. Mô-đun sẽ hoạt động như bộ chuyển đổi SPI sang NZR và giống như SPI, có thể được sử dụng trên mọi nền tảng một cách dễ dàng. Ảnh chụp màn hình ở trên cho thấy việc chuyển đổi tín hiệu SPI sang giao thức NZR trong mô-đun Magic Hercules.

Bước 3: Mô-đun Magic Hercules làm máy kiểm tra dải LED kỹ thuật số

Mô-đun Magic Hercules làm máy kiểm tra dải LED kỹ thuật số
Mô-đun Magic Hercules làm máy kiểm tra dải LED kỹ thuật số

Khi kết nối đèn LED kỹ thuật số với các hệ thống khác nhau, người ta nên nhớ về khả năng chịu điện áp thích hợp cho các bộ vi điều khiển khác nhau. Hầu hết các chân I / O của vi điều khiển ARM hoạt động ở tiêu chuẩn +3,3 V, trong khi vi điều khiển AVR hoạt động ở tiêu chuẩn TTL. Do đó, các chân đầu vào của mô-đun Magic Hercules có dung sai +3,3 V, vì vậy chúng có thể được kết nối an toàn với Raspberry P hoặc bất kỳ vi điều khiển dựa trên ARM nào được cấp nguồn +3,3 V.

Như tôi đã đề cập trước đây, tôi thường làm việc với các loại đèn LED kỹ thuật số khác nhau. Tùy thuộc vào nhà sản xuất, các màu riêng lẻ trong đèn LED có thể ở các vị trí khác nhau, ví dụ: RGB, BGR, GRB, RGBW, GRBW, v.v … Không có gì lạ khi tài liệu của nhà sản xuất đề cập đến chuỗi RGB, nhưng thực tế nó trông khác. Tôi đã trang bị cho mô-đun Hercules một bài kiểm tra trình tự màu để không có vấn đề gì khi nhanh chóng tìm ra cách viết chương trình cho đúng thứ tự màu. Một số chức năng bổ sung của máy thử cho phép bạn nhanh chóng kiểm tra xem dải đèn LED kỹ thuật số có hoạt động hay không, liệu tất cả các màu trong mỗi đèn LED trên dải (lên đến 1024 đèn LED!) Có hoạt động chính xác hay không (không có điểm ảnh chết). Và tất cả điều này mà không cần kết nối vi điều khiển và viết bất kỳ chương trình nào.

Bước 4: Mô-đun Magic Hercules - Giải pháp đa năng mới cho đèn LED kỹ thuật số

Mô-đun Magic Hercules - Giải pháp phổ quát mới cho đèn LED kỹ thuật số
Mô-đun Magic Hercules - Giải pháp phổ quát mới cho đèn LED kỹ thuật số

Tôi không nghĩ rằng đã có một thứ như vậy, để điều khiển đèn LED kỹ thuật số bằng cách sử dụng một giao thức SPI đơn giản và phổ biến, có thể hoạt động trên bất kỳ nền tảng hoặc dòng vi điều khiển nào.

Tất nhiên, có nhiều cách để điều khiển đèn LED kỹ thuật số, một số cách tối ưu hơn và một số cách khác kém tối ưu hơn. Mô-đun Magic Hercules là một lựa chọn khác và rất thiết thực đối với tôi. Tôi nghĩ rằng ai đó có thể thích giải pháp bất thường này. Gần đây, tôi đã bắt đầu trên nền tảng huy động vốn cộng đồng - kickstarter, nơi tôi đã chuẩn bị mô tả rộng hơn về mô-đun Magic Hercules trong một số video, bao gồm cả cách dễ dàng làm việc với nó trên Arduino, Nucleo (STM), Raspberry Pi và trên AVR và PIC vi điều khiển. Nếu bạn muốn ủng hộ dự án Magic Hercules, hãy xem phần này:

Dự án mô-đun Magic Hercules của tôi trên kickstarter

Tôi đã chuẩn bị một chương trình bằng ngôn ngữ C - một hiệu ứng stargate đơn giản, dựa trên các thao tác trên bảng và việc gửi tuần tự bộ đệm trong vòng lặp chính. Nhờ mô-đun Magic Hercules, tôi đã có thể dễ dàng chuyển mã nguồn sang các ngôn ngữ và nền tảng khác - hãy kiểm tra các bước tiếp theo - mã nguồn.

Bước 5: Mô-đun Magic Hercules với Atmega32 và C

Video chứa một sơ đồ đơn giản hóa, bản trình bày kết nối trên ATB 1.05a (AVR Atmega32), mã nguồn (trong Eclipse C / C ++ IDE) và hiệu ứng cuối cùng dưới dạng hiệu ứng ánh sáng stargate.

Liên kết đến video trên youtube

Bước 6: Mô-đun Magic Hercules với Arduino và Arduino C ++

Video chứa một sơ đồ đơn giản hóa, trình bày kết nối trên bảng Arduino 2560, mã nguồn trong Arduino IDE và hiệu ứng cuối cùng dưới dạng hiệu ứng ánh sáng stargate.

Liên kết đến video trên youtube

Bước 7: Mô-đun Magic Hercules với PIC và C

Video chứa một sơ đồ đơn giản hóa, bản trình bày kết nối trên ATB 1.05a với tấm chắn PIC (PIC24FJ64GA004 trên bo mạch), mã nguồn trong MPLAB và hiệu ứng cuối cùng dưới dạng hiệu ứng ánh sáng stargate.

Liên kết đến video trên youtube

Bước 8: Mô-đun Magic Hercules với Raspberry Pi và Python

Video chứa một sơ đồ đơn giản hóa, bản trình bày kết nối trên Raspberry Pi 4, mã nguồn bằng Python và hiệu ứng cuối cùng dưới dạng hiệu ứng ánh sáng stargate.

Liên kết đến video trên youtube

Bước 9: Mô-đun Magic Hercules với ARM - STM32 Nucleo và C

Video chứa một sơ đồ đơn giản, bản trình bày kết nối trên bo mạch STM32 Nucleo, mã nguồn trong STM32CubeIDE và hiệu ứng cuối cùng dưới dạng hiệu ứng ánh sáng stargate.

Liên kết đến video trên youtube

Bước 10:

Hình ảnh
Hình ảnh

Tôi nghĩ MH có thể là một mô-đun cực kỳ thân thiện với người mới bắt đầu, bất kể nền tảng và ngôn ngữ mà họ sử dụng. Chỉ cần biết giao thức SPI nổi tiếng là đủ, và khả năng bắt đầu kiểm tra xem dải LED kỹ thuật số có hoạt động hay không và chuỗi màu mà nó có chỉ là một điểm cộng.

Nếu bạn muốn tham gia vào dự án của tôi trên kickstarter - hãy kiểm tra liên kết này:

Dự án mô-đun Magic Hercules của tôi trên kickstarter

Đề xuất: