Fer*_*ere 1 python camera gpio raspberry-pi
当我用sudo python3 program.py执行并按下de switch 1时抛出下一个异常:
Taking picture...
Picture takeng...
Traceback (most recent call last):
File "main.py", line 21, in <module>
if GPIO.input(switch1):
RuntimeError: You must setup() the GPIO channel first
Run Code Online (Sandbox Code Playgroud)
我为这个项目使用了覆盆子凸轮库和rpi.gpio库.任何人都知道我的代码中发生了什么?
import RPi.GPIO as GPIO
import time
import picamera
# initial config for gpio ports
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
# input switches
switch1 = 22
switch2 = 23
switch3 = 24
# setup
GPIO.setup(switch1, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(switch2, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.setup(switch3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# main loop
while True:
if GPIO.input(switch1):
print ("Taking picture...")
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720)
camera.start_preview()
time.sleep(0.5)
camera.capture("test.jpg")
print ("Picture takeng...")
elif GPIO.input(switch2):
print ("Taking video...")
elif GPIO.input(switch3):
print ("Poweroff...")
break
GPIO.cleanup()
Run Code Online (Sandbox Code Playgroud)
小智 5
错误告诉您没有将引脚设置为输入,当您尝试访问它们时,它会失败.我有一个类似的问题,据我所知,它应该工作(你毕竟设置引脚).
尝试GPIO.setmode(GPIO.BCM)改为GPIO.setmode(GPIO.BOARD).您还必须将引脚编号更改为实际编号(您的编号为15,16和18).我仍然不知道为什么,但它在我的代码上做了伎俩.
| 归档时间: |
|
| 查看次数: |
9414 次 |
| 最近记录: |