• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Nodemcu v3 A0 ESPlorer Lua считать аналоговый

Eugenepwnz

New member
Добрый день! Не могу на форуме и в инете найти информацию считывания показателя с А0
К нему подключаю датчик влажности почвы, он аналоговый. 3 провода, 5в (от вин на ноде) земля и сигнальный припаял к А0

при наборе в консоле ESPlorer
Код:
print(adc.read(0))
Показывает значението 3 то 10. Не важно, в воде датчик или на суше... Если делать через Arduino IDE то все работает. Но меня не устраивает функционал Ардуино ИДЕ, поэтому хотелось бы сделать на Lua...

описание датчика:
  • 0—300: сухая почва
  • 300—700: влажная почва
  • 700—950: датчик в воде
 

Alegz

New member
Теоретически - должен ). На практике по даташиту у него входное на АЦП от 0V до 1V, а максимально допустимое - 3.6. Наступи тестером на ногу АЦП и посмотри, что там. При твоих значениях должно быть что-то около ноля. Если отличается, но меньше 1V, копай код, может вход не инициализирован. Если больше 3V - АЦП мог и сдохнуть.
 

nikolz

Well-known member
@Eugenepwnz A0 меряет напряжение от 0 до 1В. Смотрите что у вас.
Или pull-up где-то потерялся, или 5 вольт попало на ADC и пальнуло вход, которому выше 3.3 противопоказано, или всю схему смотреть надо.
у nodemcu на входе есть делитель Поэтому диапазон у него до 3 вольт, а не до 1 вольта.
максимально до 5.5 вольт не проблема.
 

StasBronchukov

New member
Возможно ацп неправильно сконфигурирован. Попробуйте ввести adc.force_init_mode(adc.INIT_ADC) и перезагрузить. Где это написано что ацп до 1 вольта? На 2 вольта 560 выдает . И собственно где ему опорное 1 вольт брать то?
 

nikolz

Well-known member
Возможно ацп неправильно сконфигурирован. Попробуйте ввести adc.force_init_mode(adc.INIT_ADC) и перезагрузить. Где это написано что ацп до 1 вольта? На 2 вольта 560 выдает . И собственно где ему опорное 1 вольт брать то?
У ESP8266 диапазон ацп 1 вольт это написано в документации
но у nodemcu на входе ацп установлен делитель - это можно видеть в схеме
 
Сверху Снизу