是否可以编写2个脚本
1用于设置GPIO引脚
和1用于读出gpio引脚的状态。
我现在已经在python中编写了这两个脚本。但是当我启动它们时,只有1个可以工作
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.IN)
print GPIO.input(18)
另一个人听一个按钮,如果按下按钮,则针脚18设置为高,如果再次按下它,则针脚设置为低
#!/usr/bin/python
import RPi.GPIO as GPIO
from time import sleep
GPIO.setmode(GPIO.BCM)
pushbutton = 2
relay = 18
GPIO.setup(pushbutton, GPIO.IN)
GPIO.setup(relay, GPIO.OUT)
def main():
ingedrukt = GPIO.input(pushbutton)
try:
while (True):
if(ingedrukt == False):
if(GPIO.input(pushbutton) == False):
sleep(0.5)
if(GPIO.input(pushbutton) ==False):
GPIO.output(relay, GPIO.HIGH)
ingedrukt = True
print "Pushed"
else:
if(GPIO.input(pushbutton) == True):
GPIO.output(relay, GPIO.LOW)
ingedrukt = False
print "Not pushed"
except KeyboardInterrupt:
print "Quit"
GPIO.cleanup()
main()
如果可能的话,这是否可能,我做错了什么?
答案 0 :(得分:2)
您不需要将继电器设置为GPIO输入来读取状态。您只需要打印GPIO.input(18)命令。所以你的第一个脚本应该是:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
print GPIO.input(18)
我会添加一行
GPIO.setwarnings(False)
答案 1 :(得分:0)
您是否尝试同时运行两个脚本?为什么不在您的监听脚本中使用print语句?此外,您的pin脚本的打印状态需要一个while循环
答案 2 :(得分:0)
你的意思是只有一部作品?也许这有帮助吗?
GPIO上可能有多个脚本/电路 你的Raspberry Pi。因此,如果RPi.GPIO检测到a 引脚已配置为默认(输入)以外的其他内容, 尝试配置脚本时会收到警告。要禁用这些 警告:
GPIO.setwarnings(False)
来自:http://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/