Cum se utilizează ADS115 ADC cu Arduino

How to Use the ADS1115 ADC with Arduino

ADS1115 este un convertor analog-digital analog-digital de 16 biți (ADC) cu o interfață I2C. Oferă o precizie ridicată și mai multe canale de intrare, ceea ce îl face ideal pentru senzori de citire, tensiuni de monitorizare sau semnale de amplificare în proiectele Arduino. Acest tutorial vă va ghida prin conectare și utilizarea ADS1115 cu Arduino.


Ce vei avea nevoie

  1. ADS1115 Modul ADC
  2. Arduino Board (de exemplu, Uno, Mega, Nano)
  3. Senzori sau dispozitive analogice (de exemplu, potențiometru)
  4. Tablă de pâine și jumper
  5. Un computer cu IDE Arduino instalat

Pasul 1: Înțelegerea modulului ADS1115

ADS1115 oferă:

  • Rezoluție ADC pe 16 biți (15 biți pentru intrări diferențiale).
  • 4 canale de intrare (sau 2 perechi diferențiale).
  • Amplificator de câștig programabil (PGA) pentru amplificarea semnalului.

ADS1115 PINOUT

Ac Funcţie
VCC Sursă de alimentare (3.3V/5V)
GND Sol
SDA Linia de date I2C
SCL Linia de ceas I2C
Addr Configurarea adresei I2C
  • Configurare pin addr:
    • GND: 0x48 (adresa implicită)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Pasul 2: Cablarea ADS1115 către Arduino

Conectați ADS1115 la Arduino după cum urmează:

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

Nota: Pentru alte plăci Arduino, asigurați -vă că utilizați pinii I2C corecți.


Pasul 3: Instalați biblioteca necesară

Pentru a simplifica comunicarea cu ADS1115, instalați biblioteca AdaFruit ADS1X15.

Pași pentru instalare:

  1. Deschideți IDE Arduino.
  2. Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
  3. Căutați „Adafruit ADS1X15” și faceți clic pe Instala.

Pasul 4: Încărcați codul

Iată un exemplu de schiță pentru a citi intrarea analogică din 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
}

Pasul 5: Testați configurarea

  1. Conectați Arduino la computer prin USB.
  2. Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
  3. Încărcați codul la Arduino făcând clic pe Încărcați.
  4. Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la 9600.
  5. Variază tensiunea de intrare (de exemplu, folosind un potențiometru) și observați valoarea ADC și citirile de tensiune.

Opțional: Utilizarea modului diferențial

ADS1115 poate măsura, de asemenea, diferența dintre doi pini de intrare (de exemplu, A0 și 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);

Aplicațiile ADS1115

  1. Citiri de senzori de înaltă precizie
  2. Monitorizare și măsurare a tensiunii
  3. Amplificarea semnalului pentru senzori mici
  4. Măsurarea semnalului diferențial

Depanare

  • Fără răspuns din partea senzorului: Verificați conexiunile I2C și asigurați -vă că se folosește adresa I2C corectă.
  • Lecturi inconsistente: Verificați dacă există o sursă de alimentare stabilă și intrări de semnal curat.
  • Rezoluție scăzută: Asigurați -vă că utilizați setarea de câștig corectă pentru intervalul dvs. de intrare.

Concluzie

Ați interfațat cu succes ADC ADS115 cu Arduino. Cu precizie și flexibilitate ridicată, ADS1115 este un instrument excelent pentru diverse proiecte care necesită o conversie analog-digitală precisă. Experimentați cu caracteristicile sale pentru a construi sisteme avansate de măsurare și interfețe senzor!

Lasă un comentariu

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.