Internet de les coses amb ESP32 i ESP8266

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

Sortida analògica real

La placa Arduino MKR WIFI 1010 té una sortida analògica real a la pota A0. Això vol dir que la tensió que ens proporciona aquesta placa pot variar entre 0 i 3,3 V. El conversor de digital a analògic té una resolució de 10 bits, això vol dir que tindrem 1024 salts entre 0 i 3,3 V; és a dir, la tensió anirà variant en increments de 3,2 mV aproximadament.

La programació per fer servir la sortida analògica real és idèntica a la de les sortides analògiques PWM. Atès que les sortides PWM tenen una resolució de 8 bits, la sortida analògica real té la mateixa resolució per defecte i així s'assegura la compatibilitat. Si volem fer servir tota la resolució, l'haurem d'indicar amb la funció analogWriteResolution.

En el següent programa donem una tensió d'1,65 V (la meitat de 3,3 V) a la sortida A0 (511 és la meitat de 1023).

void loop() {
	analogWriteResolution(10);
	analogWrite(9, 511);
	...
}

Si posem altres valors a la funció analogWriteResolution obtindrem un comportament que aparentment correspon a la resolució escollida però que realment no fa servir aquesta resolució. Per exemple, si posem 8 (valor per defecte) s'agafaran els valors que posem (entre 0 i 255) i es multiplicaran per 4 (valors entre 0 i 1020) per enviar-ho a la sortida.

 

 

 

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.