Съдържание:
- Стъпка 1: Защо работя върху модула Magic Hercules?
- Стъпка 2: Преобразуване на SPI в NZR
- Стъпка 3: Модул Magic Hercules като цифров тестер за LED ленти
- Стъпка 4: Модул Magic Hercules - Ново универсално решение за цифрови светодиоди
- Стъпка 5: Модул Magic Hercules с Atmega32 и C
- Стъпка 6: Модул Magic Hercules с Arduino и Arduino C ++
- Стъпка 7: Модул Magic Hercules с PIC и C
- Стъпка 8: Модул Magic Hercules с Raspberry Pi и Python
- Стъпка 9: Модул Magic Hercules с ARM - STM32 Nucleo и C
- Стъпка 10:
Видео: Magic Hercules - Драйвер за цифрови светодиоди: 10 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Бърз Преглед:
Модулът Magic Hercules е конвертор между добре познатия и прост SPI към NZR протокола. Входовете на модула имат толеранс от +3,3 V, така че можете безопасно да свържете всички микроконтролери, работещи при напрежение +3,3 V.
Използването на SPI протокола за управление на цифрови светодиоди е иновативен подход сред настоящите решения, като например готови библиотеки за Arduino. Той обаче позволява превключване към всяка платформа, независимо от семейството на микроконтролерите (като ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) и независимо от езика за програмиране (напр. C, Arduino C ++, Python или друг който поддържа SPI протокол). Този подход към програмирането на цифрови светодиоди е изключително лесен за начинаещи, тъй като всичко, от което се нуждаете, е познаване на SPI протокола.
MH модулът позволява и няколко режима на тестване на цифрови LED ленти, включително тестване на цветовия ред в диода (RGB, BGR, RGBW и др.), Тестване на цели ленти или дисплеи (до 1024 светодиода).
Стъпка 1: Защо работя върху модула Magic Hercules?
Дълго работя с цифрови светодиоди като WS2812, WS2815 или SK6812, които обикновено наричам Magic LED.
Тествах много ленти, пръстени и дисплеи (дори моите собствени) на базата на Magic LED (дори с тип RGBW). Използвах Arduino, Nucleo (със STM), Raspberry Pi и собствени платки с AVR микроконтролери.
Независимо от платформата, писането на програма за управление на магически светодиоди е трудно (поради необходимостта от софтуер за протокол NZR), освен ако не използвате готови библиотеки, които улесняват, но все още не са напълно оптимални по отношение на използването на код, прекъсвайте отговори или използване на паметта и работят само на конкретни платформи (пренасянето им например от микроконтролери на Raspberry към AVR е невъзможно).
Поради факта, че често използвам различни платформи, имах нужда програмният код да бъде възможно най -съвместим с Arduino, Raspberry Pi, ARM / STM (Nucleo) или AVR - особено що се отнася до светлинни ефекти.
Работя по youtube канала от дълго време и съм подготвил повече от едно ръководство за програмиране на цифрови диоди на език C за AVR микроконтролери (но засега само на полски). Често имам контакт с начинаещи, които се борят с програмирането на вълшебни светодиоди. Разбира се, някои, в зависимост от платформата, избират готови библиотеки за своите еднократни проекти. Много хора обаче търсят други решения или се опитват да научат тайните на програмирането и аз съм един от тях.
Стъпка 2: Преобразуване на SPI в NZR
Реших да подготвя модул, който ще върши мръсната работа за потребителя, използвайки протокола NZR. Модулът, който ще действа като SPI към NZR конвертор и точно като SPI, може да се използва с лекота на всяка платформа. Снимката по -горе показва конвертирането на SPI сигнали в NZR протокол в модула Magic Hercules.
Стъпка 3: Модул Magic Hercules като цифров тестер за LED ленти
Когато свързвате цифрови светодиоди към различни системи, трябва да помните за подходящия толеранс на напрежението за различните микроконтролери. Повечето от входно -изходните щифтове на ARM микроконтролерите работят в +3.3 V стандарт, докато AVR микроконтролерите работят в TTL стандарта. Поради това входните щифтове на модула Magic Hercules имат толеранс от +3,3 V, така че те могат да бъдат безопасно свързани, например с Raspberry P или всеки ARM базиран микроконтролер, захранван с +3,3 V.
Както споменах по -рано, често работя с различни видове цифрови светодиоди. В зависимост от производителя отделните цветове в светодиодите могат да бъдат в различни позиции, напр. RGB, BGR, GRB, RGBW, GRBW и др. Не е необичайно документацията на производителя да споменава RGB последователността, но всъщност изглежда различно. Оборудвах модула на Херкулес с тест за цветова последователност, така че да няма проблем с бързото измисляне как да напиша програма за правилния ред на цветовете. Няколко допълнителни функции на тестера ви позволяват бързо да проверите дали цифровата LED лента работи изобщо, дали всички цветове във всеки светодиод по лентата (до 1024 светодиода!) Работят правилно (няма мъртви пиксели). И всичко това без свързване на микроконтролер и писане на каквато и да е програма.
Стъпка 4: Модул Magic Hercules - Ново универсално решение за цифрови светодиоди
Не мисля, че все още е имало такова нещо, за да се управляват цифровите светодиоди с помощта на прост и общ SPI протокол, който може да се управлява на всяка платформа или семейство микроконтролери.
Разбира се, има много начини за управление на цифровите светодиоди, някои са по -оптимални, а други са по -малко оптимални. Модулът Magic Hercules е друг вариант и много практичен за мен. Мисля, че това необичайно решение може да се хареса на някого. Наскоро стартирах платформата за краудфандинг - kickstarter, където подготвих по -широко описание на модула Magic Hercules в няколко видеоклипа, включително колко лесно е да работите с него на Arduino, Nucleo (STM), Raspberry Pi и на AVR и PIC микроконтролери. Ако искате да подкрепите проекта Magic Hercules, проверете това:
Моят проект за модул My Magic Hercules на kickstarter
Подготвих програма на език C - прост ефект на звездата, който се основава на операции с таблици и последователно изпращане на буфера в основния цикъл. Благодарение на модула Magic Hercules успях лесно да прехвърля изходния код на други езици и платформи - проверете следващите стъпки - изходни кодове.
Стъпка 5: Модул Magic Hercules с Atmega32 и C
Видео, съдържащо опростена диаграма, представяне на връзката на ATB 1.05a (AVR Atmega32), изходен код (в Eclipse C/C ++ IDE) и крайния ефект под формата на светлинен ефект на звездата.
Линк към видео в youtube
Стъпка 6: Модул Magic Hercules с Arduino и Arduino C ++
Видео, съдържащо опростена диаграма, представяне на връзка на платка Arduino 2560, изходен код в Arduino IDE и краен ефект под формата на светлинен ефект на звездата.
Линк към видео в youtube
Стъпка 7: Модул Magic Hercules с PIC и C
Видео, съдържащо опростена диаграма, представяне на връзка на ATB 1.05a с PIC щит (PIC24FJ64GA004 на борда), изходен код в MPLAB и краен ефект под формата на светлинен ефект на звездата.
Връзка към видео в youtube
Стъпка 8: Модул Magic Hercules с Raspberry Pi и Python
Видео, съдържащо опростена диаграма, представяне на връзката на Raspberry Pi 4, изходен код в Python и крайния ефект под формата на светлинен ефект на звездата.
Линк към видео в youtube
Стъпка 9: Модул Magic Hercules с ARM - STM32 Nucleo и C
Видео, съдържащо опростена диаграма, представяне на връзката на STM32 Nucleo платка, изходен код в STM32CubeIDE и крайния ефект под формата на светлинен ефект на звездата.
Линк към видео в youtube
Стъпка 10:
Мисля, че МЗ може да бъде изключително удобен за начинаещи модул, независимо от платформата и езика, който използват. Достатъчно е да познавате добре познатия SPI протокол, а възможността да започнете да проверявате дали цифровата LED лента работи изобщо и каква цветова последователност има, е само плюс.
Ако искате да участвате в моя проект на kickstarter - проверете тази връзка:
Моят модулен проект на Magic Hercules на kickstarter
Препоръчано:
Цифрови зарове - Диего Банди: 4 стъпки
Digital Dice - Diego Bandi: El objetivo de este proyecto es que puede tirar de los dados de forma concreta a travez de un solo boton. El botton funciona a base de un boton y and potenciometro para poder cordinarse los numeros. Todo esto es en base de que las familias que juegan
DIY FLOODLIGHT W/AC светодиоди (+ЕФЕКТИВНОСТ VS DC светодиоди): 21 стъпки (със снимки)
DIY FLOODLIGHT W/AC LED (+ЕФЕКТИВНОСТ VS DC светодиоди): В този инструкционен/видео ще направя прожектор с изключително евтини AC LED чипове без драйвери. Те добри ли са? Или са пълен боклук? За да отговоря на това, ще направя пълно сравнение с всичките си направени DIY светлини. Както обикновено, за евтини
Цифрови зарчета Ludo с проект за 7 -сегментен дисплей на Arduino: 3 стъпки
Цифрови лудо зарове с проект за 7 -сегментен дисплей на Arduino: В този проект 7 -сегментният дисплей се използва за показване на число от 1 до 6 на случаен принцип, когато натискаме бутона. Това е един от най -готините проекти, които всеки обича да прави. За да се научите как да работите със 7 -сегментен дисплей, щракнете тук: -7 сегмент
Деветстранни цифрови зарове: 7 стъпки
Деветстранни цифрови зарове: Справка: https://www.instructables.com/id/Arduino-Led-Dice … Добавих още два светодиода. номера от едно до девет, като използвате Arduino. Това е прост проект и е
Цифрови зарове „направи си сам“: 6 стъпки
DIY Digital Dice: Тази инструкция описва как да проектирате Digital Dice, истински генератор на случайни числа от 1 до 6. Това устройство може да се използва вместо често използвани зарове. Той има 1-цифрен 7-сегментен LED дисплей и два бутона: " Run " и " Покажи Pr