ESP8266 sous MicroPython - Lecture analogique

Entrée analogique sur le Feather ESP8266
L'ESP8266 dispose une entrée analogique. Cette entrée analogique est pris en charge par le convertisseur "analogique vers digital" (ADC = Analogic to Digital Converter).

Les entrées analogiques sont généralement notée A0, A1, A2, ..., An.

L'ESP8266 ne disposant que d'une seule entrée analogique, celle-ci correspond a A0 mais elle est simplement nommée "ADC".

Tout serait parfait dans le meilleur des mondes si le convertisseur était capable de lire une tension couvrant la totalité du niveau logique de l'ESP8266.
Malheureusement la tension maximale supportée par l'entrée ADC est de 1.0 Volts.
Il convient donc de ne pas faire d'erreur de calcul ou de câblage lorsque l'on désire utiliser l'entrée analogique.

Montage
Pour notre exemple MicroPython, nous allons utiliser un potentiomètre de 10K et une résistance de 26.7KOhms.
Source: wiki.mchobby.be
Code de lecture
Utiliser l'entrée analogique est très simple sous MicroPython. La classe ADC permet de faciliter la lecture de la valeur sur le convertisseur.

>>> import machine
>>> analog = machine.ADC(0)
>>> value = analog.read()
>>> print( value )
764
>>> voltage = value * (1/1024)
>>> print( voltage )
0.746094

Calcul de la résistance
Le montage proposé utilise une résistance de 26.7K (22K + 4.7K) dans le pont diviseur.
Désirant utiliser un potentiomètre de 10 KOhms, cette résistance à été calculée et fixée de sorte à ne pas dépasser la tension maximale sur l'entrée analogique (soit 1.0V).

Cette partie du tutoriel, très instructif sur le calcul de la résistance de 26.7 KOhms, est disponible ici.

Tutoriel complet
Où acheter