De ADS1115 is een 16-bit analoog-naar-digitale converter (ADC) Hierdoor kan de Raspberry Pi lezen analoge signalen van sensoren, potentiometers en andere analoge apparaten. Deze gids zal je doorlopen door het opzetten van de ADS1115 ADC -module met de Raspberry Pi om analoge sensorgegevens te lezen met behulp van Python.
Wat u nodig hebt
- Raspberry Pi (Elk model met I2C -ondersteuning, bijvoorbeeld PI 3, PI 4)
- ADS1115 ADC -module
- Analoge sensor (bijv. Potentiometer, temperatuursensor, bodemvochtsensor, enz.)
- Breadboard en jumper draden
- Python geïnstalleerd Op de Raspberry Pi
Stap 1: Inzicht in de advertenties1115
De Raspberry Pi mist analoge inputpennen, dus de ADS1115 wordt gebruikt om te converteren Analoge signalen naar digitaal. De ADS1115 biedt:
- 4 analoge ingangskanalen (A0, A1, A2, A3)
- 16-bit resolutie voor hoge precisie
- I2c communicatie -interface
- Programmeerbare versterkingsversterker (PGA) voor verstelbare gevoeligheid
Stap 2: de advertenties1115 bedraden naar de Raspberry Pi
De ADS1115 communiceert via I2C, dus we verbinden het met de I2C -pennen van de Raspberry Pi.
Verbindingen
ADS1115 PIN | Raspberry Pi Pin |
---|---|
VCC | 3.3V (pin 1) of 5V (pin 2) |
GND | Grond (pin 6) |
SDA | SDA (Pin 3, GPIO2) |
SCL | SCL (Pin 5, GPIO3) |
A0-A3 (analoge ingangen) | Maak verbinding met sensoruitgang |
Stap 3: Schakel I2C in op de Raspberry Pi
- Open de Raspberry Pi -configuratie -tool:
sudo raspi-config
- Navigeren naar Interface -opties> I2C en schakel het in.
- Start de Raspberry Pi opnieuw op:
sudo reboot
- Controleer of de ADS1115 wordt gedetecteerd Op de I2C -bus:
De ADS1115 zou op adres moeten verschijnensudo i2cdetect -y 1
0x48
.
Stap 4: Installeer vereiste bibliotheken
- Update de pakketlijst van uw Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installeer de vereiste I2C -tools en Python -bibliotheken:
sudo apt install -y python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Stap 5: Analoge gegevens lezen van de ADS1115
Python -code om sensorgegevens van ADS1115 te lezen
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...")
Stap 6: Toepassingen van ADS1115 met Raspberry Pi
- Analoge sensoren lezen - Temperatuur, licht, vochtigheid of gassensoren.
- Batterijspanningsbewaking - Meet spanningen veilig met hoge resolutie.
- Bodemvochtbewaking - Gebruik voor Slimme irrigatiesystemen.
- Potentiometer metingen - Gebruik als een Gebruikersinvoercontroller voor projecten.
Problemen oplossen
-
ADS1115 Niet gedetecteerd (
i2cdetect
toont niet0x48
)- Zorg voor de SDA/SCL -pinnen zijn correct bedraad.
- Controleer dat I2C is ingeschakeld gebruik
sudo raspi-config
.
-
Onnauwkeurige metingen
- Gebruik PGA -instellingen in de Python -code om het spanningsbereik aan te passen.
- Zorg voor een stabiele voeding naar de ADS1115 -module.
-
Meerdere ADS1115 -modules
- Wijzigen de I2C -adres gebruik van de ADDR PIN om conflicten te voorkomen.
Conclusie
De ADS1115 ADC -module Staat de Raspberry Pi naar Lees analoge sensorgegevens met hoge precisie. Of u nu aan het bouwen bent Omgevingsmonitoring, batterijgevoel of IoT -toepassingen, deze gids biedt een eenvoudige manier om te integreren analoge inputs in uw projecten! 🚀