Оглавление:

Magic Hercules - Драйвер для цифровых светодиодов: 10 шагов
Magic Hercules - Драйвер для цифровых светодиодов: 10 шагов

Видео: Magic Hercules - Драйвер для цифровых светодиодов: 10 шагов

Видео: Magic Hercules - Драйвер для цифровых светодиодов: 10 шагов
Видео: Pixel 3 XL против DSLR. Может ли Pixel 3 XL превзойти зеркалку? Часть 1. Сравнение дневного света 2024, Ноябрь
Anonim
Magic Hercules - Драйвер для цифровых светодиодов
Magic Hercules - Драйвер для цифровых светодиодов

Краткая информация:

Модуль Magic Hercules - это преобразователь известного и простого SPI в протокол NZR. Входы модуля имеют допуск +3,3 В, поэтому можно смело подключать любые микроконтроллеры, работающие от напряжения +3,3 В.

Использование протокола SPI для управления цифровыми светодиодами - новаторский подход среди существующих решений, таких как готовые библиотеки для Arduino. Однако он позволяет переключаться на любую платформу независимо от семейства микроконтроллеров (например, ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino) и независимо от языка программирования (например, C, Arduino C ++, Python или другой который поддерживает протокол SPI). Такой подход к программированию цифровых светодиодов чрезвычайно удобен для новичков, поскольку все, что вам нужно, - это знание протокола SPI.

Модуль MH также позволяет несколько режимов тестирования цифровых светодиодных лент, включая проверку порядка цвета в диоде (RGB, BGR, RGBW и т. Д.), Тестирование целых лент или дисплеев (до 1024 светодиодов).

Шаг 1. Почему я работаю над модулем Magic Hercules?

Почему я работаю над модулем Magic Hercules?
Почему я работаю над модулем 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

Конвертация SPI в NZR
Конвертация SPI в NZR

Я решил подготовить модуль, который будет делать за пользователя грязную работу по протоколу NZR. Модуль, который будет действовать как преобразователь SPI в NZR и, как и SPI, может быть легко использован на любой платформе. На скриншоте выше показано преобразование сигналов SPI в протокол NZR в модуле Magic Hercules.

Шаг 3: Модуль Magic Hercules в качестве цифрового тестера светодиодных лент

Модуль Magic Hercules в качестве цифрового тестера светодиодных лент
Модуль Magic Hercules в качестве цифрового тестера светодиодных лент

При подключении цифровых светодиодов к разным системам следует помнить о соответствующем допуске по напряжению для разных микроконтроллеров. Большинство контактов ввода / вывода микроконтроллеров ARM работают в стандарте +3,3 В, тогда как микроконтроллеры AVR работают в стандарте TTL. Благодаря этому входные контакты модуля Magic Hercules имеют допуск +3,3 В, поэтому их можно безопасно подключать, например, к Raspberry P или любому микроконтроллеру на базе ARM с питанием +3,3 В.

Как я уже упоминал ранее, я часто работаю с разными типами цифровых светодиодов. В зависимости от производителя отдельные цвета светодиодов могут находиться в разных положениях, например: RGB, BGR, GRB, RGBW, GRBW и т. Д. В документации производителя нередко упоминается последовательность RGB, но на самом деле она выглядит иначе. Я оснастил модуль Hercules тестом последовательности цветов, чтобы не было проблем с быстрым выяснением того, как написать программу для правильного порядка цветов. Несколько дополнительных функций тестера позволяют быстро проверить, работает ли цифровая светодиодная лента вообще, все ли цвета в каждом светодиоде по всей полосе (до 1024 светодиодов!) Работают правильно (нет битых пикселей). И все это без подключения микроконтроллера и написания какой-либо программы.

Шаг 4: Модуль Magic Hercules - новое универсальное решение для цифровых светодиодов

Модуль Magic Hercules - новое универсальное решение для цифровых светодиодов
Модуль Magic Hercules - новое универсальное решение для цифровых светодиодов

Я не думаю, что когда-либо существовало такое управление цифровыми светодиодами с использованием простого и распространенного протокола SPI, который может работать на любой платформе или семействе микроконтроллеров.

Конечно, есть много способов управления цифровыми светодиодами, некоторые из них более оптимальны, а другие менее оптимальны. Модуль Magic Hercules - еще один вариант, очень практичный для меня. Думаю, кому-то может понравиться это необычное решение. Недавно я начал использовать краудфандинговую платформу - кикстартер, где подготовил более широкое описание модуля Magic Hercules в нескольких видеороликах, в том числе о том, как легко с ним работать на Arduino, Nucleo (STM), Raspberry Pi, а также на AVR и PIC. микроконтроллеры. Если вы хотите поддержать проект Magic Hercules, обратите внимание на это:

Проект модуля My Magic Hercules на кикстартере

Я подготовил программу на языке 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:

Изображение
Изображение

Я думаю, что MH может быть чрезвычайно удобным для новичков модулем, независимо от платформы и языка, которые они используют. Достаточно знать известный протокол SPI, а возможность начать проверять, работает ли вообще цифровая светодиодная лента и какая у нее последовательность цветов - только плюс.

Если вы хотите принять участие в моем проекте на кикстартере - пройдите по этой ссылке:

Проект модуля My Magic Hercules на кикстартере

Рекомендуемые: