我用的python控制的树莓派
下面是代码
import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BOARD) GPIO.setup(11,GPIO.IN) while 1: v=GPIO.input(11) if(v==1): print "down" time.sleep(0.5)
首先,树莓派时能运行的,使用上没问题,
运行这个代码的时候,正常没有输出的
当我把杜邦线插在11口,就出问题了,刚插上线,就开始打印down了
问题是,我只插了杜邦线的一头到11口,另一头还没动呢,怎么就接到高电平了
我换成12口也是这个样子,
这是树莓派坏了,还是怎么了?
这个问题很简单:
原因:你的管脚配置成输入,那么处于浮空状态,外部长导线会使他拉高也很容易理解。
解决方法,你需要输入低电平,把外面导线另一头接地,不然就接3v3就ok啦,如果你是想gpio作为输出的,就不要IN,改成OUT
感谢您,我已经解决了,果然是那个上拉下拉的地方
代码修改成这个可以控制上拉下拉
GPIO.setup(37, GPIO.IN, pull_up_down=GPIO.PUD_UP)
这个是我尝试换成37口的
就是正常打印啊,开始时输出up,输出5个左右,开始输出down 输出12个左右,就这样循环