38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
# Simple example of reading the MCP3008 analog input channels using its
|
|
# differential mode. Will print the difference of channel 0 and 1.
|
|
# Author: Tony DiCola
|
|
# License: Public Domain
|
|
import time
|
|
|
|
# Import SPI library (for hardware SPI) and MCP3008 library.
|
|
import Adafruit_GPIO.SPI as SPI
|
|
import Adafruit_MCP3008
|
|
|
|
|
|
# Software SPI configuration:
|
|
# CLK = 18
|
|
# MISO = 23
|
|
# MOSI = 24
|
|
# CS = 25
|
|
# mcp = Adafruit_MCP3008.MCP3008(clk=CLK, cs=CS, miso=MISO, mosi=MOSI)
|
|
|
|
# Hardware SPI configuration:
|
|
SPI_PORT = 0
|
|
SPI_DEVICE = 0
|
|
mcp = Adafruit_MCP3008.MCP3008(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))
|
|
|
|
print('Press Ctrl-C to quit...')
|
|
while True:
|
|
# Grab the difference between channel 0 and 1 (i.e. channel 0 minus 1).
|
|
# Note you can specify any value in 0-7 to grab other differences:
|
|
# - 0: Return channel 0 minus channel 1
|
|
# - 1: Return channel 1 minus channel 0
|
|
# - 2: Return channel 2 minus channel 3
|
|
# - 3: Return channel 3 minus channel 2
|
|
# - 4: Return channel 4 minus channel 5
|
|
# - 5: Return channel 5 minus channel 4
|
|
# - 6: Return channel 6 minus channel 7
|
|
# - 7: Return channel 7 minus channel 6
|
|
value = mcp.read_adc_difference(0)
|
|
print('Channel 0 minus 1: {0}'.format(value))
|
|
time.sleep(0.5)
|