arduino/mixly红外发射接收模块

一、资料

http://资料链接:https://pan.baidu.com/s/1idRcrVCxQ5zWLh59EFpi9g 提取码:n8ud

默认波特率9600

 串口通信,可以发送也可以接收

 发送格式

 

 二、器材

红外解码模块

 红外接收模块

arduino uno*2

 

 三、接线

红外接收模块arduino uno1
VCC5V
GNDGND
SD6
红外解码模块arduino uno2
VCC5V
GNDGND
RXD3
TXD2

四、程序

这里的程序效果是红外发射端发射编码A,延时1S再发送编码B,再延时1S依次循环,

红外接收端接收红外发射端发射的编码,如果是编码A,D13灯就亮,如果是编码B,D13灯就灭

注意的是比如红外发射端要发射的值是 00 FF 45,接收端接收到的就不是00 FF 45,而是0xFFA25D,这个之间有一个对应关系,可以打印接收的值来查看

发射端程序

mixly程序

arduino程序


#include <SoftwareSerial.h>

SoftwareSerial mySerial(2,3);
unsigned char kai[5]={0xA1,0xF1,0x00,0xFF,0X45};

unsigned char guan[5]={0xA1,0xF1,0x00,0xFF,0X46};

void setup(){
  mySerial.begin(9600);
}

void loop(){
  mySerial.write(kai,5);
  delay(1000);
  mySerial.write(guan,5);
  delay(1000);

}

 接收端程序

mixly程序

 arduino程序


#include <IRremote.h>

long ir_item;
IRrecv irrecv_6(6);
decode_results results_6;

void setup(){
  Serial.begin(9600);
  pinMode(13, OUTPUT);
  irrecv_6.enableIRIn();
}

void loop(){
  if (irrecv_6.decode(&results_6)) {
    ir_item=results_6.value;
    String type="UNKNOWN";
    String typelist[18]={"UNUSED", "RC5", "RC6", "NEC", "SONY", "PANASONIC", "JVC", "SAMSUNG", "WHYNTER", "AIWA_RC_T501", "LG", "SANYO", "MITSUBISHI", "DISH", "SHARP", "DENON", "PRONTO", "LEGO_PF"};
    if(results_6.decode_type>=1&&results_6.decode_type<=17){
      type=typelist[results_6.decode_type];
    }
    Serial.println("IR TYPE:"+type+"  ");
    Serial.println(ir_item,HEX);
    if (ir_item == 0xFFA25D) {
      digitalWrite(13,HIGH);

    }
    if (ir_item == 0xFF629D) {
      digitalWrite(13,LOW);

    }
    irrecv_6.resume();
  } else {
  }

}

五、效果

红外接收端的D13LED间隔1S亮灭

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值