当前位置: 首页 > news >正文

ESP32-S3 控制 红外遥控

ESP32-S3 控制红外遥控实验

红外遥控器是日常生活中常见的控制设备,广泛应用于家电、智能小车和机器人等项目中。本文介绍如何用 ESP32-S3 接收红外遥控器信号,并在串口打印对应的控制码。


一、实验名称

红外遥控实验


二、接线说明

红外接收模块 ESP32-S3开发板
IR 10
VCC 3.3V 或 5V
GND GND

注意事项

  1. 红外接收模块可以使用 3.3V 或 5V 电源,具体参考模块规格。
  2. 安装红外库:IRremoteESP8266-master.zip,方法:项目 → 导入库 → 添加 .ZIP 库

三、实验现象

程序下载成功后,打开串口监视器,按下遥控器按键,串口会输出对应的红外编码(十六进制数)。
每个按键都有唯一编码,可以用于智能家居控制或小车控制。


四、完整代码示例

#include "public.h"
#include <IRremoteESP8266.h>
#include <IRrecv.h>
#include <IRutils.h>// 红外接收引脚
#define kRecvPin  10// 创建红外接收对象
IRrecv irrecv(kRecvPin);
decode_results results;void setup() {Serial.begin(115200);   // 初始化串口irrecv.enableIRIn();    // 启动红外接收
}void loop() {if (irrecv.decode(&results)) {// 打印红外码(十六进制)serialPrintUint64(results.value, HEX);Serial.println("");irrecv.resume();  // 接收下一个值}delay(100);
}

五、代码讲解

  1. 引脚定义
#define kRecvPin 10
  • IR:红外接收模块的数据引脚,接 ESP32 的 GPIO10。
  1. 创建红外接收对象
IRrecv irrecv(kRecvPin);
decode_results results;
  • irrecv:红外接收器对象,用于接收遥控器信号。
  • results:存储接收到的红外信号数据。
  1. 初始化串口和红外接收
Serial.begin(115200);
irrecv.enableIRIn();
  • 初始化串口,用于输出控制码。
  • 启动红外接收功能。
  1. 读取红外信号并打印
if (irrecv.decode(&results)) {serialPrintUint64(results.value, HEX);Serial.println("");irrecv.resume();
}
  • 判断是否接收到信号。
  • serialPrintUint64:将遥控器信号以十六进制输出。
  • irrecv.resume():准备接收下一个信号。
  1. 延时
    delay(100):防止串口输出过快。

六、实验效果

  1. 打开串口监视器,波特率设置为 115200。
  2. 按下遥控器按键,串口显示类似:
1FE48B7
1FE58A7
1FE7887
  1. 不同按键输出不同编码,可用于控制 LED、小车或其他外设。

七、进阶扩展

  1. 控制 LED 灯
    根据按键编码控制不同颜色或闪烁模式的 LED。

  2. 小车遥控
    使用遥控器实现前进、后退、左转、右转控制。

  3. 智能家居
    红外控制家电,如风扇、电视,实现远程控制功能。


八、总结

通过本实验,学习了:

  • ESP32-S3 接收红外信号的方法
  • 使用 IRremoteESP8266 库简化信号解析
  • 串口输出红外编码,用于其他控制逻辑

本实验是 智能家居、机器人遥控 项目的基础,结合其他传感器和外设可以实现丰富的功能。

http://www.sczhlp.com/news/13161/

相关文章:

  • ESP32-S3 控制 舵机
  • 代码随想录算法训练营第八天(字符串篇)|Leetcode151翻转字符串中的单词,卡码网右旋转字符串,Leetcode28实现Strstr(),Leetcode459重复的子字符串
  • 数论专题-欧拉定理与费马小定理
  • ESP32-S3 控制 OLED液晶显示
  • Arduino PWM 引与 Atmega 引脚对应关系
  • ESP32-S3 控制 超声波测距
  • 无痕检测是否注册iMessage服务,iMessages数据筛选,iMessage蓝号检测协议
  • 电脑win10-菜单栏-搜索栏-鼠标一放入输入框中或者点进二级菜单中就会反复失效-bldbaseservice
  • ESP32-S3 控制 DHT11温湿度传感器
  • ESP32-S3 控制 RTC实时时钟
  • 前端Vite介绍(现代化前端构建工具,由尤雨溪创建,旨在显著提升开发体验和构建效率)ES模块(ESM)、与传统Webpack对比、Rollup打包
  • 8.16
  • ESP32-S3 控制 DS18B20温度传感器
  • Uniapp 之使用renderjs实现APP中腾讯地图搜索定位选点
  • [论文笔记] Indirection-bounded Callgraph Analysis
  • c语言矩阵的倒置
  • ESP32-S3 控制 WS2812 RGB 彩灯
  • 一步一步学习使用LiveBindings(15)TListView进阶使用(3),创建自定义的列表项打造天气预报程序
  • ESP32-S3 控制 ADC
  • ad-hoc 合集
  • ESP32-S3 控制 RGB彩灯
  • 导航页 - zlay
  • c语言寻找马鞍点
  • ESP32-S3 控制 串口通信
  • 数论专题-最大公约数
  • ESP32-S3 控制 PWM呼吸灯
  • AI去、穿、换装软件下载,无内容限制,偷偷收藏
  • python中的reduce函数 - 实践
  • 在Android APK中嵌入Meterpreter的技术解析
  • JVM知识点v1.0 - Charon