Raspberry Pi - Potentiomètre pour faire varier l'intensité d'une LED

Dans un Raspberry Pi - Potentiomètre LED., nous avons découvert comment utiliser un potentiomètre pour déclencher une LED. Ce tutoriel vous apprend à utiliser Raspberry Pi pour ajuster la luminosité de la LED en fonction de la valeur de sortie du potentiomètre.

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×LED Kit with resistor
1×LED (red)
1×220 ohm resistor
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 de la LED et du potentiomètre

Si vous n'êtes pas familier avec les LED et le potentiomètre (y compris le brochage, la fonctionnalité, la programmation, etc.), les tutoriels suivants peuvent vous aider :

Diagramme de câblage

Schéma de câblage LED avec potentiomètre rotatif Raspberry Pi

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

Code Raspberry Pi

Étapes rapides

  • Assurez-vous d'avoir installé Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi 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 devez installer des 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 d'avoir la bibliothèque RPi.GPIO installée. Si ce n'est pas le cas, 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_fade_led.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-fade-led import time import Adafruit_ADS1x15 import RPi.GPIO as GPIO # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() # Set the gain to ±4.096V (adjust if needed) GAIN = 1 # Define the GPIO pin for the LED LED_PIN = 16 # Change this to the appropriate GPIO pin # Set up GPIO for the LED GPIO.setmode(GPIO.BCM) GPIO.setup(LED_PIN, GPIO.OUT) # Define the PWM parameters PWM_FREQUENCY = 1000 # PWM frequency in Hz PWM_DUTY_CYCLE = 0 # Initial duty cycle (0 to 100) # Create a PWM object pwm_led = GPIO.PWM(LED_PIN, PWM_FREQUENCY) # Start PWM with the initial duty cycle pwm_led.start(PWM_DUTY_CYCLE) # Main loop to read the analog value and control LED brightness 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)) # Map the analog value to a duty cycle percentage (0 to 100) duty_cycle = int((raw_value / 32767.0) * 100) # Update the LED brightness with PWM pwm_led.ChangeDutyCycle(duty_cycle) # Add a delay between readings (adjust as needed) time.sleep(0.1) except KeyboardInterrupt: print("\nExiting the program.") # Stop PWM and clean up GPIO on exit pwm_led.stop() GPIO.cleanup()
  • Enregistrez le fichier et exécutez le script Python en tapant la commande suivante dans le terminal :
python3 potentiometer_fade_led.py
  • Tournez le potentiomètre.
  • Vérifiez la luminosité de la LED.
  • Vérifiez la sortie sur le terminal.
PuTTY - Raspberry Pi
Raw Value: 19736 Voltage: 2.39 V Raw Value: 19075 Voltage: 2.31 V Raw Value: 18409 Voltage: 2.23 V Raw Value: 17747 Voltage: 2.15 V Raw Value: 17086 Voltage: 2.07 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!