嘿,我一直都失败了:
photo_booth.py:18:RuntimeWarning:此通道已在使用中,无论如何仍在继续。使用GPIO.setwarnings(False)禁用警告。
GPIO.setup(RELAI,GPIO.OUT)
我也尝试使用GPIO 18
控制所有继电器,但是它根本不起作用。
我曾与其他人尝试过,但没有任何改变。我一直都在忙,它并没有随命令关闭。我怎么了
你能告诉我问题吗?
#!/usr/bin/python
import RPi.GPIO as GPIO, time, os, subprocess, signal
# GPIO setup
GPIO.setmode(GPIO.BCM)
SWITCH = 24
GPIO.setup(SWITCH, GPIO.IN)
RESET = 25
GPIO.setup(RESET, GPIO.IN)
RELAI = 19
GPIO.setup(RELAI, GPIO.OUT)
GPIO.output(RELAI, GPIO.LOW)
j = 0
k = 0
def entprellen(schalter):
entprellungs_puffer = 0
schalter_puffer = 0
for i in range(1, 11):
entprellungs_puffer = entprellungs_puffer +1
schalter_puffer = schalter_puffer + schalter
time.sleep(0.05)
if entprellungs_puffer == schalter_puffer:
print("entprellt")
return 1
else:
return 0
while True:
if(GPIO.input(SWITCH)):
j = entprellen(GPIO.input(SWITCH))
if (j):
GPIO.output(RELAI,GPIO.LOW)
time.sleep(0.5)
print("pose!")
print("SNAP")
gpout = subprocess.check_output("gphoto2 --capture-image-and-download --filename /home/pi/photobooth_images/photobooth%H%M%S.jpg", stderr=subprocess.STDOUT, shell=True)
print(gpout)
print("please wait while your photos print...")
subprocess.call("sudo /home/pi/scripts/photobooth/assemble_and_print", shell=True)
time.sleep(10)
print("ready for next round")
GPIO.output(RELAI,GPIO.HIGH)
GPIO.cleanup()
答案 0 :(得分:0)
感谢@stevieb和@johnny Mopp 是的,我了解BCM ond BOARD模式之间的差异。实际上是可以运行的。 问题是:我像这里https://www.youtube.com/watch?v=TVR2SCMN8xY那样连接它,但是没有用。然后我尝试将pi的形式5更改为3.3V,它起作用了。问题是继电器未正确切换。我在很多方面都对继电器有不同的看法。所以我真的不怎么办。我现在搞两个继电器:
这是第一个: https://www.amazon.de/gp/product/B01G1ENSTS/ref=ppx_yo_dt_b_asin_title_o03__o00_s00?ie=UTF8&psc=1
几乎相同,但品牌不同: https://www.amazon.de/gp/product/B00UFW1YNK/ref=ppx_yo_dt_b_asin_title_o01__o00_s00?ie=UTF8&psc=1 我希望第二个更好,因为它与本教程中显示的相同。但没有变化。 现在我买了这个: https://www.ebay.de/itm/252993630298 它有一个引脚可以直接为线圈提供5V电压,而3.3引脚则用于开关。
您认为它会起作用还是您有其他想法????
谢谢您的帮助!