Hur man använder ADS1115 ADC med Arduino

How to Use the ADS1115 ADC with Arduino

ADS1115 är en 16-bitars precisionsanalog-till-digital omvandlare (ADC) med ett I2C-gränssnitt. Det erbjuder hög noggrannhet och flera ingångskanaler, vilket gör den idealisk för läsesensorer, övervakning av spänningar eller förstärker signaler i Arduino -projekt. Denna handledning kommer att leda dig genom att ansluta och använda ADS1115 med Arduino.


Vad du behöver

  1. ADS1115 ADC -modul
  2. Arduino Board (t.ex. Uno, Mega, Nano)
  3. Sensorer eller analoga enheter (t.ex. potentiometer)
  4. Breadboard och jumpertrådar
  5. En dator med Arduino Ide installerad

Steg 1: Förstå ADS1115 -modulen

ADS1115 erbjuder:

  • 16-bitars ADC-upplösning (15-bitars för differentiella ingångar).
  • 4 ingångskanaler (eller 2 differentiella par).
  • Programmerbar förstärkningsförstärkare (PGA) för signalförstärkning.

ADS1115 pinout

Stift Fungera
Vcc Strömförsörjning (3.3V/5V)
Gard Jord
SDA I2C -datalinjen
SCL I2c klocklinje
Tänd I2c adresskonfiguration
  • ADDR -stiftkonfiguration:
    • GND: 0x48 (Standardadress)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Steg 2: Kopplar ADS1115 till Arduino

Anslut ADS1115 till Arduino enligt följande:

ADS1115 -stift Arduinosnål
Vcc 5V
Gard Gard
SDA A4 (SDA)
SCL A5 (SCL)

Notera: För andra Arduino -kort, se till att du använder rätt I2C -stift.


Steg 3: Installera det nödvändiga biblioteket

För att förenkla kommunikationen med ADS1115, installera ADAFRUIT ADS1X15 -biblioteket.

Steg för att installera:

  1. Öppna Arduino IDE.
  2. Gå till Skiss > Inkludera bibliotek > Hantera bibliotek.
  3. Sök efter "Adafruit ADS1x15" och klicka Installera.

Steg 4: Ladda upp koden

Här är ett exempel skiss för att läsa analog input från 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
}

Steg 5: Testa installationen

  1. Anslut Arduino till din dator via USB.
  2. Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
  3. Ladda upp koden till Arduino genom att klicka Ladda upp.
  4. Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till 9600.
  5. Variera ingångsspänningen (t.ex. med hjälp av en potentiometer) och observera ADC -värdet och spänningsavläsningarna.

Valfritt: Använda differentiellt läge

ADS1115 kan också mäta skillnaden mellan två ingångsstift (t.ex. A0 och 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);

Applikationer av ADS1115

  1. Sensoravläsningar med hög precision
  2. Spänningsövervakning och mätning
  3. Signalförstärkning för små sensorer
  4. Differentiell signalmätning

Felsökning

  • Inget svar från sensorn: Kontrollera I2C -anslutningarna och se till att rätt I2C -adress används.
  • Inkonsekventa avläsningar: Kontrollera om en stabil strömförsörjning och rena signalingångar.
  • Låg upplösning: Se till att du använder rätt förstärkningsinställning för ditt ingångsområde.

Slutsats

Du har framgångsrikt blandat ADS1115 ADC med Arduino. Med sin höga precision och flexibilitet är ADS1115 ett utmärkt verktyg för olika projekt som kräver exakt analog till digital konvertering. Experimentera med sina funktioner för att bygga avancerade mätsystem och sensorgränssnitt!

Lämna en kommentar

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.