【发布时间】:2016-01-06 19:21:07
【问题描述】:
我是 Raspberry Pi 编程新手。使用 Raspberry Pi Model B+ 我试图通过GPIO 引脚读取输入值。但它最终会导致 GPIO 引脚值交替变为 HIGH and LOW(没有任何统一模式)。
为什么会这样?应该是这样吗?我期待直到用setup GPIO.IN 为GPIO 引脚供电,它的值将是0,并且只有当电源连接时它才会是1。
这是我编写的用于检查 PIN 状态的示例 Python 代码:
import RPi.GPIO as GPIO
import time
PINS = [11,13,15,16,18,22,36,37]
GPIO.setmode(GPIO.BOARD)
for pin in PINS:
GPIO.setup(pin,GPIO.IN)
while True:
try:
for pin in PINS:
print pin, “ input value is : “, GPIO.input(pin)
time.sleep(2)
print “checking pin status "
except (KeyboardInterrupt, SystemExt)
GPIO.cleanup()
输出如下:
checking pin status
11 input value is : 1
13 input value is : 1
15 input value is : 1
16 input value is : 1
18 input value is : 1
22 input value is : 1
36 input value is : 1
37 input value is : 1
checking pin status
11 input value is : 0
13 input value is : 0
15 input value is : 0
16 input value is : 0
18 input value is : 0
22 input value is : 0
36 input value is : 0
37 input value is : 1
checking pin status
11 input value is : 1
13 input value is : 1
15 input value is : 1
16 input value is : 1
18 input value is : 1
22 input value is : 0
36 input value is : 0
37 input value is : 0
checking pin status
11 input value is : 1
13 input value is : 1
15 input value is : 1
16 input value is : 1
18 input value is : 1
22 input value is : 1
36 input value is : 1
37 input value is : 1
那么,如何通过这些 PIN 读取输入信号?我的树莓派主板有问题吗?
【问题讨论】:
标签: python python-2.7 input raspberry-pi raspberry-pi2