主要内容

使用与树莓派接口的被动红外传感器检测运动

这个例子展示了如何使用树莓派™硬件连接到运动传感器并控制一个外部LED。

介绍

在本例中,您将学习如何创建一个Simulink®模型,该模型读取运动传感器的输出,并基于检测到的运动活动执行一系列动作。对于本例,我们将使用来自视差®公司的无源红外(PIR)运动传感器。PIR传感器是一种热释电装置,可以测量周围物体发出的红外热水平的变化。当一个物体(比如人)经过PIR传感器前面时,在其输出引脚上输出一个逻辑HIGH。如果没有检测到运动,传感器将输出引脚设置为逻辑LOW。

先决条件

所需的硬件

要运行这个例子,你需要以下硬件:

  • 覆盆子π董事会

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

  • 1.8毫米红了

  • 270欧姆电阻

  • 试验板连接(推荐)

  • 小案板(推荐)

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

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

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

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

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

1.PIR运动传感器与树莓派硬件的接口,如上图电路图所示。

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

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

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

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

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

2.在模型中,

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

  • 仪表板范围Block显示模拟过程中连接信号的行为。

  • Simulink显示一个记录信号指示器,指示信号连接GPIO读GPIO写块被标记为日志记录。标记用于记录的信号使您能够在模拟过程中监视参数调优的效果。有关日志信号的信息,请参见为日志记录标记信号

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

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

5.硬件选项卡,在模式部分中,选择机上运行然后点击监视和优化。在模拟过程中,仪表板范围Block显示运动传感器的输出。当新的仿真数据在仿真数据检查器(SDI)中变为可用时,仿真数据检查器按钮会高亮显示。

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

7.点击停止停止模型。

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

可用于树莓派硬件的固件包括eSpeak文本语音合成器。在这个任务中,当传感器OUT引脚高时,你将使用eSpeak Linux包输出“运动检测到”。

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

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

3.硬件选项卡,在模式部分中,选择机上运行然后点击监视和优化在树莓派硬件上运行模型。

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

5.点击停止停止模型。

任务4 -构建一个运动传感器相机

在本任务中,您将创建一个Simulink模型,捕获一张图片,并在检测到运动时将其保存在船上。

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

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

3.硬件选项卡,在模式部分中,选择机上运行然后点击监视和优化在树莓派硬件上运行模型。

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

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

5.点击停止停止模型。

6.你可以部署这个Simulink模型的独立版本。在硬件选项卡,在模式部分中,选择机上运行然后点击构建,部署和启动。当你以这种方式运行模型时,运行在树莓派硬件上的Simulink模型会将图像记录到SD卡中。你应该在模型运行一段时间后停止它,并在稍后检索记录器图像,如上面的步骤4所示。要停止脱离Simulink运行的模型,在MATLAB命令行中执行以下命令:

r = raspberrypi;stopModel (r, raspberrypi_motion_sensor_camera)

其他可以尝试的事情

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

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

  • 使用柜台有限block从Simulink库而不是计数器不同步的例如,将图像文件的数量限制为255个。

Baidu
map