找回密码
 立即注册

QQ登录

只需一步,快速开始

基础模块资料库

本帖最后由 lou 于 2020-5-11 16:47 编辑

基于Arduino使用mini红外遥控器



产品介绍

红外遥控系统主要分为调制、发射和接收三部分,红外接收模块中的一体化红外接收头,内部集成了红外接收电路,包括红外检测二极管,放大器,限幅器,带通滤波电容,积分电路,比较器等,能够将接收到的调制波进行解调。

11.png

12.png
(mini红外遥控器)

产品参数

尺寸:85mm*39mm*6.0mm
遥控范围:8-10米(红外接收头本身质量,中间有无障碍物等因素会影响到遥控距离)
电池:3V扣式锂锰电池红外载波频率:38KHz 面贴材料:0.125mmPET
有效寿命:2万次以上
标准的38K调制频率,可适应市面上各种红外接收头
带0~9·数字键,开关、MENU、TEST、C和返回键,4个导航键和确认键,可以方便应用到各种智能小车和开发板
内置通用3V纽扣电池,使用时间长、方便更换

使用方式

安装指定型号的电池并配合红外接收头使用

对应按键值读取
Mixly 图形化编程程序
60.png
(图形化程序)

打开串口监视器,对着红外接收模块按下按键

61.png
(串口数值显示)


遥控器按键参考对应值

  
按键符号
  
对应值
开关
16753245
MENU
16769565
TEST
16720605
返回
16761405
后退
16769055
前进
16748655
+
16712445
-
16750695
确认
16754775
C
16756815
0
16738455
1
16724175
2
16718055
3
16743045
4
16716015
5
16726215
6
16734885
7
16728765
8
16730805
9
16732845

程序实现代码

  1. #include <IRremote.h>
  2. long ir_item;
  3. IRrecv irrecv_6(6);
  4. decode_results results_6;
  5. void setup(){
  6.   Serial.begin(9600);
  7.   irrecv_6.enableIRIn();
  8. }
  9. void loop(){
  10.   if (irrecv_6.decode(&results_6)) {
  11.     ir_item=results_6.value;
  12.     String type="UNKNOWN";
  13.     String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
  14.     if(results_6.decode_type>=1&&results_6.decode_type<=13){
  15.       type=typelist[results_6.decode_type];
  16.     }
  17.     Serial.print("IR TYPE:"+type+"  ");
  18.     Serial.println(ir_item);
  19.     delay(1000);
  20.     irrecv_6.resume();
  21.   } else {
  22.     Serial.print("");
  23.     delay(1000);
  24.   }
  25. }
复制代码

mini红外遥控器基础小案例

结合Arduino、 红外传感器模块、LED 灯,实现当遥控器按下1号按键时,绿色 LED 灯亮起,当按下2号按键时,LED 灯处于熄灭状态。
LED灯高电平为亮,低电平为灭。

16.jpg
(LED模块)

接线方式

Arduino                        红外传感器模块
    5V           <------>      VCC
  GND          <------>      GND
    D6           <------>       DAT

Arduino                         LED灯
   3V3          <------>      VCC
  GND         <------>      GND
    D5           <------>       IN

Mixly图形化编程程序

62.png
(图形化程序)

程序实现代码
  1. #include <IRremote.h>
  2. long ir_item;
  3. IRrecv irrecv_6(6);
  4. decode_results results_6;
  5. void setup(){
  6.   Serial.begin(9600);
  7.   pinMode(5, OUTPUT);
  8.   irrecv_6.enableIRIn();
  9. }
  10. void loop(){
  11.   if (irrecv_6.decode(&results_6)) {
  12.     ir_item=results_6.value;
  13.     String type="UNKNOWN";
  14.     String typelist[14]={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};
  15.     if(results_6.decode_type>=1&&results_6.decode_type<=13){
  16.       type=typelist[results_6.decode_type];
  17.     }
  18.     Serial.print("IR TYPE:"+type+"  ");
  19.     Serial.println(ir_item);
  20.     if (ir_item == 16724175) {
  21.       digitalWrite(5,HIGH);
  22.     }
  23.     if (ir_item == 16718055) {
  24.       digitalWrite(5,LOW);
  25.     }
  26.     irrecv_6.resume();
  27.   } else {
  28.   }
  29. }
复制代码

分享至 : QQ空间
收藏

0 个回复

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