今天学习了一个红外线模块,红外线的按键都被定义为16进制的值,用这个值进行if分支语句执行,今天有好多不明白的,应该学学C语言,但是大家都说挺难的,但是不学C的写法,就不能改代码,尤其这个IDE编码时只是简单的报个错,错误在哪产生的不能直观的知道.
急需解决的问题
1 IRremote是什么
2 irrecv是个什么类
3 为什么要用results来接收值

#include <IRremote.h>  //头文件
const int irReceiverPin =17; //红外遥控接收头控制管脚GP17
const int led1Pin = 13;       //板载LED灯管脚GP13
const int led2Pin =25;           //设置2号led灯的控制引脚为25号
const int led3Pin = 26;          //设置3号led灯的控制引脚为26号
IRrecv irrecv(irReceiverPin); //创建一个IRrecv类型的变量
decode_results results;       //导入results方法接收遥控器输入值
void setup()
{Serial.begin(9600);       //初始化串行pinMode(led1Pin,OUTPUT);   //设置led1Pin为OUTPUTpinMode(led2Pin, OUTPUT);  //设置led1Pin为OUTPUTpinMode(led3Pin, OUTPUT);  //设置led1Pin为OUTPUTirrecv.enableIRIn();       //启用红外接收模块
}
void loop()
{if (irrecv.decode(&results))          //如果红外接收模块接收数据{ Serial.print("irCode: ");          //输出打印文本"irCode: " Serial.print(results.value, HEX);  //按照16进制输出打印resules的值(接收到遥控器按键的值)Serial.print(", bits: ");          //输出打印文本" , bits: " Serial.println(results.bits);      //输出打印resules的 bitsirrecv.resume();                   //清空恢复irrecv函数接收下一个值(这里应该叫停止接收红外线值更合适,要不值会一遍一遍的不停接收)Serial.print(results.value, HEX);  //测irrecv中是否还有值(测试结果还是有上次的值)} delay(600); //delay 600msif(results.value == 0xFF6897)  //如果接收模块接收到 0xFF6897{digitalWrite(led1Pin,HIGH);  //打开led灯}else if(results.value == 0xFF18E7)  //如果接收模块接收到 0xFF18E7{digitalWrite(led2Pin,HIGH);  //打开led灯}else if(results.value == 0xFF7A85)  //如果接收模块接收到 0xFF7A85{digitalWrite(led3Pin,HIGH);  //打开led灯}else{digitalWrite(led1Pin,LOW);   //关掉led灯digitalWrite(led2Pin,LOW);   //关掉led灯digitalWrite(led3Pin,LOW);   //关掉led灯}
}

esp32红外线控制led灯的开关相关推荐

  1. Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关

    Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关 Arduino:个人理解那块电板就叫arduino,本质上它是一块单片机(功能不怎么强大的计算机),具备了接受信息处理信息的能力, ...

  2. TP-LINK 720N刷了OpenWRT后LED灯定时开关

    TP-LINK 720N刷了OpenWRT后LED灯定时开关 参考链接:https://blog.wangmao.me/openwrt-timing-off-led-lights.html 因为家里有 ...

  3. 怎么控制LED灯的开关呢?最简单的方法是给它加一个开关

    怎么控制LED灯的开关呢?最简单的方法是给它加一个开关,然后串联一个电阻,闭合开关,LED灯就会亮,断开开关,LED灯就会熄灭,但这种方法的缺陷是得需要人为的参与. 如果频率很快,比如一秒钟开关100 ...

  4. 第八章 ESP32驱动LED灯

    关注嘉友创科技公众号 源码地址:https://github.com/HX-IoT/ESP32-Developer-Guide ESP32开发指南QQ群:824870185,内有pdf版,排版整洁. ...

  5. 手机蓝牙控制51单片机实现对led灯的开关

    根据蓝牙模块通过手机蓝牙实现对51单片机led灯的控制. 1.器材 2.连线说明 3.源码 4.操作过程 5.成果展示 1.器材 51单片机,本人选用的为亚博的51单片机,不同的单片机在引脚的定义上有 ...

  6. Arduino lED灯与开关控制学习

    Arduino LED灯随机亮起过程 LED广告灯类型 LDE广告灯绘图 Mixly模块代码 Arduino代码 LED灯与触碰开关使用 LED灯与触碰开关绘图 Mixly模块代码 Arduino代码 ...

  7. STM32按钮控制LED灯的开关

    Hi, I'm Shendi 在之前已经可以控制 PC13 LED灯了,这次加上按钮来控制 首先上效果 STM32按钮控制LED 我使用的是四脚按钮,默认引脚弯折相同的相通,不同不同,按下后四脚都通 ...

  8. 设置vmware vsphere web client_Arduino+前端高级应用-通过WEB网页控制Arduino开发板上的LED灯...

    在本教程中,让我们继续学习如何控制GPIO 引脚,不过这次进入高级阶段,我们将从一个可以访问的WEB网页中开关led灯.超详细代码解读,前端工程师也可以轻松玩起嵌入式.听起来是不很酷,Let's go ...

  9. linux驱动:二、LED灯驱动编写

    一.地址映射 在正式编写驱动前需要先简单了解一下 MMU 这个神器,MMU 全称叫做 Memory Manage Unit,也就是内存管理单元.在老版本的 Linux 中要求处理器必须有 MMU,但是 ...

最新文章

  1. The j.u.c Synchronizer Framework翻译(三)使用、性能与总结
  2. 浅谈对敏捷开发的初期理解
  3. ZooKeeper 基本介绍
  4. hibernate select 读取结果集的两种办法
  5. C/S与B/S架构的区别和优缺点
  6. poi excel 隐藏标识_纳尼?Excel竟然自带项目管理模板
  7. python alpha beta_python – 使用alphabeta TicTacToe找到最佳移动
  8. 【蓝桥杯Java_C组·从零开始卷】第四节(附)、字符串常用函数
  9. idea中java文件怎么运行_Java入门基础篇-如何在Java中创建只读文件
  10. Student学生管理系统
  11. 最大公约数及最小公倍数计算
  12. 翻译的艺术 —— 名著的翻译
  13. 小日历实验目的Android,Android实验报告22个.doc
  14. ai决策_基于经验的决策与基于事实的决策:AI / ML如何改变工程师的工作方式
  15. 单应性矩阵的理解及求解
  16. 126邮箱手机登录服务器密码怎么办,魅族手机登录网易126邮箱提示账号密码或协议设置不正确解决办法...
  17. <论文阅读> M2BEV Multi-Camera Joint 3D Detection and Segmentation with Unified Bird’s-Eye View Represen
  18. ORACLE SQL 优化的若干方法详细
  19. 移动端以及 PC浏览器页面分享到朋友圈等的功能实现
  20. python openpyxl创建excel文件,自己选择excel保存的位置

热门文章

  1. 大专简单的2年程序人生
  2. 全球第一经典语录,被500万人疯狂转载!
  3. 接触监控步入监控工程师行业
  4. 2022年危险化学品经营单位主要负责人考试题及在线模拟考试
  5. 基于ofbiz的适合中国工厂的大型制造业erp产品
  6. .net连接SAP返回Table 整理
  7. mysql 事件id_SQLSERVERAGENT警告:事件 ID: 312_MySQL
  8. C# System.ComponentModel.Composition中的Export和Import特性标签的简单使用。
  9. 配置 Busybox
  10. 大富翁Deal 维基百科 规则