De ADS1115 är en 16-bitars analog-till-digital omvandlare (ADC) som gör att Raspberry Pi kan läsa analoga signaler från sensorer, potentiometrar och andra analoga enheter. Den här guiden kommer att leda dig genom att ställa in ADS1115 ADC -modul med Raspberry Pi för att läsa analoga sensordata med Python.
Vad du behöver
- Hallon (Varje modell med I2C -stöd, t.ex. PI 3, PI 4)
- ADS1115 ADC -modul
- Analog sensor (t.ex. potentiometer, temperatursensor, jordfuktighetssensor, etc.)
- Breadboard och jumpertrådar
- Python installerad på Raspberry Pi
Steg 1: Förstå ADS1115
De Raspberry Pi saknar analoga ingångsstift, så ADS1115 används för att konvertera analoga signaler till digital. ADS1115 tillhandahåller:
- 4 Analoga ingångskanaler (A0, A1, A2, A3)
- 16-bitarsupplösning för hög precision
- I2C -kommunikationsgränssnitt
- Programmerbar förstärkningsförstärkare (PGA) för justerbar känslighet
Steg 2: Kopplar ADS1115 till Raspberry Pi
De ADS1115 kommunicerar via i2c, så vi ansluter den till Raspberry Pi's i2C -stift.
Anslutningar
ADS1115 -stift | Hallon pi |
---|---|
Vcc | 3.3V (stift 1) eller 5V (stift 2) |
Gard | Mark (stift 6) |
SDA | SDA (stift 3, GPIO2) |
SCL | SCL (stift 5, GPIO3) |
A0-A3 (analoga ingångar) | Anslut till sensorutgången |
Steg 3: Aktivera i2c på Raspberry Pi
- Öppna Raspberry PI -konfigurationsverktyget:
sudo raspi-config
- Navigera till Gränssnittsalternativ> i2c och aktivera det.
- Starta om Raspberry Pi:
sudo reboot
- Verifiera att ADS1115 upptäcks på i2c -bussen:
De ADS1115 ska visas på adressensudo i2cdetect -y 1
0x48
.
Steg 4: Installera obligatoriska bibliotek
- Uppdatera din Raspberry Pis paketlista:
sudo apt update && sudo apt upgrade -y
- Installera det nödvändiga I2C -verktyg och pythonbibliotek:
sudo apt install -y python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Steg 5: Att läsa analoga data från ADS1115
Python -kod för att läsa sensordata från 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...")
Steg 6: Tillämpningar av ADS1115 med Raspberry Pi
- Läsande analoga sensorer - Temperatur, ljus, luftfuktighet eller gassensorer.
- Batterispänningsövervakning - Mät spänningar säkert med hög upplösning.
- Jordfuktighetsövervakning - Användning för smart bevattningssystem.
- Potentiometeravläsningar - Använd som en användarinmatningskontroller för projekt.
Felsökning
-
ADS1115 inte upptäckt (
i2cdetect
visar inte0x48
)- Se till SDA/SCL -stift är korrekt kopplade.
- Verifiera att I2c är aktiverad användning
sudo raspi-config
.
-
Felaktiga avläsningar
- Använda PGA -inställningar i Python -koden för att justera spänningsområdet.
- Se till stabil strömförsörjning till ADS1115 -modulen.
-
Flera ADS1115 -moduler
- Modifiera den I2C -adress med hjälp av ADDR -stift för att undvika konflikter.
Slutsats
De ADS1115 ADC -modul gör det möjligt för Raspberry Pi att Läs analoga sensordata med hög precision. Oavsett om du bygger Miljöövervakning, batteriavkänning eller IoT -applikationer, den här guiden ger ett enkelt sätt att integrera analoga ingångar i dina projekt! 🚀