主要内容

运动传感器

这个例子展示了如何使用树莓Pi®硬件接口到一个运动传感器和控制外部LED。

介绍

在本例中,您将学习如何创建一个Simulink®模型,该模型读取运动传感器的输出,并根据检测到金宝app的运动活动执行一系列动作。在本例中,我们将使用Parallax®公司的被动红外(PIR)运动传感器。PIR传感器是一种热释电设备,测量周围物体发射的红外热水平的变化。当一个物体(如人)经过PIR传感器前时,在其输出管脚上输出逻辑HIGH。如果没有检测到运动,传感器将输出引脚设置为逻辑LOW。

先决条件

所需的硬件

要运行此示例,您需要以下硬件:

  • 覆盆子π董事会

  • 来自视差的PIR运动传感器

  • 1.8毫米红了

  • 270欧姆电阻

  • 试验板连接(推荐)

  • 小案板(推荐)

  • 扬声器或耳机(任务3)

  • USB网络摄像头(任务4)

任务1 -连接运动传感器和LED到树莓派硬件

在本任务中,您将连接PIR运动传感器和红色LED到树莓派硬件。传感器有三个引脚:VCC、GND、OUT。VCC引脚将连接到+3.3伏电压轨,GND引脚将连接到地面。OUT引脚是指示运动的逻辑信号。该引脚将连接到树莓Pi硬件上的GPIO引脚,如下图所示:

在上面的电路原理图中,一个LED已经连接到一个GPIO管脚。只要检测到运动,这个LED就会打开。注意,所使用的LED正向电压必须小于3.3伏。我们建议使用1.8毫米的红色LED。

1.将PIR运动传感器连接到树莓派硬件,如图所示。

2.如图所示,将红色LED连接到树莓派硬件的指示GPIO管脚上。

请注意如果您没有可用的PIR运动传感器,您可以替代一个简单的按钮,如下面的简化电路图所示。

任务2 -当检测到运动时打开LED

在本任务中,当PIR传感器检测到运动时,将打开连接到板上的LED。

1.打开运动传感器(LED开启)模型。

2.在模型中,

  • GPIO读Block每0.1秒读取运动传感器的输出。从运动传感器读取的值被写回为LED供电的GPIO管脚。

  • 仪表板范围块显示连接信号在模拟期间的行为。

  • 金宝appSimulink显示一个记录的信号指示器,指示连接的信号GPIO读GPIO写块被标记为日志记录。标记用于日志记录的信号使您能够监视模拟期间参数调优的效果。有关测井信号的信息,请参见标记记录信号

3.打开建模选项卡和新闻Ctrl + E打开“配置参数”对话框。

4.浏览到硬件实现>目标硬件资源>外部模式,并设置通信接口参数的XCP TCP / IP

5.打开硬件选项卡,单击监视和优化.在模拟过程中,仪表板范围块显示运动传感器的输出。当新的仿真数据在仿真数据检查器(SDI)中可用时,仿真数据检查器按钮将高亮显示。

6.(可选)您可以单击“仿真数据检查器”按钮来检查和比较来自多个仿真的数据,以验证模型设计。有关SDI的更多信息,请参见检查和分析仿真结果

7.点击停止按钮以停止模型。

任务3 -当传感器输出高时,说“检测到运动”

可用于树莓派硬件的固件包括eSpeak文本到语音合成器。在本任务中,您将使用eSpeak Linux包在传感器OUT引脚变高时输出“Motion Detected”。

1.如果您正在使用树莓派板的模拟音频输出,请将一对耳机或扬声器连接到模拟音频输出插孔。如果你把树莓派连接到HDMI显示器或电视上,你会听到显示设备的扬声器发出的声音。

2.打开运动传感器(文本到语音)模型。

3.打开硬件选项卡,单击监视和优化按钮,以便在树莓派硬件上运行模型。

4.当模型开始运行时,当PIR传感器检测到运动时,你会听到树莓派硬件发出“运动检测到”的声音。

5.点击停止按钮以停止模型。

任务4 -建立一个运动传感器摄像机

在这个任务中,您将创建一个Simulink模型,捕捉一张图片,金宝app并在检测到运动时将其保存在板上。

1.连接一个兼容USB相机到树莓派硬件

2.打开运动传感器的相机模型。

3.打开硬件选项卡,单击监视和优化在树莓派的硬件上运行模型。

4.每次传感器运动引脚从低到高的时候,树莓派硬件都会捕获并保存灰度图像。当模型在外部模式下运行时,捕获的帧显示在主机上。捕获的图像数据保存到板上用户主目录的文件中。为了检索第一个捕获的图像,在MATLAB®命令行上执行以下命令:

r = raspberrypi;getFile(r,'/img0.dat') img = load('img0.dat');显示亮度图像(重塑(img, 120160)), colormap(灰色)

5.点击停止按钮以停止模型。

6.您可以通过单击金宝app部署到硬件按钮在模型工具栏上。当您以这种方式运行模型时,运行在树莓派硬件上的Simulink模型将记录图像到S金宝appD卡。您应该在运行一段时间后停止模型,并在稍后如上面步骤4所示检索记录器图像。要停止脱离Simulink的模型运行,在MATLAB命令行上执行以下命令:金宝app

r = raspberrypi;stopModel (r, raspberrypi_motion_sensor_camera)

其他可以尝试的事情

用树莓派和Simulink块库中的其他块进行实验。金宝app例如:

  • 使用领导当检测到运动时,模块打开板上LED。

  • 使用柜台有限而不是Simulink金宝app库中的计数器不同步的例如,将镜像文件数量限制为255个。

总结

这个例子向你展示了如何使用树莓派目标连接外部运动传感器和LED到板。在这个例子中,你了解到:

  • GPIO读块让您读取数字逻辑水平输出的外部设备。

  • GPIO写块允许您输出逻辑高或低值来控制外部设备。

  • 领导模块可以让你打开或关闭车载LED。

  • 将文本转换为语音Block让你合成语音。