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/

En poursuivant votre navigation sur mon site, vous acceptez l’utilisation des Cookies et autres traceurs  pour réaliser des statistiques de visites et enregistrer sur votre machine vos activités pédagogiques. En savoir plus.