NodeMCU (Lua) — ADC

АЦП (aналого-цифровой преобразователь) используется для считывать аналоговые значения с таких компонентов, как датчики температуры, потенциометры, датчики света и т.д. ESP8266 имеет только один канал АЦП (A0), который в зависимости от настройки можно использовать для считывания внешнего напряжения или для считывания напряжения питания ESP8266.

В каком режиме будет использовать АЦП можно настроить с помощью функции adc.force_init_mode().

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

Получить напряжение питания чипа ESP8266 можно с помощью функции adc.readvdd33(0), функция возвращает результат уже в милливольтах.

if adc.force_init_mode(adc.INIT_VDD33) then
  node.restart()
  return
end

print("System voltage (mV):", adc.readvdd33(0))

 

Функция adc.read(0) используется для измерения внешнего напряжения, разрядность 10 бит (1024), диапазон изменяемого напряжения для "голых" модулей от 0 до 1В, при использовании плат NodeMCU, Wemos D1 от 0 до 3.3В, так на плате уже имеется делитель напряжение.

if adc.force_init_mode(adc.INIT_ADC) then
  node.restart()
  return
end

print(adc.read(0))
12121
ESP8266 NodeMCU
(0.0) / 0
Прежде чем оставить комментарий, пожалуйста, ознакомьтесь с правилами комментирования. Оставляя комментарий, вы подтверждаете ваше согласие с данными правилами и осознаете возможную ответственность за их нарушение. Все комментарии премодерируются.
0