Raspberry Pi - Potentiomètre

Ce didacticiel vous apprend à utiliser le Raspberry Pi avec un potentiomètre, également connu sous le nom de pot, trimmer, résistance variable, rhéostat ou capteur d'angle rotatif. En détail, nous allons apprendre :

Préparation du matériel

1×Raspberry Pi 4 Model B
1×Potentiometer
1×(Alternative) Potentiometer Kit
1×(Alternative) Potentiometer Module with Knob
1×ADS1115 ADC Module
1×Breadboard
1×Jumper Wires
1×(Optional) Screw Terminal Block Shield for Raspberry Pi
1×(Optional) USB-C Power Cable with On/Off Switch for Raspberry Pi 4B
1×(Optional) Plastic Case and Cooling Fan for Raspberry Pi 4B
1×(Optional) HDMI Touch Screen Monitor for Raspberry Pi

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du potentiomètre

Un potentiomètre rotatif, également connu sous le nom de capteur d'angle rotatif, est utilisé pour modifier manuellement la valeur d'un élément. Des exemples incluent le volume d'une chaîne stéréo, la luminosité d'une lampe et le niveau de zoom d'un oscilloscope.

Bornier du potentiomètre

Le raccordement du potentiomètre

Un potentiomètre a généralement trois broches :

  • La broche GND doit être connectée à la masse (0V)
  • La broche VCC doit être reliée à VCC (5V ou 3,3V)
  • La broche de sortie envoie la tension à la broche d'entrée du Raspberry Pi.
Brochage du potentiomètre

※ Note:

La broche GND et la broche VCC peuvent être échangées.

Comment ça marche

L'arbre rotatif du potentiomètre peut être déplacé de 0°, qui est le plus proche de GND, jusqu'à un angle maximum, qui est le plus proche de la broche VCC. Cet angle maximum est appelé ANGLE_MAX.

※ Note:

La valeur de ANGLE_MAX est déterminée par le fabricant. En général, nous n'y prêtons pas attention, sauf lorsque nous devons calculer l'angle de rotation (voir la section des cas d'utilisation).

Fonctionnement du potentiomètre

Le principe de fonctionnement :

  • Un utilisateur tourne l'axe du potentiomètre
  • ⇒ L'angle du potentiomètre est modifié
  • ⇒ La résistance du potentiomètre est modifiée
  • ⇒ La tension sur la broche de sortie du potentiomètre est modifiée
  • ⇒ La valeur analogique lue par le Raspberry Pi est modifiée

Raspberry Pi - Potentiomètre

La carte Raspberry Pi n'a pas de convertisseur analogique-numérique (ADC) intégré. Nous devons utiliser un module ADC externe (par exemple, le module ADS1115) pour lire la tension analogique d'un potentiomètre.

  • Le potentiomètre est connecté au module ADS1115.
  • Le module ADS1115 convertit la tension du potentiomètre en valeur ADC.
  • Le Raspberry Pi se connecte au module ADS1115 et lit la valeur ADC via l'interface I2C.

Le module ADS1115 est un convertisseur ADC haute résolution de 16 bits. Il convertit une plage de tension de 0V à 3,3V en une plage de valeurs ADC de 0 à 65535.

Une fois que nous avons obtenu la valeur ADC, nous pouvons la redimensionner pour en obtenir une différente. Considérons quelques exemples d'applications.

  • Recalibrer à la tension du potentiomètre.
  • Recalibrer au volume d'une stéréo.
  • Recalibrer à la luminosité de la LED.
  • Recalibrer à la vitesse d'un moteur à courant continu.
  • Recalibrer à l'angle du servomoteur.

Redimensionner la plage

FROM TO
Anglerotated by userANGLE_MAX
Voltagefrom potentiometer's pin 0V3.3
ADC valueread by Raspberry Pi 065536
Other valueconverted by Raspberry Pi VALUE_MINVALUE_MAX

Diagramme de câblage

  • Schéma de câblage du potentiomètre Raspberry Pi sans plaque d'essai
Schéma de câblage du potentiomètre Raspberry Pi

This image is created using Fritzing. Click to enlarge image

  • Diagramme de câblage du potentiomètre Raspberry Pi avec planche à pain
Schéma de câblage du Raspberry Pi ADS1115

This image is created using Fritzing. Click to enlarge image

Pour simplifier et organiser votre câblage, nous vous recommandons d'utiliser un Screw Terminal Block Shield pour Raspberry Pi. Ce shield garantit des connexions plus sûres et plus faciles à gérer, comme illustré ci-dessous :

Raspberry Pi Screw Terminal Block Shield

Comment programmer le code Raspberry Pi pour lire la valeur d'un potentiomètre

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec le Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à internet si vous avez besoin d'installer certaines bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous que vous avez installé la bibliothèque RPi.GPIO. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Installez la bibliothèque Adafruit_ADS1x15 en exécutant les commandes suivantes sur le terminal de votre Raspberry Pi :
sudo pip install Adafruit-ADS1x15
  • Créez un fichier de script Python potentiometer.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/tutorials/raspberry-pi/raspberry-pi-potentiometer import time import Adafruit_ADS1x15 # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() # Set the gain to ±4.096V (adjust if needed) GAIN = 1 # Main loop to read and display the analog value try: while True: # Read the raw analog value from channel A3 raw_value = adc.read_adc(3, gain=GAIN) # Convert the raw value to voltage voltage = raw_value / 32767.0 * 4.096 # Assumes 4.096 V range for GAIN=1 # Print the results print("Raw Value: {} \t Voltage: {:.2f} V".format(raw_value, voltage)) # Add a delay between readings (adjust as needed) time.sleep(1) except KeyboardInterrupt: print("\nExiting the program.")
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le Terminal :
python3 potentiometer.py
  • Tournez le potentiomètre.
  • Vérifiez le résultat dans le terminal.
PuTTY - Raspberry Pi
Raw Value: 0 Voltage: 0.00 V Raw Value: 620 Voltage: 0.38 V Raw Value: 1024 Voltage: 0.63 V Raw Value: 1850 Voltage: 1.13 V Raw Value: 2000 Voltage: 1.22 V Raw Value: 3000 Voltage: 1.83 V Raw Value: 3270 Voltage: 2.00 V Raw Value: 4100 Voltage: 2.51 V Raw Value: 4095 Voltage: 2.51 V

Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!