ADS1115, I2C arayüzüne sahip 16 bit hassas bir analog-dijital dönüştürücüdür (ADC). Yüksek doğruluk ve çoklu giriş kanalları sunar, bu da arduino projelerinde sensörleri okuma, voltajları izleme veya güçlendirme sinyalleri için idealdir. Bu öğretici, ADS1115'i Arduino ile bağlayarak ve kullanarak size rehberlik edecektir.
Ne İhtiyacınız Olacak
- ADS1115 ADC Modülü
- Arduino Kurulu (örn. UNO, Mega, Nano)
- Sensörler veya analog cihazlar (örn. Potansiyometre)
- Breadboard ve jumper telleri
- Arduino IDE kurulu bir bilgisayar
1. Adım: ADS1115 modülünü anlamak
ADS1115 şunları sunar:
- 16 bit ADC çözünürlüğü (Diferansiyel girişler için 15 bit).
- 4 Giriş Kanalı (veya 2 diferansiyel çift).
- Programlanabilir Kazanç Amplifikatörü (PGA) sinyal amplifikasyonu için.
ADS1115 Pinout
Pin | İşlev |
---|---|
VCC | Güç kaynağı (3.3V/5V) |
Gnd | Zemin |
SDA | I2C veri hattı |
Scl | I2C saat çizgisi |
Addr | I2C adres yapılandırması |
-
ADDR PIN Yapılandırması:
- GND:
0x48
(Varsayılan adres) - VCC:
0x49
- SDA:
0x4A
- SCL:
0x4B
- GND:
Adım 2: ADS1115'in Arduino'ya bağlanması
ADS1115'i Arduino'ya aşağıdaki gibi bağlayın:
ADS1115 PIN | Arduino pimi |
---|---|
VCC | 5V |
Gnd | Gnd |
SDA | A4 (SDA) |
Scl | A5 (SCL) |
Not: Diğer Arduino panoları için doğru I2C pimlerini kullandığınızdan emin olun.
Adım 3: Gerekli kütüphaneyi kurun
ADS1115 ile iletişimi basitleştirmek için ADAFRUT ADS1X15 kitaplığını yükleyin.
Yüklenecek adımlar:
- Arduino IDE'yi açın.
- Gidip gelmek Eskiz > Kütüphane ekleyin > Kütüphaneleri Yönetin.
- "Adafruit ADS1X15" arayın ve tıklayın Düzenlemek.
4. Adım: Kodu yükleyin
ADS1115'ten analog girişi okumak için örnek bir taslak:
#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
}
Adım 5: Kurulumu test edin
- Arduino'yu USB üzerinden bilgisayarınıza bağlayın.
- Arduino IDE'yi açın ve doğru seçin Pano Ve Liman altında Aletler menü.
- Kodu tıklayarak Arduino'ya yükleyin Yüklemek.
- Seri monitörü açın (Aletler > Seri monitör) ve baud hızını ayarlayın
9600
. - Giriş voltajını değiştirin (örneğin, bir potansiyometre kullanarak) ve ADC değeri ve voltaj okumalarını gözlemleyin.
İsteğe bağlı: Diferansiyel modu kullanma
ADS1115, iki giriş pimi (örn. A0 ve A1) arasındaki farkı da ölçebilir:
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);
ADS1115 uygulamaları
- Yüksek hassasiyetli sensör okumaları
- Voltaj izleme ve ölçüm
- Küçük sensörler için sinyal amplifikasyonu
- Diferansiyel sinyal ölçümü
Sorun giderme
- Sensörden yanıt yok: I2C bağlantılarını doğrulayın ve doğru I2C adresinin kullanıldığından emin olun.
- Tutarsız okumalar: Kararlı bir güç kaynağı ve temiz sinyal girişlerini kontrol edin.
- Düşük çözünürlük: Giriş aralığınız için doğru kazanç ayarını kullandığınızdan emin olun.
Çözüm
ADS1115 ADC'yi Arduino ile başarıyla arayüz ettiniz. Yüksek hassasiyeti ve esnekliği ile ADS1115, doğru analog-dijital dönüşüm gerektiren çeşitli projeler için mükemmel bir araçtır. Gelişmiş ölçüm sistemleri ve sensör arayüzleri oluşturmak için özelliklerini deneyin!