我是python和raspberry pi的新手,但是我试图编写一个程序来读取带有SPI的MCP3008 ADC的不同通道。
我在网上找到了下面的代码,该代码似乎有效,但它似乎只能从ADC输出总电压?
我正在寻找一个程序来读取ADC的每个通道。 我正在尝试使用应变仪实施平衡测试,并且需要读取每个通道的电压,以确定正确的应变计是否正常工作。
任何帮助都会很棒。
SPI_PORT = 0
SPI_DEVICE = 0
mcp = Adafruit_MCP3008.MCP3008(spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE))
print('Reading MCP3008 values, press Ctrl-C to quit...')
# Print nice channel column headers.
print('| {0:>4} | {1:>4} | {2:>4} | {3:>4} | {4:>4} | {5:>4} | {6:>4} | {7:>4}
|'.format(*range(8)))
print('-' * 57)
# Main program loop.
while True:
# Read all the ADC channel values in a list.
values = [0]*8
for i in range(8):
# The read_adc function will get the value of the specified channel (0-7).
values[i] = mcp.read_adc(i)
# Print the ADC values.
print('| {0:>4} | {1:>4} | {2:>4} | {3:>4} | {4:>4} | {5:>4} | {6:>4} | {7:>4}
|'.format(*values))
# Pause for half a second.
time.sleep(0.5)