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(potentiometre);// 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.