User manual

Copyright © LB-Link
Python-Example for using the MCP3008 ADC Controller - testadc.py
import spidev
import time
import sys
spi = spidev.SpiDev()
spi.open(0,0)
def readadc(adcnum):
if adcnum >7 or adcnum <0:
return-1
r = spi.xfer2([1,8+adcnum <<4,0])
adcout = ((r[1] &3) <<8)+r[2]
return adcout
while True:
if len(sys.argv) >1:
for i in range(len(sys.argv)):
if i == 0:
print "_______________________________________\n"
else:
adc_channel = int(sys.argv[i])
print "Channel " + str(adc_channel)
value=readadc(adc_channel)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print " "
print "_______________________________________\n"
time.sleep(1.5)
else:
print "_______________________________________\n"
print "Channel 0"
value=readadc(0)1
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "Channel 1"
value=readadc(1)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "Channel 2"
value=readadc(2)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "Channel 3"
value=readadc(3)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "Channel 4"
value=readadc(4)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "Channel 5"
value=readadc(5)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "Channel 6"
value=readadc(6)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "Channel 7"
value=readadc(7)
volts=(value*3.3)/1024
print("%4d/1023 => %5.3f V" % (value, volts))
print "_______________________________________\n"
time.sleep(1.5)