ESP8266 Internal ADC

Il microESP8266 include un ADC interno ed un ingresso analogico.  Il datasheet  contiene poche informazioni su questo ADC.

Tensione di ingresso: 0-1 V
Precisione: 10bit
Frequenza di campionamento: ?
SNR: ?
Non linearità: ?

AnalogRead

Utilizzando il firmware Aruduino Core per leggere il valore di tensione dell’ingresso analogico si utilizza la funzione analogRead()

analogValue = analogRead(A0);

La funzione restituisce un valore compreso tra 0 e 1024 pari ai 1024 possibili valori determinatati dai 10bit dell’ADC. La risoluzione (teorica) è quindi pari a  1/1024 = 0,98mV. Per convertire il valore misurato in Volt è sufficiente dividere per 1024

 analogValue = analogRead(A0);
 Serial.print("AnalogRead: ");
 Serial.print(analogValue);
 Serial.print(" => ");
 Serial.print(analogValue/1024.00f);
 Serial.println(" V");
analogread_demo
Output su monitor seriale dello sketch di test

Modulo ESP-12

Alcuni moduli non espongono il pin dell’ingresso analogico collegato all’ADC. Nel caso del modulo ESP-12 si tratta del pin ADC.

ESP8266_esp12_PINOUT
Pinmap del modulo ESP-12. Il pin ADC è presente e collegato

DevBoard NodeMCU 1.0

Nel caso della board NodeMCU DevKit 1.0 sono presenti due diversi pin collegati allo stesso ingresso analogico del modulo ESP-12 montato sulla board.

  • Pin RSV0 : collegato direttamente al pin ADC del modulo ESP-12 quindi con campo di misura 0-1V
  • Pin A0: collegato al pin ADC del modulo ESP-12 attraverso un partitore resistivo che modifica il campo di misura da 0-1V a  0-3.3V
node_mcu_adc_shematics
NomeMCU DevBoard 1.0 ADC schematics – partitore resistivo interno
ADC_0_333
Tensione in ingresso di 3.33V applicata su pin A0 
analogread_demo
Misura di tensione ottenuta con lo sketch di test per 3.3V applicati in ingresso sul pin A0

 

La La presenza di questi due diversi ingressi permette di utilizzare una vasta gamma di sensori, ma per i sensori con livello di uscita 0-5V sarà necessario utilizzare un partitore resistivo esterno.

 

NODEMCU_DEVKIT_V1.0_ADCPIN
NodeMCU DevBoard 1.0 pinmap

Software

Lo sketch di test utilizzato per questo progetto è disponibile su GitHub

https://github.com/emanbuc/ESP8266_AnalogRead.git

 

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...