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
- ADS1115 Modul ADC
- Dewan Arduino (mis., Uno, mega, nano)
- Sensor atau perangkat analog (mis., Potensiometer)
- Papan tempat memotong papan dan kabel jumper
- 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
- GND:
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:
- Buka Ide Arduino.
- Pergi ke Sketsa > Sertakan perpustakaan > Kelola Perpustakaan.
- 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
- Hubungkan Arduino ke komputer Anda melalui USB.
- Buka IDE Arduino dan pilih yang benar Papan Dan Pelabuhan di bawah Peralatan menu.
- Unggah kode ke Arduino dengan mengklik Mengunggah.
- Buka monitor serial (Peralatan > Monitor serial) dan atur baud rate ke
9600
. - 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
- Bacaan sensor presisi tinggi
- Pemantauan dan Pengukuran Tegangan
- Amplifikasi sinyal untuk sensor kecil
- 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!