Un potentiomètre est une résistance à trois bornes avec un contact rotatif et un contact coulissant qui forme un diviseur de tension.
Le potentiomètre est constitué d’une résistance de 10 kilo-ohms variable. Cette résistance va bloquer une partie de la tension en fonction de comment on tourne le bouton.
Il y a différents types de potentiomètres :
Le potentiomètre est très utilisé dans les radiateurs comme rhéostat, ou pour augmenter ou diminuer le son d’un haut parleur.
Il existe différentes formes de potentiomètre :
Potentiomètre rotatif :
Potentiomètre coulissant :
Potentiomètre multitours :
Le potentiomètre est souvent utilisé comme diviseur de tension. Il permet de faire varier la tension entre 0V et 5V. .
Comme on peut voir ici, on va apporter une consigne en tournant notre bouton du potentiomètre. Ceci va modifier la valeur de la résistance afin de laisser passer plus ou moins de courant.
Voici les pins des potentiomètres :
On peut récupérer la valeur du potentiomètre en « écoutant » la broche analogique pour laquel le potentiomètre à été branché. Pour cela on utilise la fonction analogRead avec le nom de la broche en paramètre :
analogRead(Nom_de_la_broche);
Utilisez un bouton poussoir pour des entrées discrètes (ON/OFF) et un potentiomètre pour des entrées analogiques en continu. Le choix dépendra des besoins spécifiques de votre projet et des actions que vous souhaitez réaliser. Parfois, vous pouvez même utiliser les deux combinés pour des fonctionnalités plus avancées, par exemple, en utilisant un potentiomètre pour contrôler la vitesse d’un moteur et un bouton poussoir pour le démarrer ou l’arrêter.
Voici le symbole du potentiomètre que vous retrouverez dans des circuits électriques.
Cela ne nécessité pas forcément de code pour fonctionner. Il suffit de mettre le potentiomètre en série avec le composant pour lequel vous voulez que la tension varie, ici la LED.
On peut aussi récupérer la valeur du potentiomètre en reliant la broche du milieu à la borne analogique de la carte Arduino. En tournant le potentiomètre, on va donc voir les valeurs varier sur le moniteur série.
int Potentiometre; // Variable pour le composant potentiomètre
void setup() {
Serial.begin(9600); //Initialisation du moniteur série
Serial.println("Voici la valeur du potentiometre :");
}
void loop() {
Potentiometre = analogRead(A0); // On lit la valeur du potentiomètre
Potentiometre=map(Potentiometre,0,1023,0,5); // Permet d'obtenir la valeur entre 0V et 5V.
Serial.print("tension : ");
Serial.println(Potentiometre); // On affiche cette valeur
delay(200); // Pause entre chaque valeur.
}
Voici ce que l’on obtient dans le moniteur série en tournant le potentiomètre :
Vous pouvez ensuite utiliser ces valeurs pour contrôler vos composants…
On va maintenant contrôler un servomoteur avec notre potentiomètre. Pour cela on va relier la broche signal du potentiomètre à la carte Arduino, afin que la carte Arduino lise la valeur de celui-ci et l’envoie au servomoteur, ici grâce à la broche 9 :
Pour simplifier le circuit, nous utilisons la librairie Servo.h. C’est une librairie en .zip qui s’installer depuis Arduino IDE. Si vous voulez de l’aide pour l’ajouter, on vous conseille notre cours sur les librairies.
#include <Servo.h> // La librairie pour utiliser le servomoteur
Servo monServomoteur; // Permet de déclarer le servomoteur
int broche_potentiometre=0; // Permet de déclarer la broche du potentiomètre, qui est A0
int valeur_potentiometre; // Permet de récupérer la valeur du potentiomètre
void setup() {
monServomoteur.attach(9); // On relie le servomoteur à la broche 9.
}
void loop() {
valeur_potentiometre = analogRead(broche_potentiometre); // Lit la valeur du potentiomètre
valeur_potentiometre = map(valeur_potentiometre,0,1023,0,180); // convertis la valeur du potentiomètre en une valeur entre 0 et 180 degrés
monServomoteur.write(valeur_potentiometre); // On envoit cette valeur au servomoteur poru modifier sa direction
delay(15); //Pause
}