Le potentiométre linéaire

Potentiomètre

Introduction

Dans ce tutoriel, nous allons étudier le potentiomètre linéaire, et l'intéraction entre lui et une carte microcontrôleur ARDUINO

1/ Fonctionnement d'un potentiomètre linéaire

Un potentiomètre est une résistance que l'on peut faire varier. Elle possède trois bornes, la première pour la tension d'alimentation, la seconde connectée à la masse, et la troisième nous permet de faire varier sa résistance.

Le potentiomètre linaire est un potentiomètre dont sa résistance varie proportionnellement à la distance entre ses bornes et le curseur. La variation est progressive : si celui-ci, possède une résistance total de 10kΩ et que je positionne son curseur à la moitié, alors sa résistance sera égale à 5kΩ.

Ce système permet de recueillir une tension qui dépend de la position du réglage de la résistance variable et de la tension à laquelle est soumise sa résistance.

2/ Variation de tension avec un potentiomètre et une carte ARDUINO

Dans ce premier exercice, nous allons connecter le potentiomètre sur une PIN de la carte, et faire varier sa tension grâce au potentiomètre. La lecture de cette tension s'effectuera sur le moniteur série.

3/ Le matériel

- Une carte de type UNO

- Un potentiomètre

- Une plaque d'essai

- Des fils de connexions










4/ Schéma

- Une carte de type UNO

- Connecter la les deux broches à l'extrémité du potentiomètre au 5V et à la masse (GND) de la carte.

- Connecter la broche du milieu à la PIN A0 de la carte.







En image

5/ Le programme

/* TUTORIELS IHM 3D*/

int potentiometre = A0;//la consigne du potentiomètre connectée sur la PIN analogique 0
int valeurpot = 0;// variable de mémorisation du résultat brut d potentiométre

float resultat;//j'utilise float pour afficher les chiffres après la virgule

void setup()
{
Serial.begin(9600);
Serial.println ("Bienvenue sur les tutoriels d'IHM 3D");
}

void loop()
{
valeurpot = analogRead(potentiomètre);// on stocke le résultat du potentiomètre dans la valeurpot

/*conversion simple : j'ai 5V au plus en sortie de ma carte. La valeur max du potentiomètre est de 1023.
je divise la valeur du potentiomètre par 204,6 pour 1 volt : 1023 / 5 = 204.6 (il existe différentes façon)*/

resultat = valeurpot / 204.6;//conversion simple : j'ai 5V au plus en sortie de ma carte

Serial.print("Valeur brut du potentiomètre ");
Serial.println(valeurpot);//on veut observer la valeur du potentiomètre

Serial.print("Tension réglée ");
Serial.print(resultat);// résultat final de la tension réglée
Serial.println(" V");

Serial.println("");
Serial.println("");

delay(750);//juste pour avoir le temps de lire sur le moniteur.
}

/******************FIN DU PROGRAMME*********************/

6/ Résultat

Tourner votre potentiomètre pour faire varier la résistance, et visualiser votre moniteur série du logiciel ARDUINO.












7/ La fonction "map"

Arduino propose une "fonction appelée map" qui permet pour notre prochain exemple, de faire varier la tension d'un objet connecté. Par exemple, à l'aide d'un potentiomètre et d'une LED, nous allons pouvoir faire varier la luminosité de la LED en jouant avec la tension qui pourra être réglée grâce au potentiomètre.
Le microcontrôleur effectue un produit en croix avec les données de la tension de sortie et les données du potentiomètre.

Commençons le montage.

7.1/ Le matériel

- Une carte de type UNO

- Un potentiomètre

- Une LED électronique

- Une résistance de 100Ω au minimum

- Une plaque d'essais

- Des fils de connexions







7.2/ Schéma

- Le branchement du potentiomètre ne change pas par rapport au chapitre précédent.

- La cathode de la LED est connectée à la masse (GND).

- L'anode de la LED est connectée à une patte de la résistance.

- L'autre extrémité de la résistance, nous la branchons sur la PIN 3 de la carte.

En image

7.3/ Le programme

int potentiometre = A0;//potentiomètre connecté sur A0 de la carte
int led = 3;// led connectée sur PWM 3 de la carte

int valeurpotar = 0;//variable valeur du potentiomètre
int valeurled = 0;//variable valeur de la led

void setup() {

Serial.begin(9600);
Serial.println ("Bienvenue sur les tutoriels d'IHM 3D");
pinMode (potentiometre , INPUT); // potentiomètre déclarée en entrée
pinMode (led , OUTPUT);// led déclarée en sortie
}
void loop() {

valeurpotar = analogRead(potentiometre);//stockage de la valeur du potentiomètre dans valeur potar

valeurled = map(valeurpotar, 0, 1023, 0, 255);//produit en croix 0 --> 0 / 1023 --> 255

analogWrite(led, valeurled);

/information sur le moniteur série

Serial.print("POTENTIOMETRE :");
Serial.println(valeurpotar);
Serial.print("LED : ");
Serial.println(valeurled);
Serial.print ("");

delay (750);// delay pour avoir le temps de lire la valeur sur le moniteur série.
}

7.4/ Le résultat

En tournant le potentiomètre pour faire varier sa résistance, la luminosité de la LED variera proportionnellement aux valeurs de la résistance variable.

Exemple d'après la lecture du moniteur série :
Si l'on applique un produit en croix aux valeurs indiquées en rouge :

Vérifions si la valeur 784 du potentiomètre correspond bien à 195 pour la LED :

1023 * 195 / 255 = 782,3. Théoriquement, on retrouve quasiment la même valeur que celle du potentiomètre.

8/ Conclusion

Ce document tutoriel est maintenant terminé. N'hésitez pas à parcourir le site d'IHM-3D et de découvrir ses activités, de poser vos questions à l'adresse située en pied de page.