Featured image of post 树莓派控制GPIO点亮LED灯

树莓派控制GPIO点亮LED灯

前言

对本月实现微信远程控制家里电路的计划,补步学习树莓派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编程整理

Licensed under CC BY-NC-SA 4.0
最后更新于 2024-05-03 07:44 -0400