Как управлять диодами sw2812 на базе at90usb162?

Пацаны, держите не перелопаченную развлекуху!

Есть at90usb162, 60 диодов sw2812 и не распаханное поле управления этой приблудой!

В попытках запилить все это на arduino, я сломал себе мозг, так как с микроконтроллерами встретился впервые и потратил целых 5 часов на распил собственного костыльного, но вполне рабочего скетча. К вечеру мне сообщили радостную новость о том, что все это дело теперь надо слегка переписать, так как теперь это будет писаться не под неимоверно сложную ардуину, а под at90usb162, так как неожиданно понадобилось впилить тудуа USB. Заранее обрадовали, что проблем не возникнет, так как все это старый добрый C и поэтому пару функций переписать и все ок. Далее начинается самое интересное!

Скетч должен делать примерно следующее:
1)Подгрузить файл с SDcard
2)Разбить его построчно
3)Отправить на ленту
Или:
1)Построчно отправлять файл с SDcard на ленту


Вот как то так и развлекаюсь последние 3 дня =)
  • Вопрос задан
  • 372 просмотра
Решения вопроса 1
Akui_Aru
@Akui_Aru Автор вопроса
#ТЫЖ
В итоге оптимальное решение - написание своей библиотеки...

Загоняем программу для диодов в массив с числами, где число бинарный код в системе BRG(даташит такой...), дальше через маску числа прогоняем число побитово и если еденица, то выдаем еденицу на ножку длинным сигналом, потом отключаем, если ноль, то еденицу но на короткий переод... Диоды конечно долго гомнятся, потому что тайминг подбирали с помощью осциллографа, танца с бубном и по факту тычка пальца в небо... Проблема в том, что при переносе на другие чипы придется подбирать свои промежутки из-за разницы в кристалах, частотах процессора, и т.д. и т.п... Сейчас штука работает, если у кого появится вопросик по реализации, то пишем!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
makarenya
@makarenya
программист
Если у вас уже есть рабочий arduino скетч, то вы можете упростить себе жизнь следующими способами:
- Исползовать arduino поддержку для вашего МК: https://github.com/mattairtech/ArduinoCore-avr, в разделе "AVR Core Installation" описан список шагов, чтобы Arduino его поддерживал.
- Взять Arduino Leonardo - у него есть USB и он поддерживается в Arduino "из коробки". Можно взять у китайцев pro micro arduino leonardo - оно ещё и очень маленьким будет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы