这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【树莓派真好玩】八:现实交互(GPIO与控制LED)

共29条 1/3 1 2 3 跳转至

【树莓派真好玩】八:现实交互(GPIO与控制LED)

专家
2021-11-07 17:10:56     打赏

我认为树莓派与Arduino等设备的最迷人的地方就是可以让程序与现实世界交互,这种交互有两个方向:一,感知现实世界(从现实世界获取输入信息);二,控制现实世界的设备。


20211106_165132.jpg


对于树莓派而言,这两种交互方向都可以通过GPIO来实现(当然,通过摄像头、USB什么的也是可以的),这节我们来演示最简单的操作,使用树莓派来控制LED闪烁,这大概是所有和硬件&控制相关的课程的第一课。


说到树莓派的GPIO,在【树莓派真好玩】二:给树莓派4B穿上马甲 & 电源上电中,为了连接风扇的电源和地,我们曾经简单地提及GPIO,这里我们把之前的图片再拿来一下。


这就是树莓派GPIO管脚示意图喽:

GPIO_1.png


可以看到,除了5V电源、3.3V电源、地(Ground),以及标准的GPIO外、有些管脚还兼具其它功能,比如说UART、SPI、I2C等,通过这些管脚我们可以连接各种协议的设备,实现我们想要的获取信息或者输出控制等功能。


小图看着太累,来个大图,这个比较容易对应了:

GPIO_2.png

或者我们可以在树莓派上使用pinout工具(由 GPIO Zero Python库提供)来查看树莓派上的接口以及针脚对应关系等等:

pinout.png


我们有很多手段控制GPIO,比如说Wiring Pi、RPi.GPIO以及树莓派官网推荐的GPIO Zero Python库。


安装GPIO Zero


如果你的树莓派系统上还没有安装GPIO Zero Python库,并且使用的是Raspberry Pi OS、 Debian、Ubuntu那么可以使用如下指令安装:


sudo apt update
sudo apt install python3-gpiozero


否则可以使用PIP来安装:


sudo pip3 install gpiozero

(注:我个人推荐使用Python3以及Python3版本的GPIO Zero)


硬件连线


为了演示树莓派GPIO控制LED,我们需要准备LED、电阻、面包板、杜邦线之类的材料。


这是连接好的线路:

20211106_165125.jpg


其实简化一下就是LED正极串接个电阻连接到GPIO 18对应的针脚上,LED负极连接的Ground对应的针脚上。


程序代码


代码也很简单:


from gpiozero import LED
from time import sleep
led = LED(18)
while True:
    led.on()
    sleep(1)
    led.off()
    sleep(1)


执行代码


将上述代码保存为blink.py 然后在命令行执行如下命令即可:

python3 blink.py


我们就可以看到LED小灯以1秒种的间隔交替点亮、熄灭,我们可以根据自己的喜好调整sleep的时间间隔,就可以控制小灯点亮或者熄灭的间隔时间啦。


点亮后的效果如图:

20211106_165143.jpg(我使用的是一枚双色LED,所以拍照时不是什么颜色哦)


当然了,控制LED只是最简单的操作,下节我们来做一些复杂的操作,不过我要测试&操作成功才会写文章,就好比你看到的这个系列文章,其实都是我失败无数次后才测试成功的呢。




好了,这次的分享先到这里,后续内容,敬请期待哦。





关键词: 树莓派     Raspberry Pi     DIY    

专家
2021-11-07 19:44:44     打赏
2楼

感谢分享


专家
2021-11-07 20:35:58     打赏
3楼

看看


院士
2021-11-07 22:21:51     打赏
4楼

学习


专家
2021-11-08 00:02:43     打赏
5楼

感谢楼主的分享,很实用了。


专家
2021-11-08 00:05:57     打赏
6楼

感谢楼主的分享,很实用了。


专家
2021-11-08 00:12:17     打赏
7楼

感谢楼主提供分享,实用。


专家
2021-11-08 08:05:05     打赏
8楼

学习了


高工
2021-11-08 08:29:16     打赏
9楼

看看


高工
2021-11-08 08:39:43     打赏
10楼

good


共29条 1/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]