2015-11-12 14 views
7

Ich verwende ein ESP8266-Dev-Board von NodeMCU mit Lua. Ich spanne meinen Chip mit zwei AA-Batterien, was mir 3V gibt. Siehe dazu:Überprüfen Sie den Batteriestatus mit NodeMCU?

https://www.hackster.io/noelportugal/ifttt-smart-button-e11841

enter image description here

Wie prüfe ich den Batteriestatus mit NodeMCU?

+0

Btw, wenn Sie zusätzliche Lua Code nicht für die OTA-WiFi-Setup Teil haben wollen Sie möchten die [LISTEN Setup-Modul] hinzufügen (https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en-(dev)---partial!#enduser_setup-module) zu Ihrer Firmware. –

Antwort

9

Mit einer aktuellen Firmware können Sie adc.readvdd33() verwenden. Das sollte genug für Ihren Fall sein

+0

Großartig. Was ist die niedrigste Spannung, mit der der ESP8266 arbeiten kann? – confile

+2

Ein Freund von mir, der 2 * AA Batterien verwendet, ersetzt normalerweise die Batterien, sobald die Spannung unter 2,5 V fällt. Unterhalb dieses Punktes startet das ESP manchmal nach einem Tiefschlaf nicht neu. – seblucas

+0

Etwa 2,5 Volt –

2

Ich habe irgendwo gelesen, dass adc.readvdd33() veraltet war? Effektiv ist es für viele der verfügbaren ESP8266-Module, die Dokumente sagen, "Wenn das ESP8266 konfiguriert wurde, um den ADC zum Abtasten des externen Pins zu verwenden, wird diese Funktion immer 65535 zurückgeben". Das bedeutet, dass jeder ESP8266, der über einen ADC-Pin verfügt (wie ESP8266-07 oder -12, usw.), in der Firmware überholt ist.

Aber durch Hinzufügen von ein paar Widerständen, um einen Spannungsteiler zu machen, können Sie immer noch den ADC-Pin dafür verwenden.

schematics Diese Widerstandswerte ermöglichen es, 0-12V als einen Wert zwischen 0-1024 zu lesen. (Die Spannung an den ADC-Pin muss kleiner sein als 1V.)

val = adc.read(0)