lou 发表于 2020-5-11 11:36:41

基于Arduino使用红外遥控无线控制

基于Arduino使用红外遥控无线控制


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

(mini红外遥控器)
产品参数
尺寸:85mm*39mm*6.0mm遥控范围:8-10米(红外接收头本身质量,中间有无障碍物等因素会影响到遥控距离)电池:3V扣式锂锰电池红外载波频率:38KHz 面贴材料:0.125mmPET有效寿命:2万次以上标准的38K调制频率,可适应市面上各种红外接收头带0~9·数字键,开关、MENU、TEST、C和返回键,4个导航键和确认键,可以方便应用到各种智能小车和开发板内置通用3V纽扣电池,使用时间长、方便更换
使用方式
安装指定型号的电池并配合红外接收头使用
红外接收传感器
(红外接收传感器模块)
产品介绍
接收放大一体红外接收管,直接输出红外码适用范围广,兼容市场上大部分红外遥控器LED,方便观察调试适用于红外通讯、红外遥控控制等选购配件:3P传感器连接线
参数规格
1、采用1838遥控接收头,灵敏度高2、工作电压5V3、输出形式:数字输出4、设有2个固定孔,方便安装,孔径3.1mm5、带数据指示灯6、PCB尺寸:23mm*21mm7、重量:3g8、端口:数字量电平9、输出:标准红外码10、接收频率:38KHZ载波红外码11、接收距离:1-8m(视接收端而定)12、平台:Arduino单片机
红外接收传感器模块基础小案例接线方式
Arduino                     红外传感器模块    5V         <------>            VCCGND      <------>         GND    D6         <------>            DAT
Arduino                     LED模块   3V3      <------>       VCCGND      <------>      GND    D5         <------>      IN
程序测试1、串口打印读取遥控器1号和2号按键数值Mixly 图形化编程程序
(图形化程序)
按下1号和2号按键时串口打印读取数值
(串口数值显示)
程序实现代码

#include <IRremote.h>

long ir_item;

IRrecv irrecv_6(6);

decode_results results_6;

void setup(){

Serial.begin(9600);

irrecv_6.enableIRIn();

}

void loop(){

if (irrecv_6.decode(&results_6)) {

    ir_item=results_6.value;

    String type="UNKNOWN";

    String typelist={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};

    if(results_6.decode_type>=1&&results_6.decode_type<=13){

      type=typelist;

    }

    Serial.print("IR TYPE:"+type+"");

    Serial.println(ir_item);

    delay(1000);

    irrecv_6.resume();

} else {

    Serial.print("");

    delay(1000);

}

}
2、LED 高电平为亮,低电平为灭,当遥控器按下1号按键时,绿色 LED 灯亮起,当按下2号按键时,LED 灯处于熄灭状态。
(LED模块)
Mixly 图形化编程程序
(图形化程序)
程序实现代码
#include <IRremote.h>

long ir_item;

IRrecv irrecv_6(6);

decode_results results_6;

void setup(){

Serial.begin(9600);

pinMode(5, OUTPUT);

irrecv_6.enableIRIn();

}

void loop(){

if (irrecv_6.decode(&results_6)) {

    ir_item=results_6.value;

    String type="UNKNOWN";

    String typelist={"UNKNOWN", "NEC", "SONY", "RC5", "RC6", "DISH", "SHARP", "PANASONIC", "JVC", "SANYO", "MITSUBISHI", "SAMSUNG", "LG", "WHYNTER"};

    if(results_6.decode_type>=1&&results_6.decode_type<=13){

      type=typelist;

    }

    Serial.print("IR TYPE:"+type+"");

    Serial.println(ir_item);

    if (ir_item == 16724175) {

      digitalWrite(5,HIGH);

    } else if (ir_item == 16718055) {

      digitalWrite(5,LOW);

    }

    irrecv_6.resume();

} else {

}


}

页: [1]
查看完整版本: 基于Arduino使用红外遥控无线控制