Basic tutorial of how to setup an ADS1115 based ADC with the Raspberry Pi.
ADS1115 Specifications: https://www.ti.com/lit/ds/symlink/ads1114.pdf?ts=1609357468599&ref_url=https%253A%252F%252Fwww.google.com%252F
PARTS:
CanaKit Raspberry Pi 4 4GB Starter Kit – https://amzn.to/2Jrlbfj
ADS1115 ADC – https://amzn.to/3o12cHi
Dupont Jumper Cables – https://amzn.to/3n1Cql1
Capacitive Soil Mosisture Sensor – https://amzn.to/3pC7WI6
SCHEMATIC:
ADC | Sensor
3V3 <–> VCC
AN0 <–> AOUT
GND <–> GND
SETUP:
1. Enable I2C interface
sudo raspi-config
1. Select “Interfacing Options”
2. Select “I2C”
3. Select “Yes”
4. Select “Finish”
2. Check I2C device
sudo i2cdetect -y 1
You should see “48” if device is detected. (address set by default)
3. Install ADS1115 Library
sudo pip3 install adafruit-circuitpython-ads1x15
CODE:
adafruit-circuitpython-ads1x15 github: https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15
import time import board import busio import adafruit_ads1x15.ads1015 as ADS from adafruit_ads1x15.analog_in import AnalogIn # Create the I2C bus i2c = busio.I2C(board.SCL, board.SDA) # Create the ADC object using the I2C bus ads = ADS.ADS1015(i2c) # Create single-ended input on channel 0 chan = AnalogIn(ads, ADS.P0) # chan_2 = AnalogIn(ads, ADS.P1) # Create differential input between channel 0 and 1 # chan = AnalogIn(ads, ADS.P0, ADS.P1) print("------{:>5}\t{:>5}".format("raw", "v")) while True: print("CHAN 0: "+"{:>5}\t{:>5.3f}".format(chan.value, chan.voltage)) # print("CHAN 1: "+"{:>5}\t{:>5.3f}".format(chan_2.value, chan_2.voltage)) time.sleep(0.5)