41 lines
1,005 B
Python
41 lines
1,005 B
Python
import time
|
|
import board
|
|
import busio
|
|
|
|
# import adafruit_ads1x15.ads1015 as ADS
|
|
import adafruit_ads1x15.ads1115 as ADS
|
|
from adafruit_ads1x15.analog_in import AnalogIn
|
|
|
|
# Create the I2C bus
|
|
i2c = busio.I2C(board.SCL, board.SDA)
|
|
|
|
# Create the ADS object
|
|
# ads = ADS.ADS1015(i2c)
|
|
ads = ADS.ADS1115(i2c)
|
|
|
|
# Create a sinlge ended channel on Pin 0
|
|
# Max counts for ADS1015 = 2047
|
|
# ADS1115 = 32767
|
|
chan = AnalogIn(ads, ADS.P0)
|
|
|
|
# The ADS1015 and ADS1115 both have the same gain options.
|
|
#
|
|
# GAIN RANGE (V)
|
|
# ---- ---------
|
|
# 2/3 +/- 6.144
|
|
# 1 +/- 4.096
|
|
# 2 +/- 2.048
|
|
# 4 +/- 1.024
|
|
# 8 +/- 0.512
|
|
# 16 +/- 0.256
|
|
#
|
|
gains = (2 / 3, 1, 2, 4, 8, 16)
|
|
|
|
while True:
|
|
ads.gain = gains[0]
|
|
print("{:5} {:5.3f}".format(chan.value, chan.voltage), end="")
|
|
for gain in gains[1:]:
|
|
ads.gain = gain
|
|
print(" | {:5} {:5.3f}".format(chan.value, chan.voltage), end="")
|
|
print()
|
|
time.sleep(0.5)
|