ARDUINO microLED. Обсуждение библиотеки

poty

★★★★★★★
19 Фев 2020
3,599
1,027
@2garri, Вы бы шли по шагам, а не сваливали всё в кучу! В обработчике прерывания Вы используете вычисления float, причём аж три штуки! Это ОЧЕНЬ затратная операция для микропроцессора, в зависимости от обстановки - в 200-600 раз медленнее обычного сложения. А Вы её вызываете до 4000 раз в секунду (максимально) - зачем????, а потом ещё вычисления в map зачем-то в float проводите... Немудрено, что у Вас микропроцессор не успевает добраться до вывода в ленту, а когда доберётся - постоянно прерывается на несколько миллисекунд прерываниями.
 

smartes

✩✩✩✩✩✩✩
8 Дек 2021
2
0
TO @Grimmr, @2garri,
Разумею что ответ из серии в "свинячий голос". Но пакость, скорее всего, скрывается в частоте Дигиспарка. Дело в том, что библиотека рассчитана на 16МГц а IDE компилит для 16.5. Необходимо установить ровно 16 no USB и все заработает.
 

Strugar

✩✩✩✩✩✩✩
4 Июл 2022
1
1
Проблемка в error: invalid use of template-name 'microLED' without an argument list
 
  • Лойс +1
Реакции: wolf1314

Старик Похабыч

★★★★★★★
14 Авг 2019
4,335
1,324
Москва
Скорее всего ошибка из за разница в версиях библиотеки. 2-ая и 3-я ревизии сильно отличаются до несовместимости.
 

iceekb

✩✩✩✩✩✩✩
20 Ноя 2022
3
0
Добрый день, коллеги.
Порылся на форуме, не нашёл... может искал плохо.
А кто-то выкладывал эффекты для матрицы реализованные на MicroLED?
В примерах для библиотеки всего 5-6 эффектов именно для матрицы. Всяко должны были уже наклепать дополнительные всей общественностью :)
Ткните носом, пожалуйста. Если не там ищу.
 

bort707

★★★★★★✩
21 Сен 2020
3,387
980
В примерах для библиотеки всего 5-6 эффектов именно для матрицы. Всяко должны были уже наклепать дополнительные всей общественностью :)
Ткните носом, пожалуйста. Если не там ищу.
берите те что для Фастледа
 

bort707

★★★★★★✩
21 Сен 2020
3,387
980
@Soy, зачем?
Единственная фишка Микролед - это экономия памяти на старых ардуино, где очень мало оперативки. Во всем остальном микролед повторяет Фастлед.
На ЕСП нет проблем с памятью, поэтому микролед туда не нужен, используйте Фастлед
 

W0lT

✩✩✩✩✩✩✩
16 Янв 2026
1
0
Столкнулся с проблемой на китайском Digispark - загорается только первый светодиод и горит всегда зелёным. Если у кого-то такая же проблема возникнет - нужно указать другую частоту: #define F_CPU 16000000UL.
Обычно Digispark работает на 16,5 МГц, но эти почему-то были на 16 МГц ровно.
 

Bruzzer

★★★★✩✩✩
23 Май 2020
768
235
Обычно Digispark работает на 16,5 МГц, но эти почему-то были на 16 МГц ровно.
Не понял это предложение.
Дело в том что в MicroLED, для формирования таймингов используется сравнение F_CPU на равенство с фиксированными частотами 8МГц 16МГц и 32МГц. и в случае F_CPU = 16,5 МГц совпадения нет, и тайминги формируются неправильные.

Ваш метод решения самый простой, но наверно более правильно заменить в библиотеке все условия вида
#elif(F_CPU == 16000000UL)
на условия вида
#elif(F_CPU == 16000000UL || F_CPU == 16500000UL)
или в более общем виде
#elif(F_CPU >= 14000000UL && F_CPU <= 18000000UL)
где 14000000UL и 18000000UL это УСЛОВНЫЕ значения. Точные значения надо в общем случае рассчитывать. Под общим случаем, подразумевается теоретическая возможность произвольной частоты.