欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-14 23:04:33
...

前言

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

正文

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

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

树莓派养成之路 ——GPIO控制
其实我也对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引脚做清理

再看看效果

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

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

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

相关标签: python 树莓派3