Hoe de ADS1115 ADC te gebruiken met Arduino

How to Use the ADS1115 ADC with Arduino

De ADS1115 is een 16-bit precisie analoog-naar-digitale converter (ADC) met een I2C-interface. Het biedt een hoge nauwkeurigheid en meerdere invoerkanalen, waardoor het ideaal is voor het lezen van sensoren, monitoringspanningen of het versterken van signalen in Arduino -projecten. Deze zelfstudie zal u begeleiden door de ADS1115 te verbinden en te gebruiken met Arduino.


Wat u nodig hebt

  1. ADS1115 ADC -module
  2. Arduino Board (bijv. UNO, Mega, Nano)
  3. Sensoren of analoge apparaten (bijv. Potentiometer)
  4. Breadboard en jumper draden
  5. Een computer met de Arduino Ide geïnstalleerd

Stap 1: Inzicht in de ADS1115 -module

De ADS1115 biedt:

  • 16-bit ADC-resolutie (15-bit voor differentiële ingangen).
  • 4 Input -kanalen (of 2 differentiële paren).
  • Programmeerbare versterkingsversterker (PGA) voor signaalversterking.

ADS1115 PINOUT

Pin Functie
VCC Voeding (3.3V/5V)
GND Grond
SDA I2C -gegevenslijn
SCL I2c kloklijn
Addr I2C -adresconfiguratie
  • ADDR PIN -configuratie:
    • GND: 0x48 (Standaardadres)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Stap 2: de advertenties1115 bedraden aan Arduino

Sluit de advertenties1115 als volgt aan op de Arduino:

ADS1115 PIN Arduino Pin
VCC 5V
GND GND
SDA A4 (SDA)
SCL A5 (SCL)

Opmerking: Voor andere Arduino -boards, zorg ervoor dat u de juiste I2C -pennen gebruikt.


Stap 3: Installeer de vereiste bibliotheek

Om de communicatie met de ADS1115 te vereenvoudigen, installeert u de bibliotheek Adafruit ADS1X15.

Stappen om te installeren:

  1. Open de Arduino Ide.
  2. Gaan naar Schetsen > Library innemen > Bibliotheken beheren.
  3. Zoek naar "Adafruit ADS1X15" en klik Installeren.

Stap 4: Upload de code

Hier is een voorbeeldschets om analoge invoer te lezen van de advertenties1115:

#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
}

Stap 5: Test de installatie

  1. Sluit de Arduino via USB aan op uw computer.
  2. Open de Arduino IDE en selecteer de juiste Bord En Haven onder de Hulpmiddelen menu.
  3. Upload de code naar de Arduino door te klikken Uploaden.
  4. Open de seriële monitor (Hulpmiddelen > Serie -monitor) en stel het baudrates in op 9600.
  5. Varieer de ingangsspanning (bijvoorbeeld met behulp van een potentiometer) en observeer de ADC -waarde en spanningswaarden.

Optioneel: differentiaalmodus gebruiken

De ADS1115 kan ook het verschil meten tussen twee invoerpennen (bijv. A0 en 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);

Toepassingen van de ADS1115

  1. Zeer nauwkeurige sensorwaarden
  2. Spanningsbewaking en -meting
  3. Signaalversterking voor kleine sensoren
  4. Differentiaal signaalmeting

Problemen oplossen

  • Geen reactie van de sensor: Controleer de I2C -verbindingen en zorg ervoor dat het juiste I2C -adres wordt gebruikt.
  • Inconsistente lezingen: Controleer op een stabiele voeding en schone signaalingangen.
  • Lage resolutie: Zorg ervoor dat u de juiste versterkingsinstelling gebruikt voor uw invoerbereik.

Conclusie

Je hebt de ADS1115 ADC met succes gekoppeld met Arduino. Met zijn hoge precisie en flexibiliteit is de ADS1115 een uitstekend hulpmiddel voor verschillende projecten die een nauwkeurige analoog naar digitale conversie vereisen. Experimenteer met zijn functies om geavanceerde meetsystemen en sensorinterfaces te bouwen!

Laat een reactie achter

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.