0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探索定位红外相机:功能、特性与应用

chencui 2026-05-14 13:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

探索定位红外相机:功能、特性与应用

一、引言

在电子设备日益智能化的今天,定位红外相机作为一种独特的传感器,正发挥着越来越重要的作用。它不仅能追踪多个红外物体,还能作为火焰传感器检测热源位置,在机器人导航、安防监控等领域具有广泛的应用前景。本文将详细介绍一款小型定位红外相机,包括其规格参数、引脚定义、连接方式以及示例代码等内容,希望能为电子工程师们在相关设计中提供参考。

文件下载:SEN0158.pdf

二、相机概述

这款定位红外相机具有小巧的外形,能够同时追踪4个红外物体。它的应用场景十分多样,既可以用于带有红外发射器的机器人导航追踪,也能作为光障使用,还能确定物体的运动方向。此外,它还是一个出色的火焰传感器,可用于检测火焰位置,为消防安全等领域提供支持。而且,该相机安装和连接都非常方便,只需要四根线,其中两根用于电源供应,另外两根用于I2C通信

三、规格参数

1. 电源消耗

该相机支持两种电源规格,分别是3.3V/44mA和5V/48mA,用户可以根据实际需求进行选择。

2. 检测距离

其检测距离范围为0 - 3m,能够满足大多数应用场景的需求。

3. 通信协议

采用I2C通信协议,这种协议具有简单、高效的特点,便于与其他设备进行连接和通信。

4. 检测角度

水平检测角度为33度,垂直检测角度为23度,能够覆盖一定的空间范围。

5. 分辨率

相机的分辨率为128x96像素,并且具备硬件图像处理能力,可同时追踪四个红外发射或反射物体。

6. 尺寸

相机呈圆柱形,尺寸为32 x 16,体积小巧,便于安装和集成。

四、引脚定义

该相机的引脚定义如下:

  • 红色:VCC+,用于连接电源正极。
  • 黄色:SDA,I2C通信的数据线。
  • 绿色:SCL,I2C通信的时钟线。
  • 黑色:GND,用于连接电源负极。

五、连接示意图

虽然文档中未给出具体的连接示意图,但根据引脚定义和I2C通信的原理,我们可以推测出该相机与其他设备的连接方式。在实际应用中,需要将相机的VCC+和GND分别连接到电源的正负极,SDA和SCL分别连接到主控设备的I2C数据线和时钟线。

六、示例代码

1. 指令说明

当相机检测到信号时,会在第一个位置显示其坐标,其他位置为空(返回1023,1023)。如果相机检测到多个物体,会按照检测顺序排列。若其中一个物体超出视野范围,该位置将为空(返回1023,1023)。该相机同时最多支持4个物体的检测。

2. Arduino代码

以下是使用Arduino控制该相机的示例代码:

// Wii Remote IR sensor test sample code by kako http://www.kako.com 
// modified output for Wii - BlobTrack program by RobotFreak http://www.letsmak erobots.com/user/1433 
// modified for http://DFRobot.com by Lumi, Jan. 2014 
#include < Wire.h > 
int IRsensorAddress = 0xB0; 
//int IRsensorAddress = 0x58; 
int slaveAddress; 
int ledPin = 13; 
boolean ledState = false; 
byte data_buf[16]; 
int i; 
int Ix[4]; 
int Iy[4]; 
int s; 

void Write_2bytes(byte d1, byte d2) 
{ 
    Wire.beginTransmission(slaveAddress); 
    Wire.write(d1); 
    Wire.write(d2); 
    Wire.endTransmission(); 
}

void setup() 
{
    slaveAddress = IRsensorAddress >> 1; // This results in 0x21 as the address to pass to TWI 
    Serial.begin(19200); 
    pinMode(ledPin, OUTPUT); // Set the LED pin as output 
    Wire.begin(); 
    // IR sensor initialize 
    Write_2bytes(0x30,0x01); 
    delay(10); 
    Write_2bytes(0x30,0x08); 
    delay(10); 
    Write_2bytes(0x06,0x90); 
    delay(10); 
    Write_2bytes(0x08,0xC0); 
    delay(10); 
    Write_2bytes(0x1A,0x40); 
    delay(10); 
    Write_2bytes(0x33,0x33); 
    delay(10); 
    delay(100); 
} 

void loop() 
{
    ledState = !ledState; 
    if (ledState) { 
        digitalWrite(ledPin,HIGH); 
    } else { 
        digitalWrite(ledPin,LOW); 
    }
    //IR sensor read 
    Wire.beginTransmission(slaveAddress); 
    Wire.write(0x36); 
    Wire.endTransmission(); 
    Wire.requestFrom(slaveAddress, 16); // Request the 2 byte heading 
    for (i = 0; i < 16; i++) { 
        data_buf[i] = 0; 
    } 
    i = 0; 
    while(Wire.available() && i < 16) { 
        data_buf[i] = Wire.read(); 
        i++; 
    }
    Ix[0] = data_buf[1]; 
    Iy[0] = data_buf[2]; 
    s = data_buf[3]; 
    Ix[0] += (s & 0x30) < < 4; 
    Iy[0] += (s & 0xC0) < < 2; 
    Ix[1] = data_buf[4]; 
    Iy[1] = data_buf[5]; 
    s = data_buf[6]; 
    Ix[1] += (s & 0x30) < < 4; 
    Iy[1] += (s & 0xC0) < < 2; 
    Ix[2] = data_buf[7]; 
    Iy[2] = data_buf[8]; 
    s = data_buf[9]; 
    Ix[2] += (s & 0x30) < < 4; 
    Iy[2] += (s & 0xC0) < < 2; 
    Ix[3] = data_buf[10]; 
    Iy[3] = data_buf[11]; 
    s = data_buf[12]; 
    Ix[3] += (s & 0x30) < < 4; 
    Iy[3] += (s & 0xC0) < < 2; 
    for(i = 0; i < 4; i++) {
        if (Ix[i] < 1000) {
            Serial.print(" ");
        }
        if (Ix[i] < 100) {
            Serial.print(" ");
        }
        if (Ix[i] < 10) {
            Serial.print(" ");
        }
        Serial.print(int(Ix[i])); 
        Serial.print(",");
        if (Iy[i] < 1000) {
            Serial.print(" ");
        }
        if (Iy[i] < 100) {
            Serial.print(" ");
        }
        if (Iy[i] < 10) {
            Serial.print(" ");
        }
        Serial.print(int(Iy[i])); 
        if (i < 3) {
            Serial.print(",");
        }
    }
    Serial.println(""); 
    delay(15); 
}

3. Processing代码

以下是使用Processing进行数据可视化的示例代码:

// Example by Tom Igoe 
// Modified for http://www.DFRobot.com by Lumi, Jan. 2014 
import processing.serial.*; 
int lf = 10; // Linefeed in ASCII 
String myString = null; 
Serial myPort; // The serial port 

void setup() { 
    // List all the available serial ports 
    println(Serial.list()); 
    // Open the port you are using at the rate you want:
    myPort = new Serial(this, Serial.list()[0], 19200); 
    myPort.clear(); 
    // Throw out the first reading, in case we started reading 
    // in the middle of a string from the sender. 
    myString = myPort.readStringUntil(lf); 
    myString = null; 
    size(800,800); 
    //frameRate(30); 
} 

void draw() { 
    background(77); 
    myString = myPort.readStringUntil(lf); 
    if (myString != null) { 
        int[] output = int(split(myString, ',')); 
        println(myString); // display the incoming string 
        int xx = output[0]; 
        int yy = output[1]; 
        int ww = output[2]; 
        int zz = output[3]; 
        int xxx = output[4]; 
        int yyy = output[5]; 
        int www = output[6]; 
        int zzz = output[7]; 
        ellipseMode(RADIUS); // Set ellipseMode to RADIUS 
        fill(255, 0, 0); // Set fill to white 
        ellipse(xx, yy, 20, 20);
        ellipseMode(RADIUS); // Set ellipseMode to RADIUS 
        fill(0, 255, 0); // Set fill to white 
        ellipse(ww, zz, 20, 20); 
        ellipseMode(RADIUS); // Set ellipseMode to RADIUS 
        fill(0, 0, 255); // Set fill to white 
        ellipse(xxx, yyy, 20, 20); 
        ellipseMode(RADIUS); // Set ellipseMode to RADIUS 
        fill(255); // Set fill to white 
        ellipse(www, zzz, 20, 20); 
    }
}

七、总结

这款定位红外相机凭借其小巧的外形、多样的功能和便捷的连接方式,为电子工程师们提供了一个强大的工具。通过详细了解其规格参数、引脚定义和示例代码,我们可以更好地将其应用到实际项目中。在实际设计过程中,你是否遇到过类似传感器的应用难题呢?你又是如何解决的呢?欢迎在评论区分享你的经验和见解。

希望本文能帮助电子工程师们更好地理解和使用这款定位红外相机,推动相关领域的技术发展。更多信息可参考[官方文档](https://www.dfrobot.com/wiki/index.php/Positioning_ir_camera 5 - 2 - 17)。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • I2C通信
    +关注

    关注

    0

    文章

    30

    浏览量

    9451
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索Vishay TSAL6400红外发射二极管:特性、应用与设计考量

    探索Vishay TSAL6400红外发射二极管:特性、应用与设计考量 在电子设计领域,红外发射二极管是一种常见且重要的元件,广泛应用于各种红外
    的头像 发表于 05-18 15:50 98次阅读

    探索 SUNWAVE SW - 30 人体红外感应模块:多功能低成本之选

    探索 SUNWAVE SW - 30 人体红外感应模块:多功能低成本之选 在电子设计领域,人体红外感应模块是一种常见且实用的器件。今天,我们就来深入了解一下 SUNWAVE 的 SW
    的头像 发表于 05-10 15:05 271次阅读

    探索LM9704实时数字图像处理器:功能特性与应用

    探索LM9704实时数字图像处理器:功能特性与应用 在当今数字化的时代,数字图像处理器在各类成像设备中扮演着至关重要的角色。今天,我们就来深入了解一下National Semiconductor
    的头像 发表于 04-21 12:40 256次阅读

    探索Microchip数字电源启动套件:功能特性与应用指南

    探索Microchip数字电源启动套件:功能特性与应用指南 在电子工程领域,数字电源技术正变得越来越重要。Microchip的数字电源启动套件为工程师们提供了一个理想的平台,用于探索
    的头像 发表于 04-06 16:45 1129次阅读

    探索Crimzon® RC Blaster™:数字红外系统的完美之选

    探索Crimzon® RC Blaster™:数字红外系统的完美之选 在电子工程师的世界里,为数字设备添加通用遥控功能是一项常见且重要的任务。今天,我们就来深入了解一款名为Crimzon® RC
    的头像 发表于 04-04 13:10 598次阅读

    短波红外工业相机:材料检测和质量检验的不二之选(以Dalsa相机为例)

    Forge®️ 1GigE SWIR(短波红外相机适用于半导体检测,食品分拣,医学成像,材料分拣。
    的头像 发表于 02-09 17:21 504次阅读
    短波<b class='flag-5'>红外</b>工业<b class='flag-5'>相机</b>:材料检测和质量检验的不二之选(以Dalsa<b class='flag-5'>相机</b>为例)

    微小卫星红外相机双MCU冗余架构的抗辐照可靠性评估

    摘要 :随着微小卫星技术的快速发展,商用现货(COTS)器件在宇航领域的应用日益广泛。本文针对微小卫星红外相机控制系统的高可靠性需求,基于国科安芯AS32S601系列MCU的双冗余架构抗辐照技术
    的头像 发表于 01-18 21:41 438次阅读

    探索 EZ - USB™ FX3 相机套件:快速上手与功能解析

    探索 EZ - USB™ FX3 相机套件:快速上手与功能解析 在当今的电子技术领域,相机套件的性能和易用性至关重要。今天,我们就来深入了解一下 Infineon
    的头像 发表于 12-20 10:15 993次阅读

    短波红外相机的简单介绍和场景应用

    短波红外相机可穿透烟雾、材料,突破可见光盲区,应用于工业检测、安防、半导体等领域。
    的头像 发表于 11-19 10:46 732次阅读

    UV紫外相机在工业视觉检测中的应用

    UV紫外相机通过捕捉紫外信号和激发荧光反应,解决常规相机无法识别的隐形缺陷和标记,广泛应用于工业视觉检测。
    的头像 发表于 10-21 09:45 754次阅读

    短波红外相机在工业视觉检测中的应用

    短波红外相机通过穿透材质、高分辨率和抗强光,解决工业视觉检测中的难题,适用于复杂环境下的精准检测。
    的头像 发表于 10-15 09:45 1229次阅读

    浮思特 | 手机红外热成像相机原理,看不见的“温度世界”

    在日常生活中,我们的肉眼能看到的只是可见光范围内的景象。然而,世界远不止于此。所有温度高于绝对零度(-273.15℃)的物体都会不断辐射红外线,这是一种人眼看不见的电磁波。红外热成像相机的核心
    的头像 发表于 08-28 14:13 3673次阅读
    浮思特 | 手机<b class='flag-5'>红外</b>热成像<b class='flag-5'>相机</b>原理,看不见的“温度世界”

    科研级相机是什么?以及影响信噪比的主要因素

    确的图像,并能够在更广泛的光学和电学范围内进行测量和分析。 科研相机通常具有高分辨率、高灵敏度、高动态范围、低噪声等特点,可根据不同的应用需求分为显微镜相机、可见光相机、光谱相机
    的头像 发表于 08-22 08:45 979次阅读
    科研级<b class='flag-5'>相机</b>是什么?以及影响信噪比的主要因素

    揭秘短波红外相机的 “超能力”

    短波红外相机凭借高灵敏度、夜视能力、穿透性强等特点,在科研、工业、安防等领域具有广泛应用。
    的头像 发表于 08-05 09:25 1405次阅读
    揭秘短波<b class='flag-5'>红外相机</b>的 “超能力”

    紫外工业相机的主要应用

    (普通)相机红外相机、紫外相机等,下面我来看看UV紫外相机及其应用。根据波长的不同,紫外线可划分为三个主要波段:1.UVA波段(320-400nm):波长最长的紫外
    的头像 发表于 07-15 16:56 859次阅读
    紫外工业<b class='flag-5'>相机</b>的主要应用