Ligne 2 : |
Ligne 2 : |
| | | |
| == Introduction == | | == Introduction == |
− | {{traduction}} | + | 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). |
| + | |
| + | {{ADFImage|FEATHER-ESP8266-Brochage-50.jpg|480px}} |
| + | |
| + | 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. |
| + | |
| + | <font color="red">'''Malheureusement la tension maximale supportée par l'entrée ADC est de 1.0 Volts'''</font>. |
| + | |
| + | 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. |
| | | |
| == Schéma == | | == Schéma == |
− | Le montage suivant utilise un {{pl|33|potentiomètre de 10 Komhs}} auquel est adjoint une résistance de 26.7K (une résistance 22K + une résistance 4.7K). | + | Le montage suivant utilise un {{pl|33|potentiomètre de 10 Komhs}} permettant de faire varier la tension entre 0 et 0.9V (environ). Le potentiomètre et la résistance de 26.7K créent un pont diviseur de tension. |
| + | |
| + | La résistance de 26.7K est le résultat d'un raisonnement et de calculs détaillés plus loin dans ce tutoriel. |
| | | |
− | Notez que nous n'utilisons que le plot centrale et extrémité du potentiomètre.
| + | Le principe reste identique pour tout les senseurs de type résistif comme les photo-résistances, senseurs de force. |
| | | |
| [[Fichier:FEATHER-MICROPYTHON-ADC.jpg|640px]] | | [[Fichier:FEATHER-MICROPYTHON-ADC.jpg|640px]] |
| | | |
− | La tension au borne de l'ADC varie donc entre 0V et 0.899V.
| + | {{ambox-stop|text=Notez que le montage utilise uniquement le plot central et une extrémité du potentiomètre.}} |
| | | |
| == Tester == | | == Tester == |
− | {{traduction}}
| + | 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. |
| + | |
| + | La résolution du convertisseur est de 10 bit. Cela signifie que le convertisseur retourne une valeur entre 0 et 1024 (soit une précision de 0.9 mV. |
| + | |
| + | <syntaxhighlight lang="python"> |
| + | >>> import machine |
| + | >>> analog = machine.ADC(0) |
| + | >>> value = analog.read() |
| + | >>> print( value ) |
| + | 764 |
| + | >>> voltage = value * (1/1024) |
| + | >>> print( voltage ) |
| + | 0.746094 |
| + | </syntaxhighlight> |
| + | |
| + | La classe ADC prend le numéro de broche analogique en paramètre. ADC(0) fait donc référence à l'entrée analogique A0. |
| | | |
| == Calcul de la résistance == | | == Calcul de la résistance == |
Ligne 56 : |
Ligne 83 : |
| Comme indiqué dans le "calcul de la valeur idéale" ci-dessus, il est préférable d'avoir une résistance R1 supérieure à 23 KOhms. | | Comme indiqué dans le "calcul de la valeur idéale" ci-dessus, il est préférable d'avoir une résistance R1 supérieure à 23 KOhms. |
| | | |
− | Nous avons dans nos cartons une résistance de 22 KOhms et une autre résistance de 4.7 KOhms, soit un total de 27.6 KOhms. Avec la tolérance de 5%, la résistance totale sera entre 27.6 KOhms - 5% = 26.22 KIhms et 27.6 KOhms + 5% = 28.98 KOhms. Nous restons donc bien au dessus de la valeur minimale théorique de 23 KOhms. | + | Nous avons dans nos cartons une résistance de 22 KOhms et une autre résistance de 4.7 KOhms, soit un total de 27.6 KOhms. Avec la tolérance de 5%, la résistance totale sera entre 26.7 KOhms - 5% = 25.36 KIhms et 26.7 KOhms + 5% = 28.03 KOhms. Nous restons donc bien au dessus de la valeur minimale théorique de 23 KOhms. |
| + | |
| + | '''Une question demeure:''' quelle sera maintenant la tension U2 sur le convertisseur ADC avec notre résistance R1 fixée 26.7 KOhms et lorsque le potentiomètre de 10 K sera au maximum. |
| + | |
| + | En reprenant le schéma ci-dessus, nous pouvons y mettre les nouvelles données: |
| | | |
− | Une question demeure: quelle sera la tension sur le convertisseur ADC lorsque le potentiomètre de 10 K sera au maximum.
| + | [[Fichier:FEATHER-MICROPYTHON-ADC-01.png|240px]] |
| | | |
− | En reprenant le schm
| |
| * U1 = 3.3V | | * U1 = 3.3V |
− | * R1 = | + | * R1 = 26.7 KOhms (26700 Ohms) |
| + | * R2 = 10 KOhms (10000 Ohms) |
| + | |
| + | <nowiki>U2 = U1 * R2 / (R1 + R2) |
| + | # Avec U1 = 3.3V, R2 = 10000 Ohms, |
| + | # R1 = 26700 Ohms |
| + | U2 = 3.3 * 10000 / (26700 + 10000) |
| + | U2 = 0.899 Volts</nowiki> |
| + | |
| + | La tension appliquée sur le convertisseur ADC sera de 0.899 Volts Max. |
| + | |
| + | Pour cette tension maximale, le convertisseur ADC retournera la valeur numérique maximale de 0.899 / (1/1024) = 920 |
| | | |
| <hr /> | | <hr /> |