基于ardino开发环境 esp32开发板 L298N电机驱动的双驱蓝牙小车教程(零基础版)

本文详细介绍了如何使用Esp32开发板、L298N电机驱动和Arduino开发环境进行基础硬件搭建,包括环境配置、代码编写与烧录,以及手机端蓝牙控制的全过程。
摘要由CSDN通过智能技术生成

一、所需材料:

               

        Esp32开发板                             L298N电机驱动                            小车底板材料

电脑(需要烧录代码到开发板中)        杜邦线若干(没有的话也可以用普通电线代替,只是用来导电有接口,没有什么特殊性) 手机端Bluetooth Electronics app(去浏览器下载即可)

二、环境搭建

这里笔者用的是ardino开发环境,这也是物联网中用的比较多的一个开发环境,当然对于一个新手小白来说光搭建环境就有些困难,因为不少人无法下载到对应的开发板,这里展开详细的介绍,也会对刚入门的学者有一些帮助。(实则有效哦,不需要梯子也照样可以)

1、进入ardino官网下载软件

https://www.arduino.cc/en/software

目前已经更新到了2.3.0版本了 喜欢老版本的可以下载老版本,这个没有影响

找到对应的版本下载即可,这个没有什么问题就是普通的下载软件

2、配置编译环境

首先需要直接打开安装包进行安装即可,注意安装路径,尽量放在D盘,安装完之后打开软件

当然常规的步骤就是先在文件-首选项中添加网址https://dl.espressif.com/dl/package_esp32_index.json https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

然后找到工具-开发板-开发板管理器

然后打开下载就可以了

当然,一般人可能无法下载成功,会出现以下报错

网上好多博主说,下载旧的版本就可以解决,但是笔者尝试了多次,貌似没什么效果,可能是因为外网的缘故,挂梯子就可以下载了 当然大部分人不会,可以用以下方法(亲测有效)

http://链接: https://pan.baidu.com/s/1QWeZfh5WQeyrTbfsxy4WUw?pwd=cn29 提取码: cn29 复制这段内容后打开百度网盘手机App,操作更方便哦

下载完成后直接打开就可以了,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软件中,点击上传即可(这里上传完成会有显示,没有蓝灯亮了哦)。

五、手机端Bluetooth Electronics app按键设置

找到添加这些按钮即可,注意每一个按钮要设置参数,前进为F,后退为B,左转为L,右转为 R,注意每个按钮松下即是S,这样按下即走,松开即停

六、连接蓝牙完成

这步需要手机端先找到蓝牙连接上,然后直接点run即可

完成后大概就是这个样子,可以正常跑起来啦,充电宝可以换成其它电源,比如锂电池会更流畅,蓝牙是点对点的控制,有范围,如果要是做远程车,则考虑WiFi模式,不过需要随身WiFi作为WiFi提供,喜欢的话后续会更新的~

哈哈哈,最后觉得有帮助的可以关注一波哦~

  • 41
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要使用ESP32控制电机,需要将电机连接到ESP32的GPIO引脚上,并使用适当的转换器将信号电平调整为电机可以接受的电平。然后,可以使用ESP32的蓝牙模块与移动设备进行通信,通过发送指令来控制电机的转动。具体实现过程如下: 1. 连接电机 将电机连接到ESP32的GPIO引脚上,可以使用驱动模块或电平转换器来将电机信号电平转换为ESP32可以接受的电平。例如,可以使用L293D芯片来驱动直流电机,或使用PWM信号控制舵机,需要根据电机类型选择适当的电平转换器。 2. 配置蓝牙模块 使用Arduino IDE或其他开发工具编写ESP32代码,配置蓝牙模块并设置蓝牙服务和特征值。可以使用BLE库来实现蓝牙通信,例如使用BLECharacteristic库创建自定义特征值,通过蓝牙发送指令控制电机。 3. 接收蓝牙指令 在ESP32代码中创建蓝牙事件处理程序,接收来自移动设备的蓝牙指令。例如,可以使用BLECharacteristic库中的onWrite()方法来接收写入特征值的事件,并解析指令以控制电机的转动。 4. 控制电机转动 根据接收到的指令,使用GPIO引脚输出相应的电平信号来控制电机转动。例如,可以使用digitalWrite()函数将引脚输出高电平或低电平来控制电机的正反转。 需要注意的是,控制电机时需要谨慎操作,避免电机过载或损坏。同时,需要根据电机的特性和工作要求选择适当的电平转换器和控制方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值