通过热释红外传感器和Arduino运动和手势识别
分享自爱板网论坛,六周年庆翻译征集活动...
硬件名称
数量
Arduino Nano R31
8像素热阵列传感器 TPA811
红外运动传感器 HC-SR5058
0.96inch SPI 128X64 OLED显示模块1
面包板1
杜邦线1
软件:Arduino IDE1
从本文中,我们将向您展示如何通过PIR传感器和Arduino Nano等简单元器件制作手势探测器。在本文结尾处,您可以学习到:- 热释红外传感器的应用及其工作原理
- 使用 TPA81 传感器
- 使用红外传感器检测动作和手势
- 制作一个炫酷的检测器来增加或减少你的扬声器音量
热释红外传感器(也叫被动红外传感器(PIR传感器))是一种电子传感器,用于测量从其视野中的物体辐射的红外(IR)光。它们最常用于 基于PIR的运动探测器。温度高于绝对零度的所有物体以辐射的形式发射热能。它以红外波长辐射,对于人眼是不可见的,但是可以通过该传感器来检测。
在这里,术语被动是指PIR设备不产生或辐射能量用于检测目的的事实。它们完全通过检测物体发射或反射的红外辐射来工作。他们没有检测或测量热量。(来源:维基百科)TPA81是一种热电堆阵列,可检测2um-22um范围内的红外线。这是辐射热的波长。热释电传感器(Pyro-electric Sensor)通常用于防盗报警器并打开外部灯光,在同一波段检测红外线。这些热电传感器只能检测热量水平的变化, 因此它们是运动探测器。虽然在机器人技术中很有用,但它们的应用受到限制,因为它们无法检测和测量静态热源的温度。另一种类型的传感器是热电堆阵列。这些用于非接触式红外线温度计。它们具有非常宽的检测角度或视场(FOV),约100°,通过遮盖或透镜,或者遮盖和透镜两者结合用来获得大约12°的有效视场(FOV)。有些内置镜头。最近有带热电堆阵列的传感器,内置电子设备和硅透镜已经上市。比如TPA81就是这种类型传感器。TPA81有八个的热电堆。TPA81可以同时测量8个相邻点的温度。还可以结合伺服控制器用平移模块来构建热图像。TPA81可以检测2米(6英尺)范围内的蜡烛火焰,不受环境光的影响!热释红外传感器可以当做只能看到发热物品的相机。TPA81就像一款具有8像素分辨率的热像仪,人体会持续向外释放热量。现在,如果我们通过控制器控制PIR传感器,并为PIR传感器定义一些手势,我们就可以制作一个简单的手势识别器。
在这个项目中,我们决定使用PIR传感器和Arduino制作手势识别器系统。我们使用TPA81作为传感器,但它有点贵,所以如果你想省钱,你可以使用8个没有透镜的红外传感器()。TPA81支持I2C协议,与Arduino Nano电平兼容。这个很酷的项目可以帮助您找出图像处理和手势识别的基础知识。我们开始做吧!
▌电路连接如果您想使用8个PIR传感器而不是TPA81,您应该将8个单个PIR传感器连接到Arduino板并逐个读取。这样你可以节省一些钱!▌编程
对于第一个电路(使用 TPA81),您可以把代码复制到 Arduino IDE 中。但首先必须要添加库,然后再上传(其实就是下载到开发板)代码。从文末的链接下载 TPA81 库。如果这是您第一次使用 Arduino ,不要担心。只需按照以下步骤即可:
- 转到www.arduino.cc/en/Main/Software,下载你的操作系统对应的软件。按照指令安装。
- 运行 Arduino IDE 并删除默认的代码,然后将下面的代码复制到 IDE 中。
- 导航到菜单栏,依次点击“项目”-“加载库”-“添加 .ZIP 库”
- 在“工具”菜单栏中选中 Arduino Nano 开发板
- 将 Arduino 连接到 PC 并在“工具”中设置好 COM 端口。
- 点击上传按钮
- 一切准备就绪
#include "Wire.h"
#include "TPA81.h"
// Create new TPA81 instance
TPA81 tpa;
void setup() {
Serial.begin(9600);
// You need to begin the Wire library to use TPA81 library
Wire.begin();
}
void loop() {
// Print temperature light
Serial.print(tpa.getAmbient());
Serial.print(" ");
// Print all temperature point
for (int i = 1; i
关注 爱板网
微信扫一扫关注公众号