Python 使用带有两个x MCP3008 ADC Rpi的int容器

Python 使用带有两个x MCP3008 ADC Rpi的int容器,python,int,containers,analog-digital-converter,Python,Int,Containers,Analog Digital Converter,以下代码使用连接到Rpi和我家报警面板的2个MCP3008芯片。这16个模拟值在1023个模拟值中的600和715之间波动,具体取决于PIR等 Int值打印出来: Chip A - 1023 Chip B - 242 Chip A - 1023 Chip B - 1023 Chip A - 0 Chip B - 68 Chip A - 1023 Chip B - 599 Chip A - 1023 Ch

以下代码使用连接到Rpi和我家报警面板的2个MCP3008芯片。这16个模拟值在1023个模拟值中的600和715之间波动,具体取决于PIR等

Int值打印出来:

  Chip A - 1023       Chip B -  242
  Chip A - 1023       Chip B - 1023
  Chip A -    0       Chip B -   68
  Chip A - 1023       Chip B -  599
  Chip A - 1023       Chip B - 1023
  Chip A -   16       Chip B - 1023
  Chip A - 1023       Chip B - 1023
  Chip A - 1023       Chip B - 1023
我需要:

Value 1 = chip 1 readvalue 1
Value 2 = chip 1 readvalue 2 
etc...
我尝试了字符串、列表、IO和包装器,但只得到了第一个值


你能详细谈谈你想要什么吗?目前尚不清楚35分钟前的西尔多雷斯


MCP3008_A和MCP3008_B打印出芯片的模拟值。我想将这些值分配给特定的名称,例如Value1=1023、Value2=654等。。最终,我希望能够编写它(如果值2>=653),并且(值10能否请您更详细地了解您想要什么?目前还不清楚。MCP3008_A和MCP3008_B从芯片打印出模拟值。我想将这些值中的每一个指定给一个特定的名称,例如:Value1=1023、Value2=654等。最终我希望能够写入该名称(如果值2>=653),并且(值10可能更清楚一些,在代码的底部,我有#V1=input.readline(),#V2=etc。我需要知道我应该在其中输入什么。阅读MCP3008的输出。请将所有这些信息添加到原始帖子中好吗?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#  https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code/blob/master/Adafruit_MCP3008/mcp3008.py
# just some bitbang code for testing all 8 channels

import RPi.GPIO as GPIO, time, os
import time      # import time for the sleep function
import os
import sys
import cStringIO
from cStringIO import StringIO
import io
DEBUG = 1
GPIO.setmode(GPIO.BCM)

# read SPI data from MCP3008 chip, 8 possible adc's (0 thru 7)
def readadc(adcnum, clockpin, mosipin, misopin, cspin):
    if ((adcnum > 16) or (adcnum < 0)):
        return -1
    GPIO.output(cspin, True)

    GPIO.output(clockpin, False)  # start clock low
    GPIO.output(cspin, False)     # bring CS low

    commandout = adcnum
    commandout |= 0x18  # start bit + single-ended bit
    commandout <<= 3    # we only need to send 5 bits here
    for i in range(5):
        if (commandout & 0x80):
            GPIO.output(mosipin, True)
        else:
            GPIO.output(mosipin, False)
                commandout <<= 1
                GPIO.output(clockpin, True)
                GPIO.output(clockpin, False)

    adcout = 0
    # read in one empty bit, one null bit and 10 ADC bits
    for i in range(12):
        GPIO.output(clockpin, True)
        GPIO.output(clockpin, False)
        adcout <<= 1
        if (GPIO.input(misopin)):
            adcout |= 0x1

    GPIO.output(cspin, True)

    adcout /= 2       # first bit is 'null' so drop it
    return adcout



if __name__=='__main__':
    try:
        # change these as desired
        SPICLK = 11     #MCP3008_13
        SPIMISO = 9     #MCP3008_12
        SPIMOSI = 10    #MCP3008_11
        SPICS = 8       #MCP3008_10
        SPICLK2 = 17    #MCP3008_13
        SPIMISO2 = 27   #MCP3008_12
        SPIMOSI2 = 22   #MCP3008_11
        SPICS2 = 7      #MCP3008_10
        # set up the SPI interface pins 
        GPIO.setup(SPICLK, GPIO.OUT)
        GPIO.setup(SPIMISO, GPIO.IN)
        GPIO.setup(SPIMOSI, GPIO.OUT)
        GPIO.setup(SPICS, GPIO.OUT)
        GPIO.setup(SPICLK2, GPIO.OUT)
        GPIO.setup(SPIMISO2, GPIO.IN)
        GPIO.setup(SPIMOSI2, GPIO.OUT)
        GPIO.setup(SPICS2, GPIO.OUT)

        while True:
            #print "",
            time.sleep(1)
            for adcnum in range(8):
                MCP3008_A = readadc(adcnum, SPICLK, SPIMOSI, SPIMISO, SPICS)
                MCP3008_B = readadc(adcnum, SPICLK2, SPIMOSI2, SPIMISO2, SPICS2)

                print '  Chip A - ' "%4d" % MCP3008_A,
                print '      Chip B - ' "%4d" % MCP3008_B,
                print ''
                time.sleep(0.3) 
                d1=str(MCP3008_A)
                d2=str(MCP3008_B)
            print "--------------------------------------"

                #V1 = input.readline()
                #V2 = input.readline(2)
                #V3 = input.readline()
                #v4 = input.read()



    except KeyboardInterrupt:
        pass

    GPIO.cleanup()