Internet de les coses amb ESP32 i ESP8266

Exemples Referència Plaques   Recursos CITCEA
Projectes Programació Perifèrics   Inici

Entrades analògiques

Les entrades analògiques permeten llegir la tensió elèctrica que hi ha connectada a l'entrada. Les tensions poden anar, en principi, de 0 a 3,3 V i se'ls assignen uns valors entre 0 (corresponent a 0 V) i 1023 (corresponent, en principi, a 3,3 V).

Per llegir les entrades analògiques fem servir la funció analogRead que té com a paràmetre el número d'entrada i dóna la lectura com a resultat.

En el següent tros de programa, la variable lectura contindrà el valor llegit a l'entrada analògica A3.

	int lectura;
...
	lectura = analogRead(A3);
...

La placa Arduino MKR WIFI 1010 té un conversor d'analògic a digital que pot treballar amb 8, 10 o 12 bits. Per defecte treballarà a 10 bits però podem canviar la resolució amb la instrucció analogReadResolution. La següent taula ens dona els rangs de valors per a cada cas.

Resolució (bits) Rang
8 0 a 255
10 0 a 1023
12 0 a 4095

	int lectura;
...
	analogReadResolution(12);
	lectura = analogRead(A3);
...

Si posem altres valors obtindrem unes lectures amb el rang que aparentment correspon a la resolució escollida però que realment no tenen aquesta resolució. Per exemple, si posem 16 obtindrem la lectura corresponent a la resolució de 12 però multiplicada per 16; és a dir un rang entre 0 i 65520 però en el que els valors van saltant de 16 en 16.

Atenció: Tingueu present que en molts casos les entrades binàries i analògiques corresponents a la mateixa pota no tenen el mateix número. Convé mirar la descripció de la placa per veure com es diu cada una.

 

 

 

En aquest web, les fotografies marcades amb [AF] són del web d'Adafruit, les marcades amb [SF] del web d'Sparkfun i les marcades amb [AU] del web d'Arduino.

 

 

 

 

 

 

 

 

 

 

Licencia de Creative Commons
Esta obra de Oriol Boix está licenciada bajo una licencia no importada Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0.