Usando ADS1115 con il Raspberry Pi

Using the ADS1115 with the Raspberry Pi

IL ADS1115 è un Convertitore da analogico a digitale a 16 bit (ADC) Ciò consente a Raspberry Pi di leggere Segnali analogici da sensori, potenziometri e altri dispositivi analogici. Questa guida ti guiderà attraverso la configurazione del Modulo ADC ADS1115 Con Raspberry Pi per leggere i dati del sensore analogico utilizzando Python.


Cosa avrai bisogno

  1. Raspberry Pi (Qualsiasi modello con supporto I2C, ad esempio PI 3, PI 4)
  2. Modulo ADC ADS1115
  3. Sensore analogico (ad es. Potenziometro, sensore di temperatura, sensore di umidità del suolo, ecc.)
  4. Breadboard e fili jumper
  5. Python installato Sul Raspberry Pi

Passaggio 1: Comprensione degli ADS1115

IL Raspberry Pi manca di pin di ingresso analogici, così il ADS1115 viene utilizzato per convertire Segnali analogici al digitale. L'ADS1115 fornisce:

  • 4 canali di ingresso analogici (A0, A1, A2, A3)
  • Risoluzione a 16 bit per alta precisione
  • Interfaccia di comunicazione I2C
  • Amplificatore di guadagno programmabile (PGA) per sensibilità regolabile

Passaggio 2: Cablaggio degli ADS1115 a Raspberry Pi

IL ADS1115 comunica tramite I2C, quindi lo colleghiamo ai pin i2c di Raspberry Pi.

Connessioni

PIN ADS1115 Pin di lampone
VCC 3.3V (pin 1) o 5V (pin 2)
GND Terra (pin 6)
SDA SDA (PIN 3, GPIO2)
SCL SCL (PIN 5, GPIO3)
A0-A3 (ingressi analogici) Connettiti all'uscita del sensore

Passaggio 3: abilita i2c su Raspberry Pi

  1. Apri lo strumento di configurazione Raspberry Pi:
    sudo raspi-config
    
  2. Navigare a Opzioni di interfaccia> i2c e abilitarlo.
  3. Riavvia il Raspberry Pi:
    sudo reboot
    
  4. Verificare che il Viene rilevato ADS1115 Sull'autobus I2C:
    sudo i2cdetect -y 1
    
    IL ADS1115 dovrebbe apparire all'indirizzo 0x48.

Passaggio 4: installa le librerie richieste

  1. Aggiorna l'elenco dei pacchetti di Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Installare il richiesto Strumenti i2c e biblioteche Python:
    sudo apt install -y python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ads1x15
    

Passaggio 5: leggere i dati analogici dagli ADS1115

Codice Python per leggere i dati dei sensori da 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...")

Passaggio 6: applicazioni di ADS1115 con Raspberry Pi

  1. Leggere sensori analogici - Temperatura, luce, umidità o sensori di gas.
  2. Monitoraggio della tensione della batteria - Misurare le tensioni in modo sicuro con alta risoluzione.
  3. Monitoraggio dell'umidità del suolo - Usa per Sistemi di irrigazione intelligenti.
  4. Letture potenziometriche - Usa come a controller di input utente per progetti.

Risoluzione dei problemi

  1. ADS1115 non rilevato (i2cdetect non mostra 0x48)

    • Assicurarsi il Pin SDA/SCL sono correttamente cablati.
    • Verifica che I2C è abilitato usando sudo raspi-config.
  2. Letture imprecise

    • Utilizzo Impostazioni PGA Nel codice Python per regolare l'intervallo di tensione.
    • Assicurarsi a Alimentazione stabile al modulo ADS1115.
  3. Moduli multipli ADS1115

    • Modificare il Indirizzo i2c usando il PIN ADDR per evitare conflitti.

Conclusione

IL Modulo ADC ADS1115 Abilita il Raspberry Pi di Leggi i dati del sensore analogico con alta precisione. Sia che tu stia costruendo Monitoraggio ambientale, rilevamento della batteria o applicazioni IoT, questa guida fornisce un modo semplice per integrarsi Ingni analogici nei tuoi progetti! 🚀

Lascia un commento

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.