Neopixel Ring without ARDUINO! + source file (RGB LED WS2812 без АРДУИНО! + исходник)

Запуск адресной LED RGB ленты без ARDUINO! Лента на микрочипе WS2812 в виде кольца - NeoPixel Ring 24 bit. Запуск с помощью микроконтроллера ATmega328p. Сложность управления адресными лентами заключается в формировании импульсов в десятые доли микросекунд. После многочисленных неудачных попыток использовать для этого прерывания от таймеров-счетчиков, было решено следующее: Поставить 20 МГц кварц. Таким образом, имеем период одного “тика” процессора в 0.05 сек, что на порядок выше требуемых импульсов. И для формирования задержки в Си коде использовать подряд несколько ассемблеровских инструкций #asm(«nop»). Такой вариант дал превосходную стабильность импульсов. Используя циклы и условные операторы, можно реализовать практически любые световые эффекты. Некоторые из них показаны в ролике. Прилагаю исходник, если кто-то захочет еще что-нибудь свое выдумать. Приветствую любую критику, советы по доработке кода, или же мысли о том, как еще можно это реализовать :)

0/0


0/0

0/0

0/0

0/0