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(); // 接收下一个编码 } } |
分类:
Arduino学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律