2 Python 个脚本使用相同的 GPIO 引脚 RPI
2 Python scripts use the same GPIO pin RPI
是否可以写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()
这是否可能,如果可以的话,我做错了什么?
您正在尝试同时 运行 两个脚本?为什么不在您的听力脚本中包含 print 语句?此外,您的 pin 脚本的打印状态需要一个 while 循环
只有一个作品是什么意思?也许这有帮助?
It is possible that you have more than one script/circuit on the GPIO
of your Raspberry Pi. As a result of this, if RPi.GPIO detects that a
pin has been configured to something other than the default (input),
you get a warning when you try to configure a script. To disable these
warnings:
GPIO.setwarnings(False)
来自:http://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/
您无需将继电器设置为 GPIO 输入即可读取状态。您只需要 print GPIO.input(18) 命令。所以你的第一个脚本应该是:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
print GPIO.input(18)
我要添加行
GPIO.setwarnings(False)
是否可以写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()
这是否可能,如果可以的话,我做错了什么?
您正在尝试同时 运行 两个脚本?为什么不在您的听力脚本中包含 print 语句?此外,您的 pin 脚本的打印状态需要一个 while 循环
只有一个作品是什么意思?也许这有帮助?
It is possible that you have more than one script/circuit on the GPIO of your Raspberry Pi. As a result of this, if RPi.GPIO detects that a pin has been configured to something other than the default (input), you get a warning when you try to configure a script. To disable these warnings:
GPIO.setwarnings(False)
来自:http://sourceforge.net/p/raspberry-gpio-python/wiki/BasicUsage/
您无需将继电器设置为 GPIO 输入即可读取状态。您只需要 print GPIO.input(18) 命令。所以你的第一个脚本应该是:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
print GPIO.input(18)
我要添加行
GPIO.setwarnings(False)