本文最后更新于 627 天前,其中的信息可能已经有所发展或是发生改变。
- 前言
在软工导论课第一次接触到了Arduino,说实话挺好玩的啊,也不需要多少编程基础,只要脑子有想法,感觉能搞出特别多的东西
- 实验目的
初步了解Arduino编程语言和Arduino程序的执行过程,掌握红外遥控模块的使用
- 实验器材
- mini遥控器一个
- Irrecv 红外接收模块
- 红色LED灯一个
- arduino uno主板
- I/O扩展板
- USB线
- 实验现象
按下mini遥控器的任意不同的按钮,能在串口监视器中观察到不同的编码。并且按下电源键时LED灯会被点亮或者熄灭。
- 实验源代码
#include <IRremote.hpp>
#define IR_RECEIVE_PIN 10 //定义红外接受的接口
int ledPin=3; //LED -digital 3
bool ledState=HIGH; //ledState用来存储LED的状态
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
pinMode(ledPin,OUTPUT); //设置LED为输出状态
}
void loop() {
// put your main code here, to run repeatedly:
if(IrReceiver.decode()){//判断是否接收到信号
Serial.println(IrReceiver.decodedIRData.decodedRawData,HEX); //打印接收的红外信号到串口监视器
if(IrReceiver.decodedIRData.decodedRawData==0xFF00BF00){ //如果接受到的是电源键的信号,LED翻转状态
ledState=!ledState; //修改灯的状态
digitalWrite(ledPin,ledState);//更新灯的状态
}
IrReceiver.resume();
}
else{//非电源键信号,不做操作
}
}