FastLED и цифровые датчики звука
- Войдите на сайт для отправки комментариев
Втр, 25/06/2019 - 21:26
Не могу подружить библиотеку FastLED с цифровым датчиком звука.
Проблема такая: датчик звука работает идеально, но стоит подключить библиотек FastLED (управление светодиодной лентой), как датчик начинает "тупить".
На видео для сравнения прикрутил еще цифровой датчик касания.
https://www.youtube.com/watch?v=gO-eGE-ihwI&feature=youtu.be?
ВОПРОС:
1. Как мне их "подружить"?
2. Поможет ли замена цифрового датчика звука на анологовый?
PS: Не знаю программная или аппаратная это проблема, поэтому пишу здесь.
Заранее спасибо за помощь!!!!!
Что за датчик, конечно, секрет, что за софт для него - тоже, а потом и ответ будет "в общем".
Фастлед отжирает хренову тучу ресурсов контроллера. Подружить можно, только заставив датчик работать в те моменты. когда фастлед не занимает контроллер и не пытаться работать в другое время. Кроме того, надо развести их по таймерам или любым другим ресурсам, которые они ещё используют. Тогда они не будут мешать друг другу и будут нормально работать.
Если Вы не умеете делать такие вещи, а можете только пользовать готовые библиотеки, то просто забейте или заказывайте в платном разделе. Это совсем не та задача, которую можно сделать не понимая с парой подсказок от форума. В это надо серьёзно погружаться.
Странно. Делал куб на ws2812b, с таким же датчиком (как в ролике) и библиотекой "адафруктнеопиксель". Датчик работает устойчиво - по хлопкам в ладоши переключает эффекты с 3-7 метров, почти без ошибок. Подстроечным резистором настраивают чуствительность - два светодиода без шума гореть не должны как у вас, второй моргает в момент звука.
Странно. Делал ....... Датчик работает устойчиво ...
ответ уже дали:
Что за датчик, конечно, секрет, что за софт для него - тоже, а потом и ответ будет "в общем".
может там delay через строчку...
я бы еще про питание вспомнил и блокировки помех по нему..
Проблема, похоже, комплексная; замена не поможет. Можно попытаться посадить его на ногу с внешним прерыванием.
Спасибо всем за участие.
Попробую потестить с другой библиотекой и с аналоговым датчиком
Нет разницы - аналоговый, цифровой... Пока FastLED (и иные схожие библиотеки) пушит в шину данные - порт в loop() не опрашивается. На тач палец давит дольше, поэтому значение с сенсора успевает считываться. А с звукового сенсора приходит быстрый пик и он, в ряде случаев, не успевает быть считанным. Надо или затягивать время импульса или что-то другое придумывать.
Нет разницы - аналоговый, цифровой... Пока FastLED (и иные схожие библиотеки) пушит в шину данные - порт в loop() не опрашивается.
ага, особенно если эффект исполняется из цикла непрерывно, а лента длинная, то конечно, там и на пару секунд можно занять МК... пока не увидем код, смысла гадать нечего...
похоже, Вы ничего не поняли. Попробуйте еще раз перечитать первый ответ. Смена библиотеки не поможет, все библиотеки для адрессных диодов очень плотно занимают контроллер.
Если хотите дальнейших советов - написшите модель датчика и показывайте код целиком
Да нет там библиотеки. Есть адский луп без задержек и digitalRead(). Всё, как в #7 написато.
ТС, в ролике видно, что у вас сигнальный светодиод всё время горит, датчик не отрегулирован. Без всяких библиотек этот датчик ловит короткие хлопки, щелчки, стуки и с библиотеками для умных пикселей тоже. Проверьте его без Ардуины, отстройте вначале чуствительность отвёрткой.