http://资料链接:https://pan.baidu.com/s/1idRcrVCxQ5zWLh59EFpi9g 提取码:n8ud
默认波特率9600
串口通信,可以发送也可以接收
发送格式
二、器材
红外解码模块
红外接收模块
arduino uno*2
三、接线
| 红外接收模块 | arduino uno1 |
| VCC | 5V |
| GND | GND |
| S | D6 |
| 红外解码模块 | arduino uno2 |
| VCC | 5V |
| GND | GND |
| RX | D3 |
| TX | D2 |
这里的程序效果是红外发射端发射编码A,延时1S再发送编码B,再延时1S依次循环,
红外接收端接收红外发射端发射的编码,如果是编码A,D13灯就亮,如果是编码B,D13灯就灭
注意的是比如红外发射端要发射的值是 00 FF 45,接收端接收到的就不是00 FF 45,而是0xFFA25D,这个之间有一个对应关系,可以打印接收的值来查看
发射端程序
mixly程序
arduino程序
#includeSoftwareSerial 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五、效果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亮灭



