Comment utiliser l'ADS1115 ADC avec Arduino

How to Use the ADS1115 ADC with Arduino

L'ADS1115 est un convertisseur analogique de précision 16 bits (ADC) avec une interface I2C. Il offre une précision élevée et plusieurs canaux d'entrée, ce qui le rend idéal pour les capteurs de lecture, les tensions de surveillance ou l'amplification des signaux dans les projets Arduino. Ce tutoriel vous guidera dans la connexion et l'utilisation de l'ADS1115 avec Arduino.


Ce dont vous aurez besoin

  1. Module ADC ADS1115
  2. Board Arduino (par exemple, Uno, Mega, Nano)
  3. Capteurs ou dispositifs analogiques (par exemple, potentiomètre)
  4. Fils de planche à pain et de cavalier
  5. Un ordinateur avec l'ide Arduino installé

Étape 1: Comprendre le module ADS1115

L'ADS1115 propose:

  • Résolution ADC 16 bits (15 bits pour les entrées différentielles).
  • 4 canaux d'entrée (ou 2 paires différentielles).
  • Amplificateur de gain programmable (PGA) pour l'amplification du signal.

Pinout ADS1115

Épingle Fonction
VCC Alimentation (3,3 V / 5V)
GND Sol
SDA Ligne de données I2C
SCL Ligne d'horloge i2c
Addr Configuration d'adresse I2C
  • Configuration de la broche Addr:
    • GND: 0x48 (adresse par défaut)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Étape 2: Câblage de l'ADS1115 à Arduino

Connectez l'ADS1115 à l'Arduino comme suit:

Broche ADS1115 Épingle arduino
VCC 5V
GND GND
SDA A4 (SDA)
SCL A5 (SCL)

Note: Pour d'autres cartes Arduino, assurez-vous d'utiliser les broches I2C correctes.


Étape 3: Installez la bibliothèque requise

Pour simplifier la communication avec l'ADS1115, installez la bibliothèque ADAFruit ADS1X15.

Étapes à installer:

  1. Ouvrez l'ide Arduino.
  2. Aller à Esquisser > Inclure la bibliothèque > Gérer les bibliothèques.
  3. Recherchez "Adafruit ADS1X15" et cliquez Installer.

Étape 4: Téléchargez le code

Voici un exemple de croquis pour lire l'entrée analogique de l'ADS1115:

#include <Wire.h>
#include <Adafruit_ADS1X15.h>

Adafruit_ADS1115 ads; // Create an ADS1115 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing ADS1115...");

  if (!ads.begin()) {
    Serial.println("Failed to detect ADS1115. Check connections.");
    while (1);
  }

  Serial.println("ADS1115 initialized.");
}

void loop() {
  int16_t adc0 = ads.readADC_SingleEnded(0); // Read channel 0
  float voltage = adc0 * 0.1875 / 1000.0; // Convert to voltage (gain = 2/3)

  Serial.print("ADC Value: ");
  Serial.print(adc0);
  Serial.print(" | Voltage: ");
  Serial.print(voltage);
  Serial.println(" V");

  delay(500); // Wait for 500ms before the next reading
}

Étape 5: tester la configuration

  1. Connectez l'Arduino à votre ordinateur via USB.
  2. Ouvrez l'ide Arduino et sélectionnez le bon Conseil et Port sous Outils menu.
  3. Téléchargez le code sur l'Arduino en cliquant Télécharger.
  4. Ouvrez le moniteur en série (Outils > Moniteur en série) et régler le taux de bauds sur 9600.
  5. Variez la tension d'entrée (par exemple, en utilisant un potentiomètre) et observez la valeur ADC et les lectures de tension.

Facultatif: Utilisation du mode différentiel

L'ADS1115 peut également mesurer la différence entre deux broches d'entrée (par exemple, A0 et A1):

int16_t diff = ads.readADC_Differential_0_1(); // Measure difference between A0 and A1
float voltage = diff * 0.1875 / 1000.0; // Convert to voltage
Serial.println(voltage);

Applications de l'ADS1115

  1. Lectures de capteurs de haute précision
  2. Surveillance et mesure de la tension
  3. Amplification du signal pour les petits capteurs
  4. Mesure différentielle du signal

Dépannage

  • Aucune réponse du capteur: Vérifiez les connexions I2C et assurez-vous que l'adresse I2C correcte est utilisée.
  • Lectures incohérentes: Vérifiez une alimentation stable et des entrées de signal propre.
  • Faible résolution: Assurez-vous que vous utilisez le paramètre de gain correct pour votre plage d'entrée.

Conclusion

Vous avez réussi à interfacer l'ADC ADS1115 avec Arduino. Avec sa haute précision et sa flexibilité, l'ADS1115 est un excellent outil pour divers projets nécessitant une conversion analogique-numérique précise. Expérimentez ses fonctionnalités pour construire des systèmes de mesure avancés et des interfaces de capteur!

Laissez un commentaire

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.