Arduino入门实践之红外遥控模块

参考文档:http://www.taichi-maker.com/homepage/reference-index/arduino-library-index/irremote-library/

参考文档:https://www.arduino.cn/thread-3259-1-1.html

先获得按键编码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <IRremote.h>
 
int RECV_PIN = 11; // 红外一体化接收头连接到Arduino 11号引脚
 
IRrecv irrecv(RECV_PIN);//声明一个IRrecv类型的对象,并接到RECV_PIN
 
decode_results results; // 用于存储编码结果的对象
 
void setup()
{
  Serial.begin(9600); // 初始化串口通信
  irrecv.enableIRIn(); // 初始化红外解码
}
 
void loop()<br> {
  if (irrecv.decode(&results))<br>   {
    Serial.println(results.value, HEX);
    irrecv.resume(); // 接收下一个编码
  }
}

 接下来使用红外遥控来控制led灯的暗亮

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <IRremote.h>
 
int RECV_PIN = 11; // 红外一体化接收头连接到Arduino 11号引脚
int LEDpin = 13; //定义LED输出引脚
IRrecv irrecv(RECV_PIN);
 
decode_results results; // 用于存储编码结果的对象
 
void setup()
{
  pinMode(LEDpin,OUTPUT);
  irrecv.enableIRIn(); // 初始化红外解码
}
 
void loop() {
   if (irrecv.decode(&results))
  {
    Serial.println( results.value);
    if( results.value == 0xFFA25D) //若接收到按键ON按下的指令,打开LED
    {
      digitalWrite(LEDpin,HIGH);
    }
    else if(results.value == 0xFFE21D) //接收到OFF按键按下的命令,关闭LED
    {
      digitalWrite(LEDpin,LOW);
    }
    irrecv.resume(); // 接收下一个编码
   }
}

  

posted @   楸壳  阅读(855)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示