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
- ADS1115 Modul ADC
- Arduino Board (de exemplu, Uno, Mega, Nano)
- Senzori sau dispozitive analogice (de exemplu, potențiometru)
- Tablă de pâine și jumper
- 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
- GND:
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:
- Deschideți IDE Arduino.
- Du -te la Schiţa > Include biblioteca > Gestionați bibliotecile.
- 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
- Conectați Arduino la computer prin USB.
- Deschideți IDE Arduino și selectați corect Bord şi Port sub Instrumente meniu.
- Încărcați codul la Arduino făcând clic pe Încărcați.
- Deschideți monitorul în serie (Instrumente > Monitor în serie) și setați rata de transfer la
9600
. - 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
- Citiri de senzori de înaltă precizie
- Monitorizare și măsurare a tensiunii
- Amplificarea semnalului pentru senzori mici
- 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!