Etude expérimentale – Introduction à Arduino

Objectifs : Analyse de la carte Arduino. Prise en main du langage Arduino.

Consigne : Suivre les instructions et répondre au questionnaire.


Intégration d’un capteur

Première partie

Pour cette partie de l’activité on utilisera un potentiomètre.

Rotary angle sensor

Un potentiomètre (appelé familièrement potard) est un type de résistance variable à trois bornes, dont une est reliée à un curseur se déplaçant sur une piste résistante terminée par les deux autres bornes. Ce système permet de recueillir, entre la borne reliée au curseur et une des deux autres bornes, une tension qui dépend de la position du curseur et de la tension à laquelle est soumise la résistance.

Wikipédia – Potentiomètre

Etape 1 : Recherche d’informations

A chaque fois que l’on va rencontrer un nouveau capteur il est important de se renseigner sur celui-ci pour comprendre comment il fonctionne. Pour cela on recherche sa documentation technique.

Cherchez le nom du capteur sur lui le taper sur notre ami Google : « Rotary angle sensor ». On arrive alors sur cette page avec la documentation de notre capteur.

Lire le début de cette page pour en savoir un peu plus sur notre capteur.

Rotary angle sensor specifications

Grâce à ce tableau on apprend deux choses :

  • La tension qu’il délivre va de 4,75 V à 5,25 V
  • Le capteur est capable de mesurer un angle allant de 0 à 300°.

Si l’on fait la relation entre la tension et l’angle voilà la courbe linéaire que l’on obtient :

Angle en fonction de la tension

Question : Quel sera l’angle mesuré lorsque la tension est égale à 5 V ?

Question : Quel sera l’angle mesuré lorsque la tension est égale à 4,76 V ?


Etape 2 : Câblage

En regardant le capteur de plus près on observe que ces 4 broches sont nommées :

  • GND (Ground) : représente le potentiel 0 V. Il doit donc être câbler sur le GND de l’ESP32.
  • Vcc : représente la broche d’alimentation du capteur (ici 5 V).
  • NC : signifie que cette broche est inutilisée.
  • SIG (ou S) : représente la broche de donnée. Dans notre cas, comme le capteur est de type analogique (le signal varie en tension et ne donne pas une information seulement binaire), cette broche doit être câblée à une broche analogique de la carte Arduino. On le branchera sur la broche A2.

Câbler votre capteur comme sur le schéma ci-dessus.

A chaque fois que vous utiliserez un nouveau capteur vous devrez rechercher la manière dont il doit être câblé et dessiner son schéma de câblage.

A l’aide du logiciel Fritzing disponible dans « Ma classe > Documents en consultation », vous allez reproduire le schéma ci-dessus pour vous entrainer.

Ouvrir le logiciel et cliquer sur Fichier > Nouveau.

Vous trouverez la carte Arduino UNO facilement. Il suffit de glisser-déposer la carte dans la fenêtre de dessin du schéma.

La plupart du temps vous ne trouverez pas vos capteurs ou composants dans la bibliothèque intégrée au logiciel. Vous devez donc chercher sur Internet les fichiers comme c’est le cas pour le potentiomètre. Taper son nom sur Google suivi de « Fritzing ». Vous devrez trouver ce qu’il vous faut. Télécharger le fichier (l’extension doit être « fzpz ») et le glisser-déposer dans Fritzing.

Reproduire alors le montage.

Vous pouvez alors ensuite aller dans l’onglet « Vue schématique » pour voir le vrai schéma de câblage de votre montage comme ci-dessous.

On peut établir alors le tableau des entrées-sorties suivants :

EntréesSortiesSignal transmis
Arduino – A2Rotary angle sensor – SIGTension image de l’angle capté par le potentiomètre
Tableau des entrées-sorties

Etape 3 : Tester le capteur

Vous devez ensuite tester le capteur pour vérifier son bon fonctionnement et observer les différentes valeurs qu’il mesure. Pour cela nous allons utiliser le moniteur série d’Arduino.

Ouvrir Arduino.

A chaque fois que vous rédigez un nouveau programme vous veillerez à enregistrer-sous le programme dans votre espace personnel avec un nom permettant d’identifiant correctement ce que fait votre programme (exemple : pour celui-là vous pouvez l’appeler « potentiomètre »).

Recopier le code ci-dessous et téléverser-le sur la carte ESP32.

float pot_value; //Initialisation de la variable (flottante) pot_value

void setup() {
  Serial.begin(9600); //Initialisation du moniteur série
}

void loop() {
  pot_value = analogRead(A2);                 //pot_value prend la valeur lu sur la broche A2.
  Serial.print("Valeur du potentiomètre : "); //On écrit sur le moniteur série
  Serial.println(pot_value);                  //On écrit sur le moniteur série la valeur de pot_value
}

Décoder ce programme en déchiffrant chaque instruction.

Ouvrir le moniteur série afin et observer les valeurs affichées par le programme (en bougeant le potentiomètre).

On remarque que les valeurs codés vont de 0 à 1023.

Question : Sur combien de bits est codé cette donnée ?

Les valeurs affichées ne correspondent pas à l’angle du potentiomètre (allant de 0 à 300°). On a cependant une correspondance puisque le 0 correspond au 0° et 1023 correspond à 300°.

A l’aide d’un produit croix, exprimer alors la valeur de l’angle en fonction de pot_value.

Modifier le programme pour qu’il prenne en compte la formule exprimée et affiche sur le moniteur série la valeur de l’angle mesuré par le capteur.


Choisir maintenant un nouveau capteur et reproduire les mêmes étapes que sur la première partie.

Préparer en parallèle un diaporama afin de :

  • présenter le capteur (description, fonctionnement, tension délivrée, correspondance mesure-tension, autres informations pouvant être importante) ;
  • présenter le câblage avec l’ESP32 (schéma de câblage : vue platine et vu schématique, tableau des entrées-sorties) ;
  • présenter les résultats des tests effectués avec le moniteur série (captures d’écran, analyses des résultats, exploitation des résultats pour retrouver la valeur mesurée) ;