+1 голос
Я подключил аналоговый датчик света к пину esp32. В темноте всё нормально, а при дневном освещении показания застывают на 4095 и не меняются. На ардуино всё работает. Не знаю, в чем может быть причина.
(925 баллов) 38 74 103
4095 - это максимальное значение. Возможно датчик "зашкаливает". Можно попробовать подключать через делитель напряжения, или поставить резистор с другим сопротивлением  в делителе (если уже подключено через делитель). В общем, нужны детали - что за датчик, и как именно подключаете.

2 Ответы

+4 голосов
 
Лучший ответ

Зависит от того, что за датчик, и какая схема включения.

Могу предположить, что у вас датчик подключен не через делитель напряжения, а напрямую между плюсом питания и входным пином - тогда фактически на входе пина оказывается напряжение питания (пин "подтянут" к плюсу питания), отсюда максимальное значение на пине.

Аналоговые датчики нужно подключать через делитель напряжения, тогда при изменении сопротивления датчика будет меняться значение на пине.

Вот статья на вики Амперки: Делитель напряжения: схема и расчёт

(60 баллов) 2 6
выбран
+2 голосов

Было бы неплохо, если бы Вы привели название датчика, код настройки ADC и масштабирования, а также схему подключения. Если датчик - обычный фоторезистор и подключен через 3.3В, то дело, скорее всего, в настройке ADC. Коротко по настройке:

0-1.1V -> adc_range =1.1f, atten = ADC_ATTEN_0db
0-1.5V -> adc_range =1.5f, atten = ADC_ATTEN_2_5db
0-2.2V -> adc_range =2.2f, atten = ADC_ATTEN_6db
0-3.3V -> adc_range =3.3f, atten = ADC_ATTEN_11db

Подробнее простым языком я писал тут.

(18 баллов) 1 5 8
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...