esp32红外线控制led灯的开关
今天学习了一个红外线模块,红外线的按键都被定义为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灯的开关相关推荐
- Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关
Arduino-Mixly-超声波测距仪-实现距离控制LED灯的开关 Arduino:个人理解那块电板就叫arduino,本质上它是一块单片机(功能不怎么强大的计算机),具备了接受信息处理信息的能力, ...
- TP-LINK 720N刷了OpenWRT后LED灯定时开关
TP-LINK 720N刷了OpenWRT后LED灯定时开关 参考链接:https://blog.wangmao.me/openwrt-timing-off-led-lights.html 因为家里有 ...
- 怎么控制LED灯的开关呢?最简单的方法是给它加一个开关
怎么控制LED灯的开关呢?最简单的方法是给它加一个开关,然后串联一个电阻,闭合开关,LED灯就会亮,断开开关,LED灯就会熄灭,但这种方法的缺陷是得需要人为的参与. 如果频率很快,比如一秒钟开关100 ...
- 第八章 ESP32驱动LED灯
关注嘉友创科技公众号 源码地址:https://github.com/HX-IoT/ESP32-Developer-Guide ESP32开发指南QQ群:824870185,内有pdf版,排版整洁. ...
- 手机蓝牙控制51单片机实现对led灯的开关
根据蓝牙模块通过手机蓝牙实现对51单片机led灯的控制. 1.器材 2.连线说明 3.源码 4.操作过程 5.成果展示 1.器材 51单片机,本人选用的为亚博的51单片机,不同的单片机在引脚的定义上有 ...
- Arduino lED灯与开关控制学习
Arduino LED灯随机亮起过程 LED广告灯类型 LDE广告灯绘图 Mixly模块代码 Arduino代码 LED灯与触碰开关使用 LED灯与触碰开关绘图 Mixly模块代码 Arduino代码 ...
- STM32按钮控制LED灯的开关
Hi, I'm Shendi 在之前已经可以控制 PC13 LED灯了,这次加上按钮来控制 首先上效果 STM32按钮控制LED 我使用的是四脚按钮,默认引脚弯折相同的相通,不同不同,按下后四脚都通 ...
- 设置vmware vsphere web client_Arduino+前端高级应用-通过WEB网页控制Arduino开发板上的LED灯...
在本教程中,让我们继续学习如何控制GPIO 引脚,不过这次进入高级阶段,我们将从一个可以访问的WEB网页中开关led灯.超详细代码解读,前端工程师也可以轻松玩起嵌入式.听起来是不很酷,Let's go ...
- linux驱动:二、LED灯驱动编写
一.地址映射 在正式编写驱动前需要先简单了解一下 MMU 这个神器,MMU 全称叫做 Memory Manage Unit,也就是内存管理单元.在老版本的 Linux 中要求处理器必须有 MMU,但是 ...
最新文章
- The j.u.c Synchronizer Framework翻译(三)使用、性能与总结
- 浅谈对敏捷开发的初期理解
- ZooKeeper 基本介绍
- hibernate select 读取结果集的两种办法
- C/S与B/S架构的区别和优缺点
- poi excel 隐藏标识_纳尼?Excel竟然自带项目管理模板
- python alpha beta_python – 使用alphabeta TicTacToe找到最佳移动
- 【蓝桥杯Java_C组·从零开始卷】第四节(附)、字符串常用函数
- idea中java文件怎么运行_Java入门基础篇-如何在Java中创建只读文件
- Student学生管理系统
- 最大公约数及最小公倍数计算
- 翻译的艺术 —— 名著的翻译
- 小日历实验目的Android,Android实验报告22个.doc
- ai决策_基于经验的决策与基于事实的决策:AI / ML如何改变工程师的工作方式
- 单应性矩阵的理解及求解
- 126邮箱手机登录服务器密码怎么办,魅族手机登录网易126邮箱提示账号密码或协议设置不正确解决办法...
- <论文阅读> M2BEV Multi-Camera Joint 3D Detection and Segmentation with Unified Bird’s-Eye View Represen
- ORACLE SQL 优化的若干方法详细
- 移动端以及 PC浏览器页面分享到朋友圈等的功能实现
- python openpyxl创建excel文件,自己选择excel保存的位置
热门文章
- 大专简单的2年程序人生
- 全球第一经典语录,被500万人疯狂转载!
- 接触监控步入监控工程师行业
- 2022年危险化学品经营单位主要负责人考试题及在线模拟考试
- 基于ofbiz的适合中国工厂的大型制造业erp产品
- .net连接SAP返回Table 整理
- mysql 事件id_SQLSERVERAGENT警告:事件 ID: 312_MySQL
- C# System.ComponentModel.Composition中的Export和Import特性标签的简单使用。
- 配置 Busybox
- 大富翁Deal 维基百科 规则