一起玩儿物联网人工智能小车(ESP32)——56. 利用光敏电阻实现追光小车(二)

本文介绍了如何使用光敏电阻构建追光小车,通过ESP32控制其转向和运动,利用环境检测和蓝牙通信实现远程操作。详细讲解了硬件连接、软件编程和测试环境注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要:本文介绍使用光敏电阻实现追光小车

追光小车的基本功能就是可以向着光强更强的地方行驶。在这一基本目标的指引下,是有很多种方案可以选择的。至于哪种方案更合适,则取决于你要实现什么样的追光功能。例如对于一个普通小车,可以实现跟随光源左右摆动,这是最简单的追光动作了。复杂一点儿的可以追随光源向前、向后运动。如果是麦克纳姆轮小车,那就还可以做左右移动的动作,甚至各个方向的平移都可以通过光源来控制实现。

在本文所实现的追光小车,其功能主要是可以在光的指引下向左行驶、向右行驶或者执行,当指引光线消失的时候,小车停止运行。先看一下光敏电阻传感器的安装方法,如下图所示:

下面来看一下追光小车的具体接线方法:

模块

引脚

连接对象

L298N模块

IN1

ESP32的P18

IN2

ESP32的P23

IN3

ESP32的P32

IN4

ESP32的P33

OUT1、OUT2

右前轮TT电动机

OUT3、OUT4

左前轮TT电动机

+12V

电池的正极

GND

电池的负极和ESP32的GND(分别连接)

+5V

ESP32的+5V(开发时不需要连接,运行时连接)

左一光敏电阻模块

AO输出

ESP32的P34

VCC

ESP32的+3.3V

GND

ESP32的GND

左二光敏电阻模块

AO输出

ESP32的P35

VCC

ESP32的+3.3V

GND

ESP32的GND

右一光敏电阻模块

AO输出

ESP32的P15

VCC

ESP32的+3.3V

GND

ESP32的GND

右二光敏电阻模块

AO输出

ESP32的P25

VCC

ESP32的+3.3V

GND

ESP32的GND

在这里需要提醒的是,四个光敏电阻使用的电源电压为3.3V,这样AO输出的电压才不会超过3.3V。ESP32扩展板上面有个5V和3V3的跳线,可以将那两排排针的电压通过跳线设置成3.3V,在开发这个实验的时候,需要改变一下跳线的位置。

根据前面光敏电阻模块的安装布局,追光小车的实现的功能大致如下:

  1. 借用之前循迹小车实现的Car类,在这里就不进一步的解释了,直接拿过来用就可以了。
  2. 实现一个环境检测功能,让小车可以原地转动一定的角度,并且多次进行数据的采样,然后计算出采样数据的平均值,作为光敏模块的初值。

在这里提醒一下,光敏电阻模块对光的反馈还是很灵敏的,因此测试环境一方面是不能太亮,不能是太阳直射的地方,另一方面是光要比较均匀,小车放置在地上,不能有明显的影子。

  1. 根据实时采集的光敏电阻数值的变化量,来判断小车该往哪个方向行走。
  2. 利用ESP32的蓝牙功能,实现远程调试,并且可以通过远程发送命令来控制小车。

下面就来分段看一下追光小车的实现方法。首先还是定义一系列的常量,其中包括光敏电阻模块所使用的引脚,光敏电阻的数量,光强测试的间隔以及次数等。如下所示:

// 光敏电阻GPIO

#define PHOTORESISTER_LEFT_1 34

#define PHOTORESISTER_LEFT_2 35

#define PHOTORESISTER_RIGHT_1 15

#define PHOTORESISTER_RIGHT_2 25

// GPIO config end

#define PHOTORESISTER_NUMBERS 4

#define TEST_TIME_INTERVAL 200  //测试时间间隔

#define TEST_TIMES 40           //测试次数

接下来就是实现几个全局变量了。具体使用的全局变量如下所示:

// 全局常量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起玩儿科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值