树莓派养成之路 ——GPIO控制

前言

对本月实现微信远程控制家里电路的计划,补步学习树莓派python GPIO控制。其中查看了网上的些资料还发现了点部问题。

正文

看了网上多数都是正极直接级VCC,然后控制物理接口11的输出。但问题在于初始化11接口后LED灯就常亮,所以我直接使用11,13两个口。看下我的接法:
这里写图片描述
我大部分参考树莓派开发系列教程9——树莓派GPIO控制 帮助了我很多,但也给我埋了个坑。

程序初始化11接口为输出模式,程序退出后没有复位。导致程序下次执行警告,最终问题是程序退出后LED保持最后的状态。警告信息如下:

这里写图片描述
其实我也对GPIO也不是太懂,最后看到文章树莓派学习笔记——RPi.GPIO 流水灯中的代码,退出程序前将接口设置为低电平输入模式。

最后看看我的程序

#!/usr/bin/env python
import RPi.GPIO as GPIO
import time

def setup():
'''初始化接口'''
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(11, GPIO.OUT)
    GPIO.setup(13, GPIO.OUT)
    GPIO.output(11, GPIO.LOW)
    GPIO.output(13, GPIO.LOW)

def destroy():
'''恢复接口'''
    GPIO.output(11, GPIO.LOW)
    GPIO.output(13, GPIO.LOW)
    GPIO.setup(11, GPIO.IN)
    GPIO.setup(13, GPIO.IN)

setup()
GPIO.output(13, GPIO.HIGH)
for i in range(10):
     GPIO.output(11,GPIO.HIGH)
     time.sleep(1)
     GPIO.output(11, GPIO.LOW)
     time.sleep(1)
destroy()

20170517 树莓派GPIO入门01-使用GPIO接口控制发光二极管闪烁 的源码中GPIO.cleanup()对所有GPIO引脚做清理

再看看效果

这里写图片描述

最后零时找了个在线画电路图,平时不常用。

参考:
树莓派开发系列教程9——树莓派GPIO控制
树莓派学习笔记——RPi.GPIO 流水灯
树莓派的pythonGPIO编程整理

猜你喜欢

转载自blog.csdn.net/vr7jj/article/details/71699451
今日推荐