赞
踩
Esp32开发板 L298N电机驱动 小车底板材料
电脑(需要烧录代码到开发板中) 杜邦线若干(没有的话也可以用普通电线代替,只是用来导电有接口,没有什么特殊性) 手机端Bluetooth Electronics app(去浏览器下载即可)
这里笔者用的是ardino开发环境,这也是物联网中用的比较多的一个开发环境,当然对于一个新手小白来说光搭建环境就有些困难,因为不少人无法下载到对应的开发板,这里展开详细的介绍,也会对刚入门的学者有一些帮助。(实则有效哦,不需要梯子也照样可以)
https://www.arduino.cc/en/software
目前已经更新到了2.3.0版本了 喜欢老版本的可以下载老版本,这个没有影响
找到对应的版本下载即可,这个没有什么问题就是普通的下载软件
首先需要直接打开安装包进行安装即可,注意安装路径,尽量放在D盘,安装完之后打开软件
当然常规的步骤就是先在文件-首选项中添加网址https://dl.espressif.com/dl/package_esp32_index.json https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
然后找到工具-开发板-开发板管理器
然后打开下载就可以了
当然,一般人可能无法下载成功,会出现以下报错
网上好多博主说,下载旧的版本就可以解决,但是笔者尝试了多次,貌似没什么效果,可能是因为外网的缘故,挂梯子就可以下载了 当然大部分人不会,可以用以下方法(亲测有效)
下载完成后直接打开就可以了,ardino需要退出后重新进入,即可看到所要的开发板(如果采用直接下载文件的话,位置可能无法正确放置,这样最方便快捷)
当然,如果没有对应芯片的驱动,还是无法识别端口的,win11电脑的端口有些被自动隐藏了,就是这样
这时候只要选择显示隐藏设备即可
现在就可以看到端口了
当然,如果没有对应芯片驱动的话,是不会有显示的,有些电脑会自动识别下载,如果不能,需要去对应芯片官网,下载芯片驱动,安装即可,一定要去官网下载,避免被骗!
完成以上全部步骤,我们就算完成了第一步,入门,接下来我们可以尝试第一个点灯程序,如果开发板蓝色灯闪烁,则成功配置
以下是点灯代码
- // 引入Arduino核心库
- #include <Arduino.h>
-
- // 定义LED引脚
- #define LED_PIN 2
-
- void setup() {
- // 将LED引脚设置为输出模式
- pinMode(LED_PIN, OUTPUT);
- }
-
- void loop() {
- // 点亮LED
- digitalWrite(LED_PIN, HIGH);
- delay(1000); // 延迟1秒
-
- // 关闭LED
- digitalWrite(LED_PIN, LOW);
- delay(1000); // 延迟1秒
- }

看到蓝灯亮起,就代表我们环境搭建已经完成了!
如果用杜邦线的话,接线起来会方便很多,还有就是esp32开发板是不允许两个电源同时供电的,现在还未烧录代码,所以,我们暂时没有给开发板供电,后续装好,如果电压小于3v接3v3和GND引脚,如果大于3v则接vin和GND引脚,切记不能接错,不然很容易会烧坏开发板,
至于轮子什么组装的,可以去b站搜视频看看,都是比较简单的。
这里直接给出源代码了:
- #include <BluetoothSerial.h>
-
- // 定义引脚
- #define ENA 13
- #define IN1 12
- #define IN2 14
- #define ENB 27
- #define IN3 26
- #define IN4 25
-
- BluetoothSerial SerialBT;
-
- void setup() {
- // 初始化串口
- Serial.begin(115200);
- SerialBT.begin("ESP32_BT"); // 设置蓝牙名称
-
- // 设置引脚模式
- pinMode(ENA, OUTPUT);
- pinMode(IN1, OUTPUT);
- pinMode(IN2, OUTPUT);
- pinMode(ENB, OUTPUT);
- pinMode(IN3, OUTPUT);
- pinMode(IN4, OUTPUT);
- }
-
- void loop() {
- if (SerialBT.available()) {
- // 读取蓝牙模块发送的数据
- char command = SerialBT.read();
-
- // 根据接收到的指令控制电机
- switch (command) {
- case 'F': // 正转
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- analogWrite(ENA, 255); // 设置PWM占空比控制电机速度
- analogWrite(ENB, 255);
- break;
- case 'B': // 反转
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- analogWrite(ENA, 255);
- analogWrite(ENB, 255);
- break;
- case 'L': // 左转
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, HIGH);
- digitalWrite(IN3, HIGH);
- digitalWrite(IN4, LOW);
- analogWrite(ENA, 255);
- analogWrite(ENB, 255);
- break;
- case 'R': // 右转
- digitalWrite(IN1, HIGH);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, HIGH);
- analogWrite(ENA, 255);
- analogWrite(ENB, 255);
- break;
- case 'S': // 停止
- digitalWrite(IN1, LOW);
- digitalWrite(IN2, LOW);
- digitalWrite(IN3, LOW);
- digitalWrite(IN4, LOW);
- analogWrite(ENA, 0);
- analogWrite(ENB, 0);
- break;
- }
- }
- }

代码直接粘在ardino软件中,点击上传即可(这里上传完成会有显示,没有蓝灯亮了哦)。
找到添加这些按钮即可,注意每一个按钮要设置参数,前进为F,后退为B,左转为L,右转为 R,注意每个按钮松下即是S,这样按下即走,松开即停
这步需要手机端先找到蓝牙连接上,然后直接点run即可
完成后大概就是这个样子,可以正常跑起来啦,充电宝可以换成其它电源,比如锂电池会更流畅,蓝牙是点对点的控制,有范围,如果要是做远程车,则考虑WiFi模式,不过需要随身WiFi作为WiFi提供,喜欢的话后续会更新的~
哈哈哈,最后觉得有帮助的可以关注一波哦~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。