Arduino的中文社区:https://www.arduino.cn/
\黑脸,今天烧坏一个二极管。
原因:正负极没反,没接电阻。
把自己头打烂了~
1. 所需硬件
开发板,led灯(多个),遥控器,红外接受传感器。
2. 接线:略
3. 代码
- 查看某个按键的编码
/*
红外控制LED灯的亮灭
初始化————接收————显示
2019/3/12
*/
#include<IRremote.h>
int RECV_PIN=11;
IRrecv irrecv(RECV_PIN);//IRrecv类的构造函数。可用于指定红外一体化接受头的连接引脚
decode_results results;//一个decode_results类的对象,
void setup() {
Serial.begin(9600);//初始化串口通信
irrecv.enableIRIn();//初始化红外通信
}
void loop() {
if(irrecv.decode(&results))//如果接收到编码
{
Serial.println(results.value,HEX);
irrecv.resume();//接收下一个编码
}
}
2.遥控器控制led灯的亮灭。
(由于把led烧坏,使用了板子自带的测试灯,由13号引脚控制)
/*
先用程序,看下遥控器按钮对应的内容
当收到这个内容的时候,可以控制灯的亮灭
*/
#include<IRremote.h>
int led=13;
int RECV_PIN=11;
int flag=1;
IRrecv irrecv(RECV_PIN);//IRrecv类的构造函数。可用于指定红外一体化接受头的连接引脚
decode_results results;//一个decode_results类的对象,
void setup() {
pinMode(led,OUTPUT);
Serial.begin(9600);//初始化串口通信
irrecv.enableIRIn();//初始化红外通信
}
void loop() {
if(irrecv.decode(&results))//如果接收到编码
{
Serial.println(results.value,HEX);
//if(results.value=="FF38C7")
if(results.value==0xFF38C7)
{
if(flag)
digitalWrite(led,HIGH);
else
digitalWrite(led,LOW);
flag=!flag;
//Serial.println(flag);//排错
}
irrecv.resume();//接收下一个编码
}
}
4. attention