. ADS1115 bir 16 bit analogdan dijital dönüştürücü (ADC) Raspberry Pi'nin okumasını sağlar analog sinyaller sensörlerden, potansiyometrelerden ve diğer analog cihazlardan. Bu rehber, ADS1115 ADC Modülü Python kullanarak analog sensör verilerini okumak için ahududu pi ile.
Ne İhtiyacınız Olacak
- Ahududu pi (I2C destekli herhangi bir model, örneğin, Pi 3, Pi 4)
- ADS1115 ADC Modülü
- Analog sensör (örn. Potansiyometre, sıcaklık sensörü, toprak nem sensörü, vb.)
- Breadboard ve jumper telleri
- Python yüklü Raspberry Pi'de
Adım 1: ADS1115'i anlamak
. Raspberry Pi analog giriş pimlerinden yoksun, yani ADS1115 dönüştürmek için kullanılır dijital analog sinyaller. ADS1115 şunları sağlar:
- 4 Analog Giriş Kanalları (A0, A1, A2, A3)
- Yüksek hassasiyet için 16 bit çözünürlük
- I2C iletişim arayüzü
- Ayarlanabilir hassasiyet için programlanabilir kazanç amplifikatörü (PGA)
Adım 2: ADS1115'i Raspberry Pi'ye bağlama
. ADS1115 I2C aracılığıyla iletişim kurar, bu yüzden onu Raspberry Pi’nin I2C pimlerine bağlarız.
Bağlantılar
ADS1115 PIN | Raspberry Pi Pimi |
---|---|
VCC | 3.3V (pim 1) veya 5V (pim 2) |
Gnd | Zemin (pim 6) |
SDA | SDA (pim 3, GPIO2) |
Scl | SCL (Pin 5, GPIO3) |
A0-A3 (analog girişler) | Sensör çıkışına bağlan |
Adım 3: Raspberry Pi'de I2C'yi etkinleştirin
- Raspberry Pi yapılandırma aracını açın:
sudo raspi-config
- Gezmek Arayüz Seçenekleri> I2C ve etkinleştir.
- Raspberry Pi'yi yeniden başlatın:
sudo reboot
- Doğrula ADS1115 tespit edildi I2C otobüsünde:
. ADS1115 adreste görünmelidirsudo i2cdetect -y 1
0x48
.
4. Adım: Gerekli kütüphaneleri kurun
- Raspberry Pi’nin paket listesini güncelleyin:
sudo apt update && sudo apt upgrade -y
- Gerekli olanı kurun I2C Araçları ve Python Kütüphaneleri:
sudo apt install -y python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Adım 5: ADS1115'ten analog verileri okumak
ADS1115'ten sensör verilerini okumak için python kodu
import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn
# Initialize I2C and ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)
# Select Analog Input Channel (A0)
channel = AnalogIn(ads, ADS.P0)
try:
while True:
print(f"Raw Value: {channel.value}, Voltage: {channel.voltage:.2f}V")
time.sleep(1)
except KeyboardInterrupt:
print("Exiting...")
Adım 6: ADS1115'in Raspberry Pi ile Uygulamaları
- Analog sensörleri okumak - Sıcaklık, ışık, nem veya gaz sensörleri.
- Pil voltajı izleme - Voltajları yüksek çözünürlükle güvenli bir şekilde ölçün.
- Toprak nemi izleme - İçin kullanın akıllı sulama sistemleri.
- Potansiyometre okumaları - olarak kullanın Kullanıcı giriş denetleyicisi projeler için.
Sorun giderme
-
ADS1115 Tespit edilmedi (
i2cdetect
göstermiyor0x48
)- Sağlamak SDA/SCL pimleri doğru kablolu.
- Doğrula I2C etkinleştirildi kullanma
sudo raspi-config
.
-
Yanlış okumalar
- Kullanmak PGA ayarları Voltaj aralığını ayarlamak için Python kodunda.
- Sağlamak Kararlı güç kaynağı ADS1115 modülüne.
-
Çoklu ADS1115 Modül
- Değiştirmek I2C Adresi kullanma ADDR PIN Çatışmalardan kaçınmak için.
Çözüm
. ADS1115 ADC Modülü Raspberry Pi'nin Analog sensör verilerini okuyun yüksek hassasiyetle. Binası olsun Çevresel izleme, pil algılama veya IoT uygulamaları, bu kılavuz entegre etmek için basit bir yol sağlar Projelerinize analog girdiler! 🚀