使用树莓派的GPIO功能点亮一个LED灯。树莓派的GPIO,全拼是:General Purpose Input Output(通用输入输出)。GPIP引脚可以被用作数字输入或数字输出,这两种操作的电压都是3.3V。我们可以通过控制树莓派的GPIO引脚来作为输出电压,点亮我们的LED灯设备。
准备工作
材料清单:
- 树莓派主体,(我使用的3B)
- 1KΩ的电阻一个
- 红色LED灯一个
- 面包板一个
- 导线若干
我们需要用到python和PRIi.GPIO
库,所以在树莓派上安装python和对应的库:
1 | sudo apt-get install python-dev |
最新版的许多发行包可能都会自带Python和RPi.GPIO。如果已安装了的话,这两个命令只会把它升级到最新版。
电路规划
LED是便宜且有效的产生光的设备,但是它也十分脆弱,如果给的它一个相对很巨大的电流的话,会烧毁LED,同时也会损供电设备–我们的树莓派,所以,加一个电阻来保护电路安全,防止电流过大。LED全程为发光二极管,当给它两端加上正向电压时,电流从LED阳极流向阴极,半导体晶体就开始发出光线,电流的大小决定着光的强弱。所以,LED的正负极很重要,简单分辨方法是:引脚较长的为阳极,较短的为阴极)。
发光二级管的工作电流很低,在任何大于1mA的电流下就会发光,在更大的电流下亮度更高。但是要注意以下安全规则:
- 每个输出引脚不要引出超过3mA的电流。少数几次不会带来直接危害,但是会缩短树莓派使用寿命。
- 不要葱3.3V的供电引脚引出总额超过50mA的电流。
所以,我们使用1kΩ的电阻总是安全的。
树莓派GPIO针脚在python中有BCM和BOARD两种模式,我们这里使用BCM模式,引脚定义图:
这里为了节省博客篇幅,使用了横向图,为了方便看图,点击查看树莓派BCM引脚图-纵向图。
我们启用BCM模式下的18号引脚输出电流,然后将电阻和LED组成串联电路,再连接树莓派的GND引脚组成闭合电路,电路的连接方式如图所示:
python程序
使用ssh连接树莓派(或者直接接上显示器在树莓派里写),新建文件:led_blink.py
,并输入以下代码:
1 | # coding: utf-8 |
程序解读:
- 引入库PRi.GPIO命名为GPIO。
- 引入库time,来控制时间
- 将树莓派引脚的模式设置为BCM模式
- 打开18号引脚,设置为输出模式
- 建立循环,将18号引脚设置为高电平,停顿0.5秒后,将18号引脚设置为低电平,在停顿0.5秒,然后重复循环
最后,运行我们的程序:
1 | sudo python led_blink.py |
线路连接正确的情况下,会出现正确的结果,我们的led灯被点亮了:
有一段时间没有鼓捣树莓派了,点亮这个灯的过程好比我们学习一个新语言写了一个hello world一样。这个实验还是很简单的,细心就好了。
我做的过程中卡了了好久,灯老是不亮,无奈的我拿出了万用表,一步步检查电压电阻,结果发现是面包板有坏点,导致电路不同,换了插孔后就好了,万用表是个好东西啊~😊