Raspberry Pi - ADC

Le Raspberry Pi ne dispose pas de broches d'entrée analogiques intégrées, il ne peut donc pas lire directement les valeurs des capteurs analogiques comme les potentiomètres, les thermistances et les capteurs de gaz. Pour résoudre ce problème, nous utilisons un convertisseur analogique-numérique (ADC). Ce tutoriel vous montrera comment utiliser un module ADC ADS1115 pour lire les valeurs des capteurs analogiques avec un Raspberry Pi.

Ce didacticiel couvre :

Préparation du matériel

1×Raspberry Pi 5
1×ADS1115 ADC Module
1×Analog sensor (e.g., Potentiometer, Light sensor, Water sensor)
1×Breadboard
1×Jumper Wires
1×Recommended: Screw Terminal Block Shield for Raspberry Pi
1×Recommended: Raspberry Pi Prototyping Base Plate & Breadboard Kit
1×Recommended: 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.

Comprendre le module ADS1115

L'ADS1115 est un ADC de 16 bits avec 4 canaux et communique avec le Raspberry Pi en utilisant I2C (Inter-Integrated Circuit). Il peut lire des signaux analogiques (0-3,3V) et offre une résolution de 16 bits.

Le module ADS1115 possède 4 canaux d'entrée analogique, ce qui signifie que vous pouvez connecter jusqu'à 4 capteurs analogiques différents à un seul module ADS1115 en même temps. Cela vous permet de mesurer simultanément plusieurs valeurs de capteurs en utilisant un seul module ADC.

Brochage de l'ADS1115

Module ADC ADS1115 brochage
Pin Name Description
VDD Power supply (3.3V or 5V)
GND Ground
SCL I2C clock (connect to Raspberry Pi GPIO3)
SDA I2C data (connect to Raspberry Pi GPIO2)
A0-A3 Analog input channels
ADDR I2C address selection
ALERT/RDY Alert/Ready output (optional)

Câblage de l'ADS1115 au Raspberry Pi

ADS1115 Pin Raspberry Pi Pin
VDD 3.3V (Pin 1)
GND GND (Pin 6)
SCL GPIO3 (Pin 5)
SDA GPIO2 (Pin 3)

Voici plusieurs exemples de branchement d'un Raspberry Pi, d'un module ADS1115 et de divers capteurs analogiques :

  • Le câblage entre le Raspberry Pi, le module ADS1115 et le potentiomètre
Schéma de câblage du potentiomètre Raspberry Pi

This image is created using Fritzing. Click to enlarge image

  • Le câblage entre le Raspberry Pi, le module ADS1115 et le capteur de lumière.
Schéma de câblage du capteur de lumière Raspberry Pi

This image is created using Fritzing. Click to enlarge image

  • Le câblage entre le Raspberry Pi, le module ADS1115 et le capteur d'eau.
Schéma de câblage du capteur d'eau Raspberry Pi

This image is created using Fritzing. Click to enlarge image

  • Le câblage entre le Raspberry Pi, le module ADS1115 et le capteur d'humidité du sol
Schéma de câblage du capteur d'humidité du sol 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

Comme mentionné précédemment, le module ADS1115 peut connecter jusqu'à quatre capteurs analogiques simultanément. Ce tutoriel montre comment l'utiliser avec un capteur, mais vous pouvez facilement l'adapter pour plusieurs capteurs.

Comment utiliser l'ADC avec Raspberry Pi

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec 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 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.
  • Exécutez la commande suivante pour ouvrir l'outil de configuration Raspberry Pi :
sudo raspi-config
  • Accédez à Options d'interface > I2C et activez-le pour activer l'interface I2C sur le Raspberry Pi.
  • Redémarrez le Raspberry Pi :
sudo reboot
  • Reconnectez votre PC au Raspberry Pi via SSH
  • Assurez-vous que la bibliothèque RPi.GPIO est installée. 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

Lecture des valeurs analogiques avec Python

  • Créez un fichier de script Python adc_read.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-adc import time import Adafruit_ADS1x15 # Create an ADS1115 ADC object adc = Adafruit_ADS1x15.ADS1115() while True: analog_value = adc.read_adc(0, gain=1) # Read from channel 0 print(f"Analog Value: {analog_value}") time.sleep(1)
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le Terminal :
python3 adc_read.py

Si tout est correctement connecté, vous devriez voir les valeurs analogiques s'afficher dans le terminal.

Explication du code :

  • La bibliothèque Adafruit_ADS1x15 initialise la communication I2C.
  • L'objet ADS1115 lit la valeur ADC 16 bits du canal spécifié.
  • Le script lit et affiche continuellement la valeur analogique chaque seconde.

Conclusion

L'utilisation d'un ADC comme l'ADS1115 permet au Raspberry Pi d'interagir avec des capteurs analogiques, étendant ainsi ses capacités. Ce tutoriel a démontré comment câbler et programmer l'ADS1115 pour lire des données analogiques en utilisant la communication I2C. Vous pouvez maintenant intégrer d'autres capteurs analogiques pour divers projets !

Vous trouverez ci-dessous des tutoriels complets qui expliquent comment connecter et utiliser un Raspberry Pi avec divers capteurs analogiques :

Tutoriels connexes

※ 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!