首页 / 行业
怎样用树莓派使LED闪烁
2019-07-29 08:59:00
在之前的教程中,我们已经了解了如何配置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,等
最新内容
手机 |
相关内容
什么是互感器,互感器的组成、特点、
什么是互感器,互感器的组成、特点、原理、分类、操作规程及发展趋势,发展趋势,分类,输入,计量,用于,信号,AD574AKD互感器是一种用于电容式触摸按键屏中应用的高性能触
电容式触摸按键屏中应用的高性能触摸芯片,芯片,位置,触摸屏,能力,响应,用户,电容式触摸按键屏(Capacitive Touch Key Screen)是一种常变频器与电动机使用中需要了解的常
变频器与电动机使用中需要了解的常识,常识,变频器,转速,安装,调节,选择,BAT54S-7-F变频器与电动机是现代工业中常见的设备,常用于调一文了解PTC热敏电阻(贴片式)
一文了解PTC热敏电阻(贴片式),容量,布局,安装,超过,温度,响应,PTC热敏电阻(Positive Temperature Coefficient Thermistor)是一种热敏消除“间隙”:力敏传感器如何推动新
消除“间隙”:力敏传感器如何推动新颖的HMI设计,传感器,智能手机,交互,交互方式,操作,用户,随着科技的不断发展,人机交互界面(HMI)的设Efuse是什么?聊聊芯片级的eFuse
Efuse是什么?聊聊芯片级的eFuse,状态,编码器,故障,加密,芯片,配置信息,Efuse是一种可编程的电子熔断器,用于在芯片级别实现非易失性存振弦传感器智能化:电子标签模块
振弦传感器智能化:电子标签模块,模块,传感器,操作,连接,安装,控制,mbrs360t3g振弦传感器是一种常用的测量设备,用于检测物体的振动。工业物联网模块应用之砂芯库桁架机
工业物联网模块应用之砂芯库桁架机器人远程无线控制,模块,物联网,控制,操作,安全性,无线通信,砂芯库桁架机器人是一种用于制造业中