# 智能小车
**Repository Path**: hack_1/smart-car
## Basic Information
- **Project Name**: 智能小车
- **Description**: 一个可以用 远程,本地,遥控器 控制 前进/后退/左转/右转 的小车,它还可以检测障碍,自动转向。
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-01-23
- **Last Updated**: 2025-03-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 智能小车
#### 介绍
[相关资料地址](https://www.yuque.com/bingxueqingyuan-fs5mp/nl53ax/mxcv96mh94g60kwk?singleDoc# )

智能小车,实现了远程控制,红外遥控器控制,还有本地的WebServer的控制,还有自动检测距离自动避障。
## 材料清单
| 名称 | 数量 | 价格(元,大约) |
| ---------------------------------------- | ---- | -------------- |
| ESP8266 | 1 | 10~12 |
| L298N | 1 | 7~8 |
| 智能小车底盘(包含电池盒+4个电机+4个车轮) | 1 | 25~28 |
| HY-SRF05超声波(可选) | 1 | 3~4 |
| 红外遥控器(可选) | 1 | 2~3 |
| ov7670摄像头(可选) | 1 | 5~6 |
| 杜邦线 | 1 | 1~2 |
#### 软件架构
本地使用 WebServer 来控制.
远程控制使用的是[点灯科技的库](https://diandeng.tech/doc/getting-start-arduino)与APP。
[点灯设备端开发与SDK(Arduino支持)](https://diandeng.tech/doc/arduino-support)
自动避障 使用的是 HY-SRF05超声波,检测到小于多少距离的时候,就变换方向。(哈哈哈,价值千万的自动驾驶代码)
红外遥控器用的是 21-key IR Controller.
**ESP8266 与 L298N 线路连接示意图**
* VCC +12V 引脚,为电机供电电源。输入电压可以在5~35V之间。请记住,如果 5V-EN 跳线已就位,则需要提供比电机实际电压要求多 2 伏的电压,以便获得电机的最大速度。
* GND 引脚,公共接地引脚。
* 5V 引脚,为L298N IC内部电路供电。
* ENA/B 引脚,用于控制电机A的速度,将此引脚拉至高电平(保持跳线到位)将使电机A/B旋转,将其拉低会使电机停止。卸下跳线帽并将此引脚连接到PWM输入将使我们能够控制电机A/B的速度。如果5V - EN A,5V - EN B 跳线帽接上了,则EN A, EN B的电压始终为5V,意味着供给电机的电压始终为最大值。因此,如果我们不需要控制电机转速,就可以将这两个跳线帽接上,就可以省两根控制信号线。
**ESP8266相关GPIO口的图**
**方向示意图**

正常情况4个轮子向前或向后就完成前进和后退。(具体参考代码)

小车想要转向,用两侧轮子的差速转动来实现车身整体的转动,上图为右转的示意图,左转同理。(具体参考代码)
顺时针:高(HIGH),低(LOW);逆时针:低(LOW),高(HIGH)。
假设 马达正转顺时针表示前进,IN1与IN2对应左边的马达,IN3与IN4对应右边,如列表:
| 方向 | IN1 | IN2 | IN3 | IN4 |
| ---- | -------- | ---------------- | -------- | ---------------- |
| 前进 | 高(HIGH) | 低(LOW) | 高(HIGH) | 低(LOW) |
| 后退 | 低(LOW) | 高(HIGH) | 低(LOW) | 高(HIGH) |
| 停止 | 低(LOW) | 低(LOW) | 低(LOW) | 低(LOW) |
| 左转 | 低(LOW) | 高(HIGH)/低(LOW) | 高(HIGH) | 低(LOW) |
| 右转 | 高(HIGH) | 低(LOW) | 低(LOW) | 高(HIGH)/低(LOW) |
左右都是正转 就是前进,反转就是后退。要转向的时候,左边 与 右边 就是 相反的。
## 超声波模块
[Arduino 使用NewPin的库(里面封装了很多超声波模块).](https://blog.csdn.net/zzjnlwb/article/details/136996313)
| UNO | HY-SRF05 |
| ----- | -------- |
| D2(4) | Echo |
| D1(5) | Trig |
[Arduino 測距系列 (二) HY-SRF-05](https://arduino169.blogspot.com/2015/03/arduino-srf-05.html)
[【最详细】HC-SR04超声波传感器如何工作并与Arduino连接使用,保姆级教程,附加代码讲解和详细步骤学习_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV19yW8eZErS/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=9767ca4dcfc16447763e8c410e1ce45d)
## 红外遥控器
[相关文档](https://blog.csdn.net/acktomas/article/details/139955566)
## 电池
一般的电池可能不够用,可以使用航模电池,怕电池不够的,换成两个电机+其它的车底。

一般航模电池的插头 都是T插或TX60插头。平衡充必有明显的正负极标识,红线为正级,黑线为负极。黑线可能有多根,一定要用最外边的那跟(绝不可用中间的,会导致电池仅部分使用,锂电内部都是多接串联的)。最后要注意,黑线可先插好,红线一定要等最后,你所用的接线都检查完毕,确认无误后再插!
# 参考资料
[L298N - 米克网](https://docs.mekesim.com/esp32/l298n/)