Cara menggunakan ADS1115 ADC dengan Arduino

How to Use the ADS1115 ADC with Arduino

ADS1115 adalah konverter analog-ke-digital presisi 16-bit (ADC) dengan antarmuka I2C. Ini menawarkan akurasi tinggi dan beberapa saluran input, membuatnya ideal untuk sensor membaca, voltase pemantauan, atau menguatkan sinyal dalam proyek Arduino. Tutorial ini akan memandu Anda melalui menghubungkan dan menggunakan ADS1115 dengan Arduino.


Apa yang Anda Butuhkan

  1. ADS1115 Modul ADC
  2. Dewan Arduino (mis., Uno, mega, nano)
  3. Sensor atau perangkat analog (mis., Potensiometer)
  4. Papan tempat memotong papan dan kabel jumper
  5. Komputer dengan IDE Arduino diinstal

Langkah 1: Memahami Modul ADS1115

ADS1115 menawarkan:

  • Resolusi ADC 16-bit (15-bit untuk input diferensial).
  • 4 saluran input (atau 2 pasangan diferensial).
  • Programmable Gain Amplifier (PGA) untuk amplifikasi sinyal.

ADS1115 Pinout

Pin Fungsi
Vcc Catu daya (3.3V/5V)
Gnd Tanah
SDA Jalur data I2C
Scl I2C Clock Line
Addr Konfigurasi Alamat I2C
  • Konfigurasi Pin Addr:
    • GND: 0x48 (alamat default)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Langkah 2: Kabel ADS1115 ke Arduino

Hubungkan ADS1115 ke Arduino sebagai berikut:

ADS1115 Pin Pin Arduino
Vcc 5v
Gnd Gnd
SDA A4 (SDA)
Scl A5 (SCL)

Catatan: Untuk papan Arduino lainnya, pastikan Anda menggunakan pin I2C yang benar.


Langkah 3: Instal perpustakaan yang diperlukan

Untuk menyederhanakan komunikasi dengan ADS1115, instal perpustakaan ADAFruit ADS1X15.

Langkah untuk menginstal:

  1. Buka Ide Arduino.
  2. Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
  3. Cari "Adafruit ADS1X15" dan klik Memasang.

Langkah 4: Unggah kode

Berikut contoh sketsa untuk membaca input analog dari 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
}

Langkah 5: Uji pengaturan

  1. Hubungkan Arduino ke komputer Anda melalui USB.
  2. Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
  3. Unggah kode ke Arduino dengan mengklik Mengunggah.
  4. Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke 9600.
  5. Variasikan tegangan input (mis., Menggunakan potensiometer) dan amati nilai ADC dan pembacaan tegangan.

Opsional: Menggunakan mode diferensial

ADS1115 juga dapat mengukur perbedaan antara dua pin input (mis., A0 dan 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);

Aplikasi ADS1115

  1. Bacaan sensor presisi tinggi
  2. Pemantauan dan Pengukuran Tegangan
  3. Amplifikasi sinyal untuk sensor kecil
  4. Pengukuran sinyal diferensial

Pemecahan masalah

  • Tidak ada tanggapan dari sensor: Verifikasi koneksi I2C dan pastikan alamat I2C yang benar digunakan.
  • Bacaan yang tidak konsisten: Periksa catu daya yang stabil dan input sinyal bersih.
  • Resolusi rendah: Pastikan Anda menggunakan pengaturan gain yang benar untuk rentang input Anda.

Kesimpulan

Anda telah berhasil menghubungkan ADS1115 ADC dengan Arduino. Dengan presisi dan fleksibilitasnya yang tinggi, ADS1115 adalah alat yang sangat baik untuk berbagai proyek yang membutuhkan konversi analog-ke-digital yang akurat. Eksperimen dengan fitur -fiturnya untuk membangun sistem pengukuran dan antarmuka sensor canggih!

Tinggalkan komentar

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.