Почему светодиоды влияют на аналоговый вход?

Поэтому я работаю над проектом по управлению светодиодной лентой RGB с помощью микрофона или датчика звука с помощью Arduino Nano. Я использую светодиодную ленту 5050 RGB вокруг 120 светодиодов и управляю ими с помощью простой транзисторной схемы для каждого канала R, G и B, затем подключаю базу транзисторов к резисторам и ШИМ-выходам Arduino. А затем я использую звуковой датчик KY-038 (я использую аналоговый выходной вывод) и подключаю его к Arduino A0.

Проблема в том, что когда я не подключал светодиоды, микрофон работал правильно. Я обработал аналоговый вход, поставил фильтр и порог. Когда я подключил светодиоды, показания A0 нарушаются переходом светодиода (например, от 0% ШИМ к 50% ШИМ или ВКЛ.). В результате мое аналоговое считывание определило это как колебание напряжения, распознало его как звук и запустило светодиоды, которые затем колебались без какого-либо внешнего звука. Если я отключал светодиоды, он работал правильно, например, я менял его на встроенный светодиод Arduino, он включался в соответствии с внешним звуком.

Почему это происходит? Я не думаю, что они используют один и тот же таймер, и я также использую правильный источник питания и конденсатор, чтобы обеспечить достаточную мощность.

Мой проект похож на этот проект.

, 👍1

Обсуждение

попробуйте использовать МОП-транзисторы вместо bjt; они не потребляют никакого / (ок, столько же) тока от MCU., @dandavis


2 ответа


0

Какую модель светодиода вы используете? 5050 - это просто форм-фактор. Однако я думаю, что проблема связана с энергопотреблением. Хорошо известный WS2812B (он же Neopixel от Adafruit) может потреблять около 50 мА. Рассматривая 120LEDs, вы можете достичь важного уровня тока (схема, поддерживающая более 1A, должна быть правильно спроектирована). Внезапное изменение тока может легко привести к появлению шума во всей цепи. Решение должно использовать внешний источник питания, предназначенный для светодиода, совместно используя GND с вашим Arduino.

,

Не WS2812B, только RGB LED 5050 с токоограничивающим резистором, поэтому он имеет только 4 контакта для общего анода, R, G и B. Я использую источник питания 5 В с максимальным 2А, и я добавил конденсатор 100 мкФ (не рассчитал это, только надеюсь, что это работает, но это не так). Таким образом, подключение осуществляется от ПК (для последовательного монитора) к Mini USB, а затем VIN к источнику питания 5V. Влияет ли на это и использование макета?, @juliussin

Попробуйте снять 5 В с источника питания с VIN-вывода. В любом случае 5V - это слишком низкое напряжение для линейного регулятора. И вы уже предоставляете 5V через USB., @Gerben

Да Vin должен быть между 6-12В, иначе регулятор не сможет работать, @fabiuz7


1

Я думаю, что это из-за энергопотребления.

Если светодиоды потребляют много энергии, светодиод на Arduino (обычно мини-красный светодиод) погаснет или погаснет. Поэтому, прежде чем подключить светодиоды, проверьте мини-красный светодиод, который находится на Arduino, и после подключения светодиодов снова проверьте их. Если красный светодиод погас или погас, то проблема должна быть в энергопотреблении.

Подключите 12v или 5v к vin для питания Arduino, а также к светодиодам Важно то, что вы не должны подключать светодиоды к Arduino 5v.

,