查看(SKU:RB-03T003)超薄红外遥控器的源代码
←
(SKU:RB-03T003)超薄红外遥控器
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
<br/> [[文件:asda1.jpg|500px|有框|右]] ==概述== :红外线遥控接收传感器模块,它采用了HS0038一体化红外接收头作为信号接收元件,确保了产品具有极高的可靠性与卓越的长期稳定性。HS0038是一个集成度很高的元器件。红外接收电路一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的 TTL 信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在产品中我们采用红外一体化接收头HS0038,外观如封面图片所示。HS0038黑色环氧树脂封装,不受日光、荧光灯等光源干扰。HS0038 为直立侧面收光型。它接收红外信号频率为38 kHz ,周期约26 μs ,能同时对信号进行放大、检波、整形,得到 TTL 电平的编码信号。因此该款产品具有品质卓越、超快响应、抗干扰能力强、性价比高等优点。 :应用领域:家电产品、人机互动平台、教学仪器仪表、PC遥控器等。 ==规格参数== # CR2025环保纽扣电池,容量160mah # 发射距离:8m以上(具体和周围环境、接收端的灵敏度等因素有关) # 有效角度:60度 # 面贴材料:0.125mmPET,有效寿命2万次。 # 品质稳定,性价比高 # 静态电流3-5uA,动态电流3-5mA ==产品实物图== [[文件:asda2.jpg|500px|有框|居中]] ==红外遥控接收传感器的测试 == :我们使用Arduino控制器来做个测试,要用到硬件设备如下: # Arduino控制器×1 # Arduino LCD1602 字符液晶扩展板×1 # 红外遥控接收传感器模块×1 # 蜂鸣器发声模块×1 # 超薄红外遥控器×1 # 通用3P传感器连接线×2 # USB 数据通信线×1 [[文件:asda3.jpg|500px|有框|居中]] :如图所示,使用传感器连接线将红外遥控接收传感器连接到 LCD1602字符液晶扩展板的模拟口 1 上,如需声音提示可把本公司的蜂鸣器发声模块连接到模拟口 2 上,这里要说明下,我们是把模拟接口当做数字接口用,这样比较方便,参见例子程序中接口定义。连接好硬件后,再把测试源程序库文件解压缩到你的Arduino安装目录下的hardware\libraries 里面(如需红外遥控接收传感器库文件请联系我们的技术客服)。然后将代码编译后下载到Arduino里,就可以进行键值读取试验了,同时在软件里的串口监视窗口上可以看见同步的键值显示(注:软件串口波特率设置为9600) # 配套遥控器键值表: [[文件:asda4.jpg|500px|有框|居中]] # Arduino 实验代码如下: <pre style='color:blue'>#include <LCD4Bit_mod.h> LCD4Bit_mod lcd = LCD4Bit_mod(2); #define TIMER_RESET TCNT1 = 0 #define SAMPLE_SIZE 68 int BUZZER = 16;// 设置模拟口2 为蜂鸣器信号输出引脚 int IRpin = 15; // 设置模拟口1 为信号接收引脚 unsigned int TimerValue[SAMPLE_SIZE]; char direction[SAMPLE_SIZE]; byte change_count; long time1, time2; unsigned long data; char a,b,c,d,e; unsigned long irc; char tab[12]={"0123456789"}; void setup() { pinMode(IRpin, INPUT); pinMode(13, OUTPUT); pinMode(BUZZER,OUTPUT);// 设置与蜂鸣器连接的引脚为输出模式 lcd.init(); lcd.clear(); lcd.printIn("www.robotbase.cn"); lcd.cursorTo(2, 0); lcd.printIn("IR_CODE:"); TCCR1B = 0x03; TCCR1A = 0x00; a=0;b=0;c=0;d=0;e=0; Serial.begin(9600); bee(); } void loop() { lcd.cursorTo(2, 9); lcd.print(tab[a]); lcd.cursorTo(2, 10); lcd.print(tab[b]); lcd.cursorTo(2, 11); lcd.print(tab[c]); lcd.cursorTo(2, 12); lcd.print(tab[d]); lcd.cursorTo(2, 13); lcd.print(tab[e]); ir_code(); Serial.println(irc); } void bee() { digitalWrite(BUZZER,LOW);// 蜂鸣器响 delay(300); digitalWrite(BUZZER,HIGH);// 蜂鸣器响 delay(300); } void ir_code() { change_count = 0; while(digitalRead(IRpin) == HIGH) {} // 等待起始位 TIMER_RESET; TimerVal ue[change_count] = TCNT1; directio n[change_count++] = '0'; while (change_count < SAMPLE_SIZE) { if (direction[change_count-1] == '0') { while(digitalRead(IRpin) == LOW) {} // 等待电平上升沿出现 TimerValue [change_count] = TCNT1; direction[change_count++] = '1'; // 保持信号状态 } else { while(digit alRead(IRpin) == HIGH) {} // 等待电平信号的下降沿 TimerValue [change_count] = TCNT1; direction[change_count++] = '0'; // 保持信号状态 } } change_count = 0; data = 0; time1 = (long) TimerValue[change_count] * 4; change_count += 2; while (change_count < SAMPLE_SIZE) { time2 = (long) TimerValue[change_count] * 4; if ((time2 - time1) > 8000) { } else if ((time2 - time1) > 1680) { data = data << 1; // 左移一位 data |= 1; } else { data = data << 1; } change_count += 2; time1 = time2; } irc=data%100000; a=irc/10000; b=irc%10000/1000; c=irc%1000/100; d=irc%100/10; e=irc%10; bee(); }</pre> →购买地址 超薄红外遥控器 http://www.alsrobot.cn/goods.php?id=154]
返回
(SKU:RB-03T003)超薄红外遥控器
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面
页面信息