在之前的教程中,我们已经了解了如何配置raspberry pi的无头设置,设置wi-fi,安装触摸屏lcd,为raspberry pi分配静态ip地址以及我们已经看到如何编写我们的第一个python raspberry pi中的程序。
在以前的所有教程中(除了使用raspberry pi设置触摸屏的情况除外),我们还没有使用raspberry上的任何gpio引脚pi。
让我们先讨论一下raspberry pi的gpio引脚的一些功能,然后再继续介绍如何使用raspberry pin及其gpio引脚闪烁led。/span》
在进入详细信息之前,请尝试阅读如何配置raspberry pi的无头设置?
raspberry pi的gpio(通用输入/输出)引脚
raspberry pi具有通用输入形式的强大功能/输出或只是gpio引脚。 gpio pins构成了现实世界和raspberry pi之间的物理接口。
通过这些gpio引脚将不同的外部组件(如led,电机,传感器,显示器等)连接到raspberry pi。在我们的项目中,我们将使用raspberry pi使led闪烁,因此所有gpio引脚的知识都很重要。
最新版本的raspberry pi系列即raspberry pi 3型号b有40个gpio引脚。在这40个gpio引脚中,很少有电源引脚,即3.3v引脚(2),5v引脚(2)和gnd(8)。在28个引脚的其余部分中,很少有真正的通用gpio引脚,而少数引脚具有双重功能。
下图显示了raspberry pi 3模型的gpio引脚b板。
中心的数字(带圆圈的)是raspberry pi的物理引脚。它们也被称为board pins或numbers。 gpio编号(如物理引脚3是gpio2)是处理器可以看到的那些。此编号称为gpio编号或bcm编号。
注意 :请注意您要在程序中使用的编号方案。在这个使用raspberry pi和python程序如何闪烁和led的项目中,我使用了电路板编号。
使用raspberry pi闪烁led的电路图
为了使用raspberry pi闪烁led,我们需要先将led连接到raspberry pi。您可以通过两种方式将led连接到raspberry pi。我将展示连接led的两种方式。
电路1
在在第一个电路中,led的阳极通过1kω限流电阻连接到gpio25(物理引脚22)。 led的阴极连接到gnd引脚。
在此电路中, gpio引脚将充当源极,并在激活时提供3.3v电压。
电路2
在此电路中,led的阳极通过1kω电阻连接到raspberry pi的3.3v电源引脚。 led的阴极连接到gpio25(物理引脚22)。
in在这个电路中,gpio引脚充当接收器(gnd)。
注意 :我将专注于第一个电路,gpio引脚gpio25作为源极。其他部分中解释的代码将特定于该电路。该代码也可用于第二个电路,只需稍加修改即可。
所需组件
raspberry pi 3 b型(任何raspberry pi都可以)
5mm led x 1
1kω电阻(1/4瓦)x 1
迷你面包板x 1
连接电线
其他(计算机,以太网电缆,raspberry pi电源等)
另请阅读:您的第一个raspberry pi上的python程序
电路原理
操作原理非常简单。 gpio引脚(gpio25)亮一秒钟,下一秒亮。此过程保持循环,以便我们获得闪烁led的效果。
为了控制gpio引脚,即使其为高电平和低电平,我将使用python编程几乎没有python包。
使用raspberry pi闪烁led的代码
如何使用raspberry pi操作闪烁led?
首先,我使用vim编辑器编写python程序。 vim是一个命令行编辑器,是一个非常简单易用的文本编辑器。首先,使用ssh登录您的raspberry pi(例如putty)。
安装vim编辑器(默认情况下,raspbian具有vi编辑器并获得完整功能vim),在ssh终端中输入以下代码。
sudo apt-get install vim
现在使用vim编辑器打开一个空白的python文件,文件名为 blinkled.py 。为此,请使用以下命令。
sudo vim blinkled.py
注意 :我在raspberry pi的桌面中创建了一个文件夹 python_progs 。所以,首先我应该出现在该目录中,然后创建上面的python文件。 (要更改目录,请使用cd命令)。
打开 blinkled.py 文件后,复制上面的代码并将其粘贴到那里。由于它是python代码,因此将指令分组为python中的块非常重要。
保存 blinkled。 py 文件并关闭vim编辑器。要检查代码,请在ssh终端(putty)中使用以下命令。
sudo python blinkled.py
如果一切顺利,您的led应以1秒的间隔闪烁,即一秒钟闪烁,另一秒闪烁。
代码说明
在python程序中,首先我们导入了两个包 rpi .gpio 和时间。包 rpi.gpio 将帮助我们控制raspberry pi的gpio引脚。
rpi的第一个重要功能。 gpio 模块是 setmode()。使用 gpio.setmode(),我们可以选择引脚的gpio编号或物理编号。通过使用 gpio.setmode(gpio.board) ,我们选择了物理编号方案。
注意 :对于gpio编号,您可以使用gpio.setmode(gpio.bcm)。
下一个功能是设置(引脚,模式)。此功能允许我们将引脚设置为输入(gpio.in)或输出(gpio.out)。在程序中,我使用 gpio.setup(ledpin,gpio.out) 将ledpin设置为输出。
将led引脚设置为output后,现在我们需要设置此output的状态,即high(gpio.high)或low(gpio.low)。为此,我们需要使用函数输出(引脚,状态)。因此,在我们的程序中,我们需要使用 gpio.output(ledpin,gpio.high) 来打开led和 gpio.output( ledpin,gpio.low) 将其关闭。
最后一个功能是 gpio.cleanup() 的。借助此功能,我们可以从程序中彻底退出,因为它将清除程序中使用的所有资源。
应用程序
在这个项目中,我们已经看到了如何使用raspberry pi和python程序使led闪烁。该项目将帮助您了解raspberry pi的gpio引脚的一些基础知识。
以此项目为参考,我们可以开发许多其他项目,如驱动电机,连接lcd,等
亿纬锂能致力打造创新而高效的能源解决方案
ADC采集的数据都准确吗?
window10卸载软件_window10怎么改管理员名称
OPPOR11什么时候上市?OPPOR11最新消息:5大拍照技术创新+骁龙660,携手OPPOR11Plus告别低配高价
安派-Eyes-DU开发板的参数说明
怎样用树莓派使LED闪烁
大功率开关电源输入端的继电器它有什么用呢?
五款220v指示灯电路图
基于TPM的树莓派可信平台模块(TPM)在快速网络身份认证(FIDO)中的应用设备接入身份应用
python文件操作是什么
苹果MIX处理器亮点前瞻
端口映射和端口转发的区别?
SD-WAN网关监控异地组网
GCD-SE1000位置传感器LVDT应用原理
10.2.2 类脑芯片∈《集成电路产业全书》
中国移动出台的20亿物联网终端补贴策略让NB模组成本下降超过了50%
三星推出新款PRO Ultimate 系列存储卡,提供更高的速度和可靠性
基于压电陶瓷光纤相位调制器的自适应光学综合孔径成像遥感器系统
TL431特性及应用
iOS10.3费电?教你备份资料降iOS10.2.1方法