四博智联产品售后

 找回密码
 立即注册
搜索
查看: 12003|回复: 0

基于ESPDUINO模块的红外遥控器简单应用实例

[复制链接]

31

主题

32

帖子

441

积分

版主

Rank: 7Rank: 7Rank: 7

积分
441
发表于 2016-8-11 18:13:34 | 显示全部楼层 |阅读模式
1、实验材料:
ESPDUINO模块,红外发送遥控器和接收模块,杜邦线3根;
2、实验原理:
将红外接收模块的信号线S接到ESPDUINO板上的D13口,按下红外遥控器的按键,将发送红外信号到接收模块,按下不同按键单片机将接收到不同红外信号转换成不同的6进制码,通过函数将接收到的十六进制码转换成遥控器上面对应的键位标识符,然后输出到串口显示出来。
3、硬件连接:
红外接收模块的3根线“S、+、- ”分别接ESPDUINO板上D13、3.3v、GND;
按键时遥控器的红外发射灯对准接收模块,正常情况下每次按键接收模块上的显示灯会闪一下,表示接收到遥控器的信号。
4、示例源码:

  1. #include <IRremoteESP8266.h>

  2. int RECV_PIN = 13; //IR检测器/解调器连接到GPIO引脚13
  3. IRrecv irrecv(RECV_PIN);

  4. String aa="";
  5. decode_results results;
  6. void setup()
  7. {
  8.   Serial.begin(9600);
  9.   irrecv.enableIRIn(); // 启动接收器
  10. }

  11. void loop()
  12. {
  13.   if (irrecv.decode(&results))
  14.   {
  15.     switch(results.value)//转换成遥控器上面对应的键位标识符
  16.   {
  17.     case 0xFF6897: aa="1"; break;
  18.     case 0xFF9867: aa="2"; break;
  19.     case 0xFFB04F: aa="3"; break;
  20.     case 0xFF30CF: aa="4"; break;
  21.     case 0xFF18E7: aa="5"; break;
  22.     case 0xFF7A85: aa="6"; break;
  23.     case 0xFF10EF: aa="7"; break;
  24.     case 0xFF38C7: aa="8"; break;
  25.     case 0xFF5AA5: aa="9"; break;
  26.     case 0xFF42BD: aa="*"; break;
  27.     case 0xFF4AB5: aa="0"; break;
  28.     case 0xFF52AD: aa="#"; break;
  29.     case 0xFF629D: aa="up"; break;
  30.     case 0xFFA857: aa="down"; break;
  31.     case 0xFF22DD: aa="left"; break;
  32.     case 0xFFC23D: aa="right"; break;
  33.     case 0xFF02FD: aa="OK"; break;
  34.   }
  35.    Serial.println(aa);
  36.    irrecv.resume(); // 接收下一个值
  37.   }
  38.   delay(100);
复制代码
5、实物连接及实验效果图:

1.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|四博智联 Inc. ( 粤ICP备15034758号-1

GMT+8, 2024-3-29 05:06 , Processed in 0.065635 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表