Approximation
Notation : /20
8 questions notées sur 16 points : Q5 sur 4 points, Q8 sur 3 points et 1 point pour l'orthographe et la qualité du compte rendu.
Bonus pour refaire l'activité avec une mesure thermistance ou capteur de lumière Q2 à Q7
Matériels nécessaires :
1 potentiomètre
1 ESP32
1 voltmètre
des fils
Pré-requis :
Prendre connaissance de la partie théorique sur le calcul d'une droite (cliquez ici).
ESP32: Utilisation des entrées analogiques 
Une manipulation doit être faite sur votre poste pour que vous puissiez utiliser l'ESP32 sous Arduino IDE. Suivez le guide ici (cliquez ici)
L'ESP32, comporte en principe un total de 18 broches pouvant être utilisées comme entrée analogique.
Sur la plupart des cartes de développement ESP32, 3 des entrées analogiques ne sont pas disponibles car elles sont réservées à un autre usage. Plus important encore, les 10 broches reliées à l'ADC2 (Analogo to Digital Converter) ne peuvent pas être utilisées lorsque le WiFi est actif !
Le schéma ci-dessous montre la disposition des broches pouvant être utilisées comme entrées analogiques sur la carte ESP32. En vert le numéro des 6 broches qui peuvent toujours être utilisées comme entrée analogique, alors que les numéros en rouge sont pour les 9 broches qui peuvent être utilisées comme entrée analogique à la condition que le WiFi soit inactif.
Notez les deux façons possibles de numéroter chaque broche. Pour lire l'état de la broche GPIO 33, je peux tout aussi bien écrire analogRead(33) ou analogRead(A5).
Sur la carte, les broches GPIO 0, 37 et 38 ne sont pas disponibles. Les broches GPIO 36 et GPIO 39 sont disponibles, par contre, à la condition de savoir les reconnaître: elles portent respectivement la mention "VP" et "VN" sur la carte (attention: n'utilisez pas les broches GPIO 36 et GPIO 39 pendant que vous utilisez le capteur à effet Hall intégré de l'ESP32).
Q1 : Quelles précautions faut-il prendre si on utilise l'ESP32 en mode WIFI ? Quelles commandes dois-je utiliser pour lire l'entrée GPIO 15 ?
Essai avec un potentiomètre
Brancher un potentiomètre à la carte ESP32 de façon à faire varier la tension de la broche GPIO 33 (ou une autre broche ayant le même fonctionnement) entre 0 V et 3,3 V.

Téléverser ce code dans l'IDE Arduino :
/* On affiche la valeur analogique
* mesurée par la broche GPIO 33
* de l'ESP32.
*/
const int entreeAnalogique = 33; // GPIO 33
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("L'entrée analogique vaut : ");
Serial.println(analogRead(entreeAnalogique));
delay(100);
}
En tournant le bouton du potentiomètre d'une extrémité à l'autre afin de faire passer la tension de 0 V à 3,3 V, on obtient des valeurs variant entre 0 et 4095, puisque la résolution de l'ADC est de 12 bits.
Q2 : Créer le schéma de câblage comprenant le microcontrôleur ESP32, un multimètre et un potentiomètre (prendre une capture d'écran de la platine et de la vue schématique et la mettre dans votre compte rendu).
Lancer le logiciel Fritzing
présent sur votre poste, de base, l'ESP32 n'existe dans le logiciel, on va donc l'ajouter : cliquer sur "MINE" situé sur le bandeau de droite puis faites "importer". 
Vous ajouter le composant "ESP32_Doit_lunanode_v2.fzpz" présent ici (cliquer sur le lien pour le télécharger).
Mode d'emploi succinct de Fritzing : Utiliser l'onglet Platine d'essai pour ajouter les composants présents dans la bibliothèque. Pour ajouter les câbles, il suffit de choisir une patte puis de la relier à l'autre patte, le changement de couleur de fils s'effectuent à l'aide du menu de droite.

Schéma à compléter par vos soins
Conversion des valeurs en volts
Si on désire connaître la tension exacte en volts, on pourrait croire qu'il s'agit de multiplier notre mesure par 3,3 , puis de la diviser par 4095. Mais si on procède de cette façon, nous obtiendrons systématiquement une tension plus faible que la tension réelle. La raison, c'est que la réponse de l'ADC de l'ESP32 n'est pas parfaitement linéaire.
Q3 : Pour le vérifier, branchez un voltmètre au potentiomètre puis relevé la tension réelle en volts et le résultat d'analogRead() pour plusieurs positions différentes du potentiomètre. Prenez plus de point sur les extrêmes (0 et 3,3V). Utiliser un fichier Excel pour représenter le graphe que vous allez obtenir. Donner un titre, nommer les ordonnées et abscisses. Affichez les valeurs prises sous forme d'un tableau.
Vous remarquerez qu'il y a un souci au niveau des deux extrémités du graphique: la résolution de 12 bits devrait permettre de distinguer deux valeurs séparées d'environ un millivolt. Pourtant, toutes les valeurs inférieures à environ 125 mV retournent une mesure de 0. À l'autre extrémité, la valeur maximale de 4095 est atteinte dès 3,1 V, ce fait que nous obtenons le même résultat peu importe que la tension soit de 3,1, 3,2 ou 3,3 V...
Résolution (nombre de digit) : la plus petite variation de la grandeur à mesurer qui puisse être détectée par l'instrument de mesure (ici l'esp32).
La résolution d'un digit (d) est définie par la relation :
Résolutiond ou quantum = Calibre / Nombre de points
La résolution est exprimée en volt(V)
Calibre : étendue de mesures (Vmax - Vmin)
Nb de points : nombre de points qu'il est possible de lire avec le µcontrolleur
Q4 : Donner le calibre ainsi que le nombre de points. Utiliser ces données pour pour trouver la résolution de l'ESP32 (poser et détailler les calculs).
Si on corrige la droite avec cette formule, en orange, la droite correspondant au calcul analogRead() * 3,3 / 4095... ça donne un résultat presque toujours légèrement plus faible que ce qu'il devrait être:
Q5 : A l'aide de l'apport de connaissance sur les coefficients directeurs de droite(cliquez ici) et de votre calculatrice, déterminer l'équation de la droite. Faites plusieurs calculs. Détaillez-les.
Ici, la conversion sera plus fidèle on utilise l'équation 7,68E-4 * analogRead() + 0,1734 (sauf aux deux extrémités de la courbe).
Q6 : Que pensez-vous de cette approximation ? Vérifiez par le calcul sur les extrémités notamment.
Q7 : On souhaite afficher la tension en volt aux bornes du potentiomètre dans la sortie série. Faites la modification en vous aidant de la question 4.
Q8 : On souhaite apporter de la qualité dans les mesures à l'aide d'un échantillonnage sur 3 mesures.
Modifiez le programme pour prendre une série de 3 mesures et en faire la moyenne. Indiquez votre démarche et pour argumenter pour montrer la véracité de ce que vous avez fait.
Écrire un algorithme pour prendre la série de 3 mesures :
Faire la mesure 1
Faire la mesure 2
Faire la mesure 3
.... à vous de compléter
Refaite l'activité pratique avec un capteur de lumière ou une thermistance.
Créé avec HelpNDoc Personal Edition: Gagnez du temps et de la frustration avec la fonction de conversion WinHelp HLP vers CHM de HelpNDoc





