2015-11-12 33 views
7

Uso una scheda di sviluppo ESP8266 da NodeMCU con Lua. Accendo il mio chip con due batterie AA, che mi danno 3V. Vedere questo:Controllare lo stato della batteria con NodeMCU?

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

enter image description here

Come posso controllare lo stato della batteria utilizzando NodeMCU?

+0

Btw, se non si vuole avere codice aggiuntivo Lua per la parte di configurazione OTA WiFi si consiglia di aggiungere il [modulo di configurazione utente finale] (https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en-(dev)---partial!#enduser_setup-module) al tuo firmware. –

risposta

9

Con un firmware recente è possibile utilizzare adc.readvdd33(). Questo dovrebbe essere sufficiente per il tuo caso

+0

Grande. Qual è la tensione più bassa con cui può funzionare ESP8266? – confile

+2

Un mio amico che utilizza batterie 2 * AA di solito sostituisce le batterie non appena la tensione scende sotto 2,5 V. Sotto questo punto l'ESP a volte non si riavvia dopo un sonno profondo. – seblucas

+0

Circa 2,5 volt –

2

Ho letto da qualche parte che adc.readvdd33() è stato deprecato? In effetti è disponibile per molti dei moduli ESP8266, i documenti dicono: "Se ESP8266 è stato configurato per utilizzare l'ADC per il campionamento del pin esterno, questa funzione restituirà sempre 65535". Ciò significa che qualsiasi ESP8266 dotato di pin ADC (come ESP8266-07 o -12, ecc.) Ha questo shunt nel firmware.

Ma aggiungendo un paio di resistori per creare un partitore di tensione, è ancora possibile utilizzare il pin ADC per questo.

schematics Questi valori di resistore consentiranno di leggere 0-12 V, come valore compreso tra 0 e 1024. (La tensione al pin ADC deve essere inferiore a 1V.)

val = adc.read(0)