【问题标题】:how to switch on/off a circuit from python?如何从python打开/关闭电路?
【发布时间】:2016-11-14 04:56:58
【问题描述】:

我有一个包含 mcp3008 和一个雨水传感器模块的电路,它读取模拟数据并将数字数据发送到树莓派。我要创建另一个电路,该电路有一个可以打开和关闭雨水传感器电路的按钮。雨量传感器电路连接到树莓派上的 5v 引脚。谁能帮我打开和关闭雨量传感器电路?

这是我发现的关于如何从中打开/关闭另一个电路的网络: http://www.barryhubbard.com/raspberry-pi/howto-pn2222a-npn-gpio-controlled-simple-transistor-circuit-for-raspberry-pi/

【问题讨论】:

    标签: python wxpython raspberry-pi2 gpio


    【解决方案1】:
    import RPi.GPIO as GPIO #Get's GPIO module
    import Adafruit_GPIO.SPI as SPI
    import Adafruit_MCP3008
    #Define your MCP3008 SPI stuff here
    CLK = 18 # Change these values to then pins you are using
    MISO = 20
    MOSI = 21
    CS = 8
    mcp = Adafruit_MCP3008.MCP3008(clk=CLK, cs=CS, miso=MISO, mosi=MOSI)
    GPIO.setmode(GPIO.BCM) #sets mode
    GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_UP) #Button Pin
    input_state = GPIO.input(22) #Get's button input
    while True:
          if input_state == 1:
                break
          else:
              continue
    

    还有你的代码!!我也碰巧将 MCP3008 模块用于风传感器!编程愉快!

    编辑: 简单地阅读一个频道 import Adafruit_SPI as SPI import Adafruit_MCP3008 CLK = 18 MISO = 20 MOSI = 21 CS = 8 mcp = Adafruit_MCP3008.MCP3008(clk=CLK, cs=CS, miso=MISO, mosi=MOSI) values = [0]*8 for i in range(8): values[i] = mcp.read_adc(i) CHANNEL_ZERO = '{0:>4'.format(*values)

    【讨论】:

    • 另外,我的雨量传感器程序包含 wxpython 模块,使其只有一个主循环。我使用计时器来更新界面,但我没有使用线程,因为我是 python 的初学者。您也可以在此链接stackoverflow.com/questions/40459949/… 上的此问题之前帮助我解决我的问题
    • 我对其他人给出的解决方案感到困惑,因为当我尝试它时它会读取多个通道,因为我只希望它读取一个通道,并且对于您的解决方案,我必须对雨量传感器上的引脚做些什么由于雨量传感器模块使用 5v 引脚,如果我将其更改为 gpio 引脚,它只能从 gpio 引脚获得 3v?
    • 将 Adafruit_GPIO.SPI 导入为 SPI
    • MCP3008 只能承受 3.3 伏的电压。我帮不了你。
    猜你喜欢
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    相关资源
    最近更新 更多