Arduino nano 开发板:
电路连接:
【红外接收器】三个引脚,面对弧面从左往右:信号(pin 6)、GND、VCC(5v)
【LED】VCC(pin 7) 、GND
代码如下:
#include <IRremote.h>//ardui IDE 可能没有这个库文件,需要自行下载。
#include <IRremote.h>
//int RECV_PIN = 11;// remote pin 11
//IRrecv irrecv(RECV_PIN);// set remote pin 11
IRrecv irrecv(6); // remote pin 6
decode_results results;// requet remote value xxx
void setup()
{
Serial.begin(9600);
// In case the interrupt driver crashes on setup, give a clue
// to the user what's going on.
//Serial.println("Enabling IRin"); //input starting receive
irrecv.enableIRIn(); // Start the receiver
Serial.println("Enabled IRin"); //input receive done!
pinMode(7,OUTPUT); //nano board PIN 7 is led and output
}
void loop() {
if (irrecv.decode(&results)) // if receive remote
{
//Serial.println(results.value); //input receive value
if(results.value==16755285) //16755285是原HEX,遥控器的按键编码
{
digitalWrite(7,!digitalRead(7)); //star led
}
irrecv.resume(); // Receive the next value
}
delay(100);
}
修改(2018.09.18):
#include <IRremote.h>
//int ledPin = 7;
/*注意:这里不能把引脚7定义成“int ledpin = 7”与后面这个函数“digitalWrite(ledpin,!digitalRead(ledpin));”一起使用哦!*/
//int buzzer = 8;
//int RECV_PIN = 9;IRrecv irrecv(RECV_PIN);//
IRrecv irrecv(9);
decode_results results;//
void setup()
{
Serial.begin(9600);
Serial.println("Enabling IRin");
irrecv.enableIRIn(); //
Serial.println("Enabled IRin");
pinMode(7, OUTPUT);//LED
pinMode(8,OUTPUT);//buzzer
}
void loop() {
int j=0;
if (irrecv.decode(&results)) {
//Serial.println(results.value, HEX);
if(results.value)//
{
Serial.println(results.value, HEX);//
digitalWrite(7,!digitalRead(7));//
buzzer();//
}
irrecv.resume();
}
delay(100);
}
void buzzer()
{
digitalWrite(8,HIGH);
delay(100);
digitalWrite(8,LOW);
}
(2018.10.18更新)
米思齐: