1. Home
  2. Docs
  3. 磁力电子学电路实验套件编程版(实验指南)
  4. 三、电路实验
  5. 3.13 红外遥控控制LED灯

3.13 红外遥控控制LED灯

实验名称: 红外遥控控制LED灯
实验难度: ★★★★★
实验简述: 上一个实验中我们掌握了读取红外遥控键码信号的方法,本实验中我们将对读取到的键码进行处理并用于控制LED灯的亮灭。
实验过程: 拼接电路并连接好数据线,启动Buddy++,点击上方菜单栏右侧的“预设置”按钮,选择对应版型“Arduino Nano w / ATmega328”和当前连接的串口序号。

按照实验电路图连接好积木模块,在Buddy++中打开“Example-13.ino”源码文件。

确认无误后点击菜单栏中的“烧录”按钮,程序完成编译后将自动烧录到开发板当中,操作无误后程序将开始执行。

默认情况下LED灯处于熄灭状态,当我们使用套件配套的红外遥控器对接收器按下1号按键时LED灯被点亮,当按下2号按键时LED灯将熄灭。

实验电路:  
程序代码:Example-13.ino
	
#include <IRremote.h>  
	  
int RECV_PIN = 5;  
	  
IRrecv irrecv(RECV_PIN);  
	  
decode_results results;
	  
void setup()  
{  
	Serial.begin(9600);  
	    
	irrecv.enableIRIn(); // Start the receiver  
	      
	pinMode(9, OUTPUT);  
	pinMode(3, OUTPUT);  
	      
}  
  
void loop()   
{  
	if (irrecv.decode(&results))   
	{  
		Serial.println(results.value);  
	      
		irrecv.resume();  
		// Receive the next value  
	          
	if(results.value == 16724175)  
	{  
		digitalWrite(9, HIGH);  
	}  
	else if(results.value == 16718055)  
	{  
		digitalWrite(9, LOW);  
	}  
}  
    delay(100);  
}  

 

重要提示: 红外信号容易受到外部干扰,实验过程中偶尔会出现键码错判或读取不出键码的情况,开发者需要耐心调试排除可能的干扰源和代码逻辑错误。

图  实验电路实拍