众所周知,Raspberry Pi是一个很棒的基于ARM微处理器的开发平台。凭借其强大的计算能力,它可以解决电子爱好者或学生手中的奇迹。所有这些只有在我们知道如何使其与现实世界互动的情况下才有可能。有许多传感器可以检测实时世界中的某些参数,并将其传输到数字世界。我们已经用许多传感器介绍了很多Raspberry Pi项目。Raspberry Pi还是物联网项目的福音,因为它是带有内置Wi-Fi的袖珍计算机,具有微控制器功能。
在本教程中,我们将学习如何将红外传感器与Raspberry pi连接。这些传感器最常用于小型机器人,如直线跟随器机器人,避边机器人等。简单地说,它可以检测到物体之前的物体,并可以区分白色和黑色。听起来不错吧?
因此,让我们学习如何将此传感器与Raspberry Pi连接。在此项目中,当IR传感器前面没有任何物体时,红色LED保持点亮,而当我们在IR传感器前面放置物品时,红色LED熄灭,绿色LED点亮。该电路也可以用作安全警报电路。
所需材料:
- Raspberry Pi 3(任何型号)
- 红外传感器模块
- 绿色和红色LED灯
- 面包板
- 连接线
红外传感器模块:
红外传感器(红外传感器)是用于检测之前存在物体的模块。如果存在物体,则输出为3.3V,如果物体不存在,则输出为0V。通过使用一对红外对(发射器和接收器)可以做到这一点,发射器(红外LED)将发出红外射线,如果在其之前存在物体,红外射线将被反射。红外光将被接收器(光电二极管)接收回去,并且在使用运算放大器链路LM358放大后,输出将变高。您可以在此处了解有关红外传感器模块电路的更多信息。
上面显示了该项目中使用的红外传感器。像所有红外传感器一样,它具有3个引脚,分别是5V,Gnd和Out。该模块由Raspberry Pi的5V引脚供电,而out引脚连接至Raspberry Pi的GPIO14。模块顶部的电位器可用于调整红外传感器的范围。
电路图和说明:
连接树莓派和红外传感器的电路图 如下所示。如您所见,电路图非常简单。我们已经通过5V和Raspberry Pi的接地引脚直接为IR模块供电。IR模块的输出引脚连接到GPIO14。我们还使用了两个LED(绿色和红色)来指示对象的状态。这两个LED分别连接到GPIO3和GPIO2。
由于Raspberry Pi的GPIO引脚为3.3V,因此没有必要使用限流电阻。但是,如果需要,可以在LED的接地引脚和Raspberry Pi之间添加一个470欧姆的电阻。整个电路由5V移动充电器通过Raspberry pi的micro USB端口供电。
注意:连接任何传感器时,请确保传感器的接地端已连接到MCU或MPU(此处为Raspberry Pi)的接地端。只有这样,他们才能进行交流。
对Raspberry Pi进行编程:
在这里,我们使用Python编程语言对RPi进行编程。有很多方法可以对Raspberry Pi进行编程。在本教程中,我们使用的是Python 3 IDE,因为它是最常用的一个。该完整的Python程序在本教程的末尾。在此处了解有关在Raspberry Pi中编程和运行代码的更多信息。
我们将讨论将在PYHTON程序中使用的一些命令,
我们将从库中导入GPIO文件,以下功能使我们能够对PI的GPIO引脚进行编程。我们还将“ GPIO”重命名为“ IO”,因此在程序中,每当要引用GPIO引脚时,我们都将使用“ IO”一词。
导入RPi.GPIO作为IO
有时,当我们尝试使用的GPIO引脚可能正在执行其他一些功能时。在这种情况下,我们将在执行程序时收到警告。下面的命令告诉PI忽略警告并继续执行程序。
IO.setwarnings(False)
我们可以通过板上的引脚编号或功能编号来引用PI的GPIO引脚。像板上的“ PIN 29”一样,是“ GPIO5”。因此,我们在这里告诉我们将在此处用“ 29”或“ 5”表示图钉。
IO.setmode(IO.BCM)
我们将3个引脚设置为输入/输出引脚。两个输出引脚将控制LED,而输入引脚将从红外传感器读取信号。
IO.setup(2,IO.OUT)#GPIO 2->红色LED作为输出IO.setup(3,IO.OUT)#GPIO 3->绿色LED作为输出IO.setup(14,IO.IN)#GPIO 14->红外传感器作为输入
现在,我们必须关闭绿色LED并在物体较远时打开红色LED。这可以通过检查GPIO14引脚来完成。
if(IO.input(14)== True):#对象离IO.output(2,True)#红色LED亮IO.output(3,False)#绿色LED灭
同样,当物体靠近时,我们必须打开绿色LED并关闭红色LED。
if(IO.input(14)== False):#对象在IO.output(3,True)附近#绿色LED亮IO.output(2,False)#红色LED灭
下面的命令用作永远循环,使用此命令,该循环内的语句将连续执行。
虽然1:
加工:
创建python代码后,请使用run命令执行它。如果执行程序没有任何错误,则应显示以下屏幕。
如下图所示,当传感器前无物体时,您还应该看到红色LED变高。
现在,带些东西靠近红外灯,您应该注意到红色LED熄灭,绿色LED亮起。可以在下面的视频中找到完整的工作。
希望您理解该项目并能够使用它来构建有用的东西。如果有任何疑问,请在下面的评论部分或论坛上发布。