You are on page 1of 12

奥松机器人 RobotBase

红外发射模块
用户手册 v1.0

公司网址:www.robotbase.cn 淘宝店网址:http://robotbase.taobao.com/
公司电话:18945688768 公司邮箱:robotbase@yahoo.cn
机器人技术博客:http://blog.sina.com.cn/robotbase 视频播客:http://u.youku.com/robotbase
Arduino 教学博客:http://blog.sina.com.cn/arduino 机器人互动社区:www.alsrobot.cn
-1-
奥松机器人 RobotBase

商标声明:

RobotBase 与图形为哈尔滨奥松机器人科技有限公司注册商标。

基于对产品的持续完善与升级,本公司随时更改本资料或其中所提及的产品概不

另行通知。未经本公司书面同意或授权,不可擅自盗用、复制、出版本产品说明中局

部或全部内容。

免责声明:

使用者在使用本产品所做的任何应用(如实验、竞赛、二次开发)
,使用者须自行

承担风险。公司对于因使用本产品所产生的直接、间接或附带伤害(包括人身安全损

失、利润信誉损失等)
,不负任何责任,未满 14 岁儿童须在成人陪同下方可使用本产

品进行相关实验。

勘误说明:

为了能够正确的传达产品的使用信息,我们花费很多时间和精力在这本手册上,

希望使用者能够认真阅读其中内容,然而难免仍有疏漏之处。如在本手册中发现错误,

欢迎利用电子邮件 robotbase@yahoo.cn 与我们联络。为了使手册更加完善,提供最新

最详实的资讯,我们会持续改善增补手册中内容。如有任何相关资讯更新皆会发布在

相关网站上,请经常浏览我们的网站、播客以及互动社区。

公司网址:www.robotbase.cn

机器人视频播客网址:http://u.youku.com/user_show/uid_robotbase

机器人互动社区网址:www.alsrobot.cn

-2-
奥松机器人 RobotBase

一、注意事项
1. 在未认真阅读本说明之前请勿给驱动板加电!以免错误接线造成驱动板永久损坏。

2. 请认真查看引脚功能说明,注意简明标识符,正确接线!切勿将电源线接反,造成

电子器件烧毁。

3. 在使用本产品时应注意周围环境无红外线干扰(例如红外取暖用品、监控夜视照明

等)。

4. 本产品的红外发射管外形与普通LED灯一样,请不要当成LED灯使用,由于红发射

管工作时发出的是红外光,有肉眼无法看到。

二、产品介绍
由于在远距离传输过程中使用连接线可能会导致传输数据错误。2010 年最新推出

的 IR&LED Module 是一款 Arduino 兼容的红外线发射传感器,可通过对 Arduino 进行

编程发射出 38KHz 调制信号,可适应市面上各种红外接收头,以便 IR Receiver Module

38KHz 红外线接收传感器能接收到,从而实现红外无线通讯。

三、规格参数

1.供电电压: 5V

2.工作环境:-25~+85℃

3.储存温度:-30~+100℃

4.波长:940nm

5.模块尺寸:13.7mm×27.8mm

6.模块重量:1g

-3-
奥松机器人 RobotBase

四、使用方法

步骤一:接线。

S 端口连接到控制器的 I/O 口。+、- 分别接到电源 S 端口连接到+5V 和 GND。

步骤二:固定。

根据需要通过直径φ3 的连接件(铜柱、螺钉、螺栓等)进行固定。

七、红外发射模块的测试

我们使用 Arduino 控制器来做个测试,要用到硬件设备如下:

1、 Arduino 控制器×2

2、 Arduino 传感器扩展板×2

3、 红外发射模块×1 和红外接收模块×1

4、 电位计模块×1 和 LED 发光模块×1

5、 通用 3P 传感器连接线×4

6、 USB 数据通信线×2

-4-
奥松机器人 RobotBase

如图所示,使用传感器连接线将电位计模块连接到作为发射部分的 Arduino 传感器

扩展板的模拟口 0 上,红外发射头连接到 Arduino 传感器扩展板的数字口 2 上。然后使

用传感器连接线将红外发射头连接到作为接收部分的 Arduino 传感器扩展板的数字口 2

上,将 LED 发光模块连接到 Arduino 传感器扩展板的数字口 9 上。

将发送部分代码编译后下载到作为发送部分的 Arduino 里,将接收部分代码编译后

下载到作为接收部分的 Arduino 里,就可以在串口助手窗口上显示接收到的当前值(注:

串口助手波特率调到 115200)
。Arduino 实验代码如下。
发送部分程序:
#define ADD 0x00
int IR_S = 2; //定义数字口 2 为发射模块接口
int a;
void setup()
{
pinMode(IR_S, OUTPUT); //定义 IR_S 为输出模式
Serial.begin(115200); //定义频率为 115200
}
-5-
奥松机器人 RobotBase
void loop()
{
uint8_t dat,temp;
{
a=analogRead(0); // 读取模拟口 0 的值
temp =a/4;
Serial.println(temp,DEC ); //将读取的数值打印到串口上
IR_Send38KHZ(280,1);//发送 9ms 的起始码
IR_Send38KHZ(140,0);//发送 4.5ms 的结果码

IR_Sendcode(ADD);//用户识别码
dat=~ADD;
IR_Sendcode(dat);//用户识别码反吗

IR_Sendcode(temp);//操作码
dat=~temp;
IR_Sendcode(dat);//操作码反码

IR_Send38KHZ(21,1);//发送结束码
}
delay(200);
}

void IR_Send38KHZ(int x,int y) //产生 38KHZ 红外脉冲


{
for(int i=0;i<x;i++)//15=386US
{
if(y==1)
{
digitalWrite(IR_S,1);
delayMicroseconds(9);
digitalWrite(IR_S,0);
delayMicroseconds(9);
}
else
{
digitalWrite(IR_S,0);
delayMicroseconds(20);
}
}
-6-
奥松机器人 RobotBase
}

void IR_Sendcode(uint8_t x)
{
for(int i=0;i<8;i++)
{
if((x&0x01)==0x01)
{
IR_Send38KHZ(23,1);
IR_Send38KHZ(64,0);
}
else
{
IR_Send38KHZ(23,1);
IR_Send38KHZ(21,0);
}
x=x>>1;
}
}
此代码的功能是从模拟口 0 读取电位计的值,并通过红外发射头将读取的数值发
送出去。
接收部分程序:
#define IR_LED 2 //IR 接收数字口 2
#define MAX 128
#define MICRO_STEP 10
#define IDLE_PULSE 4000
unsigned long pulses[MAX];
unsigned char IRCOM[7];
unsigned long z;
int w;
byte f=B00000000; //定义 f 为位
int n;
int ledpin=9; //定义数字口 9 为 LED 模块接口
void setup()
{
pinMode(IR_LED, INPUT);
Serial.begin(115200);
pinMode(ledpin,OUTPUT); //定义 ledpin 为输出模式
}

-7-
奥松机器人 RobotBase
void loop()
{
if( digitalRead(IR_LED) == LOW)
{
//开始接收数据
int count = 0;
int exit = 0;
while(!exit)
{
while( digitalRead(IR_LED) == LOW )
delayMicroseconds(MICRO_STEP);
unsigned long start = micros();
int max_high = 0;
while( digitalRead(IR_LED) == HIGH )
{
delayMicroseconds(MICRO_STEP);
max_high += MICRO_STEP;
if( max_high > IDLE_PULSE )
{
exit = 1;
break;
}
}
unsigned long duration = micros() - start;
pulses[count++] = duration;
}
for(int i=3; i<4; i++)
{
for(int j=0;j<8;j++)
{
if(pulses[i*8+j+1] < IDLE_PULSE)
{
IRCOM[i]=IRCOM[i] >> 1;
if((pulses[i*8+j+1])>1000)
{IRCOM[i] = IRCOM[i] | 0x80;}
}

z=pulses[i*8+j+1];
/***************************************************/
//将接收到的脉冲数据转换成十进制
-8-
奥松机器人 RobotBase
/***************************************************/
if(z<800)
w=10000000; //如果 Z 小于 800 w=10000000
else
w=00000000; //如果 Z 大于 800 w=00000000
f=f>>1; //将 f 右移 1 位
f=f+w;
/***************************************************/
}
}
n=int(f);
Serial.print(n);//将接收到的数据打印到串口上
analogWrite(ledpin,n); //将接收到的数据写入 ledpin 接口,控制 LED 亮度
}
}
此部分代码功能是通过红外接收头接收发送部分发送出的电位计的值来控制 LED

的亮度变化并通过串口助手显示当前接收到的值。如下图所示左侧串口助手(串口号

为:117)显示的是红外发送部分当前发送出的电位计的值,右侧串口助手(串口号为:

88)显示的是红外接收部分接收到的数值。

-9-
奥松机器人 RobotBase

六、修改声明

修改编号 版本 修改条款及内容 修改日期


1 V1.0 创建文档 2010-12-24

- 10 -
奥松机器人 RobotBase

七、质保声明

1、本店所售所有商品(原装进口产品除外),发货前,均经过严格的质检测试,
以保证质量。
2、请买家在签收后,及时检查配件是否齐全,并对商品进行测试,确定无误后再
安装使用。
3、本店销售产品均会提供相关使用说明、仅限于产品本身资料以及技术支持,对
于超出产品本身范围内的技术支持有权不予提供。(如购买“舵机”要求提供舵机驱动
控制源代码、购买“双足机器人”要求提供零件工程图纸、购买“舵机控制器”要求
提供原理图以及元件清单等)。
4、淘宝网买家签收后请及时确认收货并给出评价。签收后超过 7 日未确认收货的
买家,将视为自动放弃退换货资格。如商品检查中发现有意外情况所导致的故障、失
灵、损坏等,请第一时间与卖家联络,经双方同意买家在签收 7 日内退回原商品,送
往公司质检部检测,经鉴定确认是商品本身的原因导致影响使用,卖家承诺免邮费更
换全新同款商品。若经质检无故障退回、或因买家操纵使用不当等原因造成产品损坏,
卖方会主动咨询买家处理意见,双方友好协商解决。若卖方同意为买方更换商品或协
助维修,往返运费、维修费用均由买方承担。
5、凡本公司质保范围内产品,自购买日起一年之内出现质量问题,买方应将产品
送往公司质检部检测,如非人为原因损坏,属产品本身质量问题,卖方会及时按您的
要求予以退款、更换或维修;如人为因素造成产品损坏,卖方会主动咨询买家处理意
见,公司将按照售后服务条款实行成本维修,视损坏程度收取 5%-30%成本维修费。
6、以下情况本公司有权拒绝客户退换货要求:产品出现问题,不同意将产品寄回
检测;产品出现破损,没有当场要求送货人员换货拒签的;超过退换货期限或退换产
品不全外观受损的;客户发货单据丢失无购买记录或提供不了购买凭证的;产品本身
不存在质量问题非正常理由的;自签收之日起,淘宝网一周内没确认付款的。
注意:如电机、齿轮、机械零件、电池盒等易损耗产品,不享受质保服务;原装
进口产品、代理产品、不适用于本公司质保条款,均按原厂质保条款规定处理;若产
品出现质量问题,一律不将产品寄回返厂检测的,均视为产品不存在质量问题,不适
用于本公司质保条款;若非正常使用,肆意拆卸产品、仿造产品而造成损坏的,不享
受本公司质保服务。

- 11 -
奥松机器人 RobotBase

八、技术支持

RobotBase 为每一位客户都提供了完善的售前与售后技术支持服务,无
论是您想购买产品,对产品一无所知,还是在使用购买的产品中遇到问题,
您都可以随时联系我们技术工程师,我们会竭尽全力为您答疑解惑,尽快帮
您解决问题,您可以通过以下方式与我们取得联系:
官方网站:http://www.robotbase.cn/
技术支持邮箱:robotbase@yahoo.cn
博客留言:http://blog.sina.com.cn/robotbase
http://blog.sina.com.cn/arduino
技术旺旺号:robotbase
技术 QQ 号:736020878
1394282287
1345881897
互动交流 QQ 群号:16816196

哈尔滨奥松机器人科技有限公司
Copyright©2008-2010RobotBase
地址:黑龙江省哈尔滨市南岗区船舶大厦 4 楼西区 412B 室
Email:robotbase@yahoo.cn Tel:18945688768
- 12 -

You might also like