. ADS1115 jest 16-bitowy konwerter analogowo-cyfrowy (ADC) To pozwala na czytanie Raspberry Pi sygnały analogowe od czujników, potencjometrów i innych urządzeń analogowych. Ten przewodnik poprowadzi Cię przez konfigurowanie Moduł ADS1115 Z Raspberry Pi do odczytu danych czujnika analogowego za pomocą Pythona.
Czego będziesz potrzebować
- Raspberry Pi (Każdy model z obsługą I2C, np. PI 3, PI 4)
- Moduł ADS1115 ADC
- Czujnik analogowy (np. Potencjometr, czujnik temperatury, czujnik wilgoci gleby itp.)
- Druty chleba i skoczków
- Zainstalowany Python na Raspberry Pi
Krok 1: Zrozumienie ADS1115
. Raspberry Pi nie ma analogowych pinów wejściowych, więc ADS1115 służy do konwersji Sygnały analogowe do cyfrowego. ADS1115 zapewnia:
- 4 analogowe kanały wejściowe (A0, A1, A2, A3)
- 16-bitowa rozdzielczość dla wysokiej precyzji
- Interfejs komunikacyjny I2C
- Programowalny wzmacniacz wzmocnienia (PGA) dla regulowanej wrażliwości
Krok 2: Okablowanie ADS1115 do Raspberry Pi
. ADS1115 komunikuje się przez I2C, więc łączymy go z pinami I2C Raspberry Pi.
Znajomości
PIN ADS1115 | Pin Raspberry Pi |
---|---|
VCC | 3,3 V (pin 1) lub 5 V (pin 2) |
GND | Uziemienie (pin 6) |
SDA | SDA (pin 3, GPIO2) |
Scl | SCL (pin 5, GPIO3) |
A0-A3 (wejścia analogowe) | Podłącz do wyjścia czujnika |
Krok 3: Włącz I2C na Raspberry Pi
- Otwórz narzędzie konfiguracyjne Raspberry Pi:
sudo raspi-config
- Przejść do Opcje interfejsu> i2c i włącz to.
- Uruchom ponownie Raspberry Pi:
sudo reboot
- Sprawdź, czy ADS1115 jest wykrywany W autobusie I2C:
. ADS1115 powinien pojawić się pod adresemsudo i2cdetect -y 1
0x48
.
Krok 4: Zainstaluj wymagane biblioteki
- Zaktualizuj listę pakietów Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Zainstaluj wymagane Narzędzia I2C i biblioteki Pythona:
sudo apt install -y python3-smbus python3-pip pip3 install adafruit-circuitpython-ads1x15
Krok 5: Odczyt danych analogowych z ADS1115
Kod Pythona do odczytu danych czujnika z 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...")
Krok 6: Zastosowania ADS1115 z Raspberry Pi
- Czytanie czujników analogowych - Temperatura, światło, wilgotność lub czujniki gazu.
- Monitorowanie napięcia akumulatora - Zmierz napięcia bezpiecznie z wysoką rozdzielczością.
- Monitorowanie wilgoci gleby - Użyj dla Inteligentne systemy nawadniające.
- Odczyty potencjometru - Użyj jako Kontroler wejściowy użytkownika do projektów.
Rozwiązywanie problemów
-
ADS1115 nie wykryte (
i2cdetect
nie pokazuje0x48
)- Upewnij się SDA/SCL PINS są prawidłowo podłączone.
- Sprawdź to I2C jest włączony używając
sudo raspi-config
.
-
Niedokładne odczyty
- Używać Ustawienia PGA W kodzie Python w celu dostosowania zakresu napięcia.
- Upewnij się stabilny zasilacz do modułu ADS1115.
-
Wiele modułów ADS1115
- Zmodyfikuj Adres I2C za pomocą PIN ADDR Aby uniknąć konfliktów.
Wniosek
. Moduł ADS1115 umożliwia Raspberry Pi odczyt dane czujnika analogowego z wysoką precyzją. Czy budujesz Monitorowanie środowiska, wykrywanie baterii lub aplikacje IoT, ten przewodnik stanowi prosty sposób na zintegrowanie analogowe dane wejściowe do twoich projektów! 🚀