Le code pour mesurer une tension analogique avec Micropython est le suivant:
#
from machine import Pin, ADC
from time import sleep
pot = ADC(Pin(34))
pot.atten(ADC.ATTN_11DB) #Full range: 3.3v
while True:
pot_value = pot.read()*3.3/4095
pot_value = round(pot_value,2)
print(pot_value,"V")
sleep(0.5)
Remarques:
La méthode atten() permet de choisir la plage de mesure de la tension analogique:
- ADC.ATTN_0DB — the full range voltage: 1.2V
- ADC.ATTN_2_5DB — the full range voltage: 1.5V
- ADC.ATTN_6DB — the full range voltage: 2.0V
- ADC.ATTN_11DB — the full range voltage: 3.3V.
De plus, si vous voulez changer la conversion sur 12 bits, il faut utiliser la méthode width() avec un des arguments suivant:
- ADC.WIDTH_9BIT: range 0 to 511
- ADC.WIDTH_10BIT: range 0 to 1023
- ADC.WIDTH_11BIT: range 0 to 2047
- ADC.WIDTH_12BIT: range 0 to 4095
Exemple : ADC.width(ADC.WIDTH_12BIT)
Source : https://randomnerdtutorials.com/esp32-esp8266-analog-readings-micropython/