224浏览
查看: 224|回复: 5

[项目] 【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管

[复制链接]
【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管图1

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管图2

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管图3

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 16:51:19

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管

红外对管模块是一种常用于检测物体存在与否的传感器模块,广泛应用于机器人避障、循迹小车、物体计数等场景。以下是红外对管模块的主要特点和使用方法:

1、红外对管模块的特点
组成: 红外对管模块由一个红外发射管和一个红外接收管组成。发射管发射红外光,接收管接收反射回来的红外光。
工作原理: 当发射的红外光遇到障碍物时,会反射回来并被接收管接收。接收管将信号传递给处理电路,输出高低电平信号。
调节灵敏度: 模块通常带有一个电位器,可以调节检测距离和灵敏度。
输出信号: 模块输出数字信号(高电平或低电平),可以直接连接到单片机或开发板的GPIO口。

2、应用场景
机器人避障: 检测前方是否有障碍物,控制机器人避开障碍。
循迹小车: 检测黑白线,实现小车沿特定轨迹行驶。
物体计数: 在流水线上检测物体通过的数量。
安防系统: 检测是否有物体进入特定区域。

3、使用方法
连接电路: 将模块的VCC引脚连接到电源(3.3V或5V),GND引脚连接到地,OUT引脚连接到单片机或开发板的数字输入引脚。
调节灵敏度: 通过旋转电位器调节检测距离和灵敏度。
读取信号: 使用代码读取OUT引脚的高低电平信号,判断是否有物体存在。

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管图1

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 17:09:47

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管

  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
   实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
   OV2640/5640摄像头模组
  {花雕动手做}项目之二十八:ESP32-S3 CAM使用红外线对管模块控制LED灯

实验开源代码

  1. /*
  2.   【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  3.    实验二百三十二:ESP32-S3 WROOM N16R8 CAM开发板WiFi+蓝牙模块
  4.    OV2640/5640摄像头模组
  5.   {花雕动手做}项目之二十八:ESP32-S3 CAM使用红外线对管模块控制LED灯
  6. */
  7. #define PIN_IR_SENSOR 1  // 红外对管模块的输出引脚
  8. #define PIN_LED 2        // LED连接到数字引脚D2
  9. void setup() {
  10.   Serial.begin(115200);  // 初始化串口通信,波特率为115200
  11.   pinMode(PIN_IR_SENSOR, INPUT);  // 设置红外对管模块引脚为输入模式
  12.   pinMode(PIN_LED, OUTPUT);       // 设置LED引脚为输出模式
  13.   Serial.println("红外线对管模块准备就绪!");
  14. }
  15. void loop() {
  16.   int sensorVal = digitalRead(PIN_IR_SENSOR);  // 读取红外对管模块的输出信号
  17.   if (sensorVal == LOW) {
  18.     digitalWrite(PIN_LED, LOW);  // 点亮LED
  19.     Serial.println("检测到物体!");
  20.   } else {
  21.     digitalWrite(PIN_LED, HIGH);   // 关闭LED
  22.     Serial.println("未检测到物体。");
  23.   }
  24.   delay(500);  // 延迟500毫秒
  25. }
复制代码


回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 17:20:06

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管

程序要点:
1、定义引脚和常量

  1. #define PIN_IR_SENSOR 1  // 红外对管模块的输出引脚
  2. #define PIN_LED 2        // LED连接到数字引脚D2
复制代码


PIN_IR_SENSOR: 定义红外对管模块的输出引脚。
PIN_LED: 定义LED连接的引脚。

2、初始化设置

  1. void setup() {
  2.   Serial.begin(115200);  // 初始化串口通信,波特率为115200
  3.   pinMode(PIN_IR_SENSOR, INPUT);  // 设置红外对管模块引脚为输入模式
  4.   pinMode(PIN_LED, OUTPUT);       // 设置LED引脚为输出模式
  5. }
复制代码


Serial.begin(115200): 初始化串口通信,波特率为115200。
pinMode(PIN_IR_SENSOR, INPUT): 将红外对管模块引脚设置为输入模式。
pinMode(PIN_LED, OUTPUT): 将LED引脚设置为输出模式。

3、主循环

  1. void loop() {
  2.   int sensorVal = digitalRead(PIN_IR_SENSOR);  // 读取红外对管模块的输出信号
复制代码

digitalRead(PIN_IR_SENSOR): 读取红外对管模块的输出信号,判断是否检测到物体。

4、控制LED

  1. if (sensorVal == LOW) {
  2.     digitalWrite(PIN_LED, HIGH);  // 点亮LED
  3.     Serial.println("检测到物体!");
  4.   } else {
  5.     digitalWrite(PIN_LED, LOW);   // 关闭LED
  6.     Serial.println("未检测到物体。");
  7.   }
复制代码


if (sensorVal == LOW): 检查红外对管模块是否检测到物体(低电平)。
digitalWrite(PIN_LED, HIGH): 如果检测到物体,点亮LED。
Serial.println(“检测到物体!”): 输出检测结果到串口。
else: 如果未检测到物体。
digitalWrite(PIN_LED, LOW): 关闭LED。
Serial.println(“未检测到物体。”): 输出检测结果到串口。

5、延迟和循环

  1. delay(500);  // 延迟500毫秒
  2. }
复制代码


delay(500): 延迟500毫秒,避免过于频繁的检测和输出。

总结
这段代码通过红外对管模块检测物体的存在,并根据检测结果控制LED的亮灭,同时将检测结果输出到串口。

回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 17:21:48

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管

实验串口返回情况

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管图1
回复

使用道具 举报

驴友花雕  中级技神
 楼主|

发表于 2024-9-30 17:24:13

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管

实验场景图

【花雕学编程】Arduino动手做(232)---ESP32S3-CAM 红外对管图1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail