The ADS1115 este o Convertor Analog-Digital pe 16 biți (ADC) acest lucru permite Raspberry Pi să citească semnale analogice de la senzori, potențiometre și alte dispozitive analogice. Acest ghid vă va ghida prin stabilirea ADS1115 modulul ADC cu Raspberry Pi pentru a citi datele senzorilor analogici folosind Python.
Ce Veți avea nevoie
- Pi Raspberry (orice model cu suport I2C, de exemplu Pi 3, Pi 4)
- ADS1115 Modulul ADC
- Senzor analogic (de exemplu, potențiometru, senzor de temperatură, senzor de umiditate a solului etc.)
- Firuri de Breadboard și Jumper
- Python instalat pe Raspberry Pi
Pasul 1: Înțelegerea ADS1115
Raspberry Pi nu are pini de intrare analogici, astfel încât ADS1115 este utilizat pentru a converti semnalele analogice în digitale. ADS1115 oferă:
- 4 canale de intrare analogică (A0, A1, A2, A3)
- rezoluție de 16 biți pentru precizie ridicată
- interfață de comunicare I2C
- amplificator de câștig programabil (PGA) pentru sensibilitate reglabilă
Pasul 2: Cablarea ADS1115 la Raspberry Pi
ADS1115 comunică prin I2C, așa că îl conectăm la pinii I2C ai Raspberry Pi.
Conexiuni
Pinul ADS1115 | Pinul Raspberry Pi |
---|---|
VCC | 3.3V (Pin 1) sau 5V (Pin 2) |
GND | Pământ (Pin 6) |
SDA | SDA (Pin 3, GPIO2) |
SCL | SCL (Pin 5, GPIO3) |
A0-A3 (intrări analogice) | Conectați-vă la ieșirea senzorului |
Pasul 3: Activați I2C pe Raspberry Pi
- Deschideți instrumentul de configurare Raspberry Pi:
sudo raspi-config
- Navigați la Opțiuni de interfață > I2C și activați-l.
- Reporniți Raspberry Pi:
sudo reboot
- Verificați dacă ADS1115 este detectat pe magistrala I2C:
Raportul ADS1115 ar trebui să apară la adresasudo i2cdetect -y 1
0x48
.
Pasul 4: Instalați bibliotecile necesare
- Actualizați lista de pachete a Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Instalați Instrumente I2C și biblioteci Python:
sudo apt install -y python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Pasul 5: Citirea datelor analogice din ADS1115
Cod Python pentru a citi datele senzorului din ADS1115
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...")
Pasul 6: Aplicații ale ADS1115 cu Raspberry Pi
- Citirea senzorilor analogici - Senzori de temperatură, lumină, umiditate sau gaze.
- Monitorizarea tensiunii bateriei - Măsurați tensiunile în siguranță cu rezoluție ridicată.
- Monitorizarea umidității solului - Utilizați pentru sisteme inteligente de irigare.
- Citiri de potențiometru - Utilizați ca controler de intrare utilizator pentru proiecte.
Depanare
-
ADS1115 nu este detectat (
i2cdetect
nu afișează0x48
)- Asigurați-vă că pinii SDA/SCL sunt conectați corect.
- Verificați dacă I2C este activat utilizând
sudo raspi-config
.
-
Citiri inexacte
- Utilizați Setări PGA în codul Python pentru a ajusta intervalul de tensiune.
- Asigurați-vă că un alimentare stabilă către modulul ADS1115.
-
Module multiple ADS1115
- Modifica Adresa I2C folosind pin ADDR pentru a evita conflictele.
Concluzie
The ADS1115 modulul ADC permite Raspberry Pi să citiți datele senzorilor analogi cu mare precizie. Indiferent dacă construiți monitorizarea mediului, detectarea bateriilor sau aplicațiile IoT, acest ghid oferă o modalitate simplă de integrare intrări analogice în proiectele dvs! 🚀