51单片机物联网智能小车系列文章目录

第一篇:最简单DIY的51蓝牙遥控小车设计方案
第二篇:最简单DIY串口蓝牙硬件实现方案


文章目录

  • 51单片机物联网智能小车系列文章目录
  • 前言
  • 一、最简单DIY串口蓝牙硬件实现方案是什么?
  • 二、制作步骤
    • 1.搭建ESP32开发环境
    • 2.下载代码
    • 3.根据软件和硬件完成硬件连接
  • 三、仿真与调试
    • 1. 准备好硬件,小车上电和打开arduino“串口监视器”,输入指令,点击发送。
    • 2. 接收小车返回的响应
  • 总结

前言

    daodanjishui物联网核心原创技术之最简单DIY串口蓝牙硬件实现方案。
    市面上有各种开源智能小车,但是有复杂的有简单的,如果想快速入门DIY物联网智能小车蓝牙控制器,这个方案会给你一个快捷高效的方案。


一、最简单DIY串口蓝牙硬件实现方案是什么?

    在第一篇实现了51单片机智能小车,不过那时候是用手机蓝牙调试助手来发送遥控指令控制小车的。原因是入门不需要太复杂,那现在需要做一个蓝牙遥控器来代替手机蓝牙,所以我就用到了ESP32单片机,因为这个单片机具有蓝牙功能。
    虽然市面上也有不少开源的智能小车遥控器方案,还有自己小时候也玩过不少无线遥控的航模,但是全部由自己软件硬件全部独立设计的方案到几年前才正式实现,现在用文字的形式记录下来,对自己童年时代深刻地回忆和对未来技术的展望。“闭门造遥控器”虽然有点痛苦,但是当你看到自己亲手做的小车在地上通过自制的蓝牙遥控器遥控动起来的时候,你会发现一切的付出都是值得的!小车的全家福如下图所示:

51单片机最小系统板如下:

自制串口蓝牙遥控器如下所示:

遥控器与小车全家福如下:

通过电脑的串口调试助手发送控制指令,这个ESP32单片机就会把串口的控制指令通过无线蓝牙发送出去,智能小车的串口蓝牙模块收到蓝牙信息之后就控制小车行进了。串口调试助手的信息如下图所示:

优酷视频入口:https://player.youku.com/embed/XNDg5ODQ4NzUzMg==

直接观看视频

ESP32充当电脑串口蓝牙遥控蓝牙设备

二、制作步骤

1.搭建ESP32开发环境

1.1购买ESP32单片机,ESP32DEVKITV1开发板,价格更低十几块在某宝就能买到,这次下载程序可以直接使用手机数据线跟ESP32连接,跟ESP32-CAM单片机不一样,CAM还需要接一个USB转TTL模块才能下载程序
单片机的外貌如下:

原理图如下:

1.2搭建Arduino开发环境,不会搭建开发环境的买家可以到:https://www.cirmall.com/circuit/19141 自行按照说明搭建。

2.下载代码

    这个Arduino ESP32单片机的蓝牙代码也是相当精简,虽然是自己原创写的,但是也是经过严格的推敲和验证。很多读者不会编写蓝牙通信代码的话建议好好看看我这个代码了!代码截图如下:

截图的第一个箭头表示的是我智能小车使用的串口蓝牙模块的蓝牙热点名称和密码(串口蓝牙一上电就会生成这个热点的,一般是买回来就写死的,读者可以根据自己购买的串口蓝牙模块去调整源码的账号和密码,这是成功的关键)

//This example code is in the Public Domain (or CC0 licensed, at your option.)
//By Victor Tchistiak - 2019
//
//This example demostrates master mode bluetooth connection and pin
//it creates a bridge between Serial and Classical Bluetooth (SPP)
//this is an extention of the SerialToSerialBT example by Evandro Copercini - 2018
//
//author by:daodanjishui 2020.10.10
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
String MACadd = "AA:BB:CC:11:22:33";
uint8_t address[6]  = {0xAA, 0xBB, 0xCC, 0x11, 0x22, 0x33};
//uint8_t address[6]  = {0x20, 0x18, 0x04, 0x15, 0x25, 0x13};
//String name = "OBDII";
String name = "HC-05";
char *pin = "1234"; //<- standard pin would be provided by default
bool connected;
void setup() {Serial.begin(115200);//SerialBT.setPin(pin);SerialBT.begin("ESP32test", true); //SerialBT.setPin(pin);Serial.println("The device started in master mode, make sure remote BT device is on!");// connect(address) is fast (upto 10 secs max), connect(name) is slow (upto 30 secs max) as it needs// to resolve name to address first, but it allows to connect to different devices with the same name.// Set CoreDebugLevel to Info to view devices bluetooth address and device namesconnected = SerialBT.connect(name);//connected = SerialBT.connect(address);if(connected) {Serial.println("Connected Succesfully!");} else {while(!SerialBT.connected(10000)) {Serial.println("Failed to connect. Make sure remote device is available and in range, then restart app."); }}// disconnect() may take upto 10 secs maxif (SerialBT.disconnect()) {Serial.println("Disconnected Succesfully!");}// this would reconnect to the name(will use address, if resolved) or address used with connect(name/address).SerialBT.connect();
}void loop() {if (Serial.available()) {SerialBT.write(Serial.read());}if (SerialBT.available()) {Serial.write(SerialBT.read());}delay(20);
}

    程序说明:用的是arduino写的工程,读者可以慢慢斟酌,如果为了成功,可以购买跟我一样型号的串口蓝牙模块。

3.根据软件和硬件完成硬件连接

通过安卓数据线连接ESP32和电脑,如“遥控器与小车全家福”图所示
用电脑串口调试助手发指令给小车可以实现有线控制小车行走,如“串口调试助手的信息”图所示。
注意了串口调试助手是arduino默认的“串口监视器”测试的。

三、仿真与调试

1. 准备好硬件,小车上电和打开arduino“串口监视器”,输入指令,点击发送。

如图所示:

左下角的箭头是默认发送\r\n的意思。
比如FFF\r\n是前进,
下面是后退:BBB\r\n
下面是左转: LLL\r\n
最后是右转: RRR\r\n(以此类推)

2. 接收小车返回的响应

看上面的截图,收到:FFF说明小车响应了前进指令。
后面以此类推。

输入FFF,点击“发送”按钮,小车就前进,串口调试窗口就看到小车回复了FFF,输入BBB就是倒退,左转是LLL,右转是RRR。
注意波特率是115200


总结

    小车是用ESP32单片机替代了安卓手机蓝牙调试助手从而用电脑串口调试助手发送指令的形式来控制的,所以说是最简单的蓝牙遥控小车遥控器DIY。不过加上舵机和机械手和操控摇杆或者是手机控制app,就变得高端了,敬请期待。这个版本是免费的,但是功能还是很齐全和强大的,代码也写得通俗易懂,不拖泥带水。
代码工程下载链接:https://www.cirmall.com/circuit/20409/
点我直接跳转

最简单DIY串口蓝牙硬件实现方案相关推荐

  1. 最简单DIY基于蓝牙、51单片机和舵机的钢铁爱国者机关枪控制器

    51单片机物联网智能小车系列文章目录 第一篇:最简单DIY的51蓝牙遥控小车设计方案 第二篇:最简单DIY串口蓝牙硬件实现方案 第三篇:最简单DIY蓝牙PS2遥控器控制蓝牙智能小车 第四篇:最简单DI ...

  2. 15元零代码超简单DIY小米蓝牙网关,接入玩客云homeassistant智能家居

    我在前面的文章中分享了用esp32做蓝牙网关的教程,后面还有网友找我要esphome配置的文档的,其实在homeassistant及ESPhome 9月份的升级后,我们已经可以无需代码就可DIY小米米 ...

  3. atheros蓝牙设备驱动 小米_小米Air 13笔记本黑苹果WiFi蓝牙硬件改装方案二

    该方案适合小米笔记本Air 13初代,适合小米笔记本PRO等型号,适合通用的预留有M.2 PCIE通道SSD卡槽的电脑.也是作者极力推荐的终极改造方案. 总体方案: 使用笔记本主板上的M.2 nvme ...

  4. 最简单DIY蓝牙PS2遥控器控制蓝牙智能小车

    51单片机物联网智能小车系列文章目录 第一篇:最简单DIY的51蓝牙遥控小车设计方案 第二篇:最简单DIY串口蓝牙硬件实现方案 第三篇:最简单DIY蓝牙PS2遥控器控制蓝牙智能小车 文章目录 51单片 ...

  5. 最简单DIY基于51单片机的舵机控制器

    51单片机物联网智能小车系列文章目录 第一篇:最简单DIY的51蓝牙遥控小车设计方案 第二篇:最简单DIY串口蓝牙硬件实现方案 第三篇:最简单DIY蓝牙PS2遥控器控制蓝牙智能小车 第四篇:最简单DI ...

  6. 最简单DIY基于C#和51单片机上下位机一体化的PCA9685舵机控制程序

    51单片机物联网智能小车系列文章目录 第一篇:最简单DIY的51蓝牙遥控小车设计方案 第二篇:最简单DIY串口蓝牙硬件实现方案 第三篇:最简单DIY蓝牙PS2遥控器控制蓝牙智能小车 第四篇:最简单DI ...

  7. 最简单DIY基于51单片机、PCA9685、IIC、云台的舵机集群控制程序

    51单片机物联网智能小车系列文章目录 第一篇:最简单DIY的51蓝牙遥控小车设计方案 第二篇:最简单DIY串口蓝牙硬件实现方案 第三篇:最简单DIY蓝牙PS2遥控器控制蓝牙智能小车 第四篇:最简单DI ...

  8. 最简单DIY基于STM32单片机的蓝牙智能小车设计方案

    STM32库函数开发系列文章目录 第一篇:STM32F103ZET6单片机双串口互发程序设计与实现 第二篇:最简单DIY基于STM32单片机的蓝牙智能小车设计方案 文章目录 STM32库函数开发系列文 ...

  9. 最简单DIY基于ESP32CAM的物联网相机系统④(用调试串口助手实现串口图传)

    第一篇:最简单DIY基于ESP32CAM的物联网相机系统①(用网页实现拍照图传) 第二篇:最简单DIY基于ESP32CAM的物联网相机系统②(在JAVAWEB服务器实现图片查看器) 第三篇:最简单DI ...

最新文章

  1. c语言物流管理信息系统,[源码和文档分享]基于C语言的物流配送管理信息系统...
  2. matlab中矩阵的累加,累加和与累乘积在matlab中-read.ppt
  3. 二维数组的对角搜索C++
  4. Jenkins-自动化构建、测试和部署-学习笔记
  5. linux进程和计划任务,linux进程和计划任务
  6. C# 多种方式发送邮件(附帮助类)
  7. ssh放行端口_安全组中已经添加规则放行SSH端口的访问之后使用f1 RTL的方法
  8. 面试宝典系列-mysql面试基础题
  9. 调出远程桌面的任务管理器
  10. electron关闭硬件加速
  11. 遇到U盘无法打开,属性显示0字节这样的问题?数据该如何导出?
  12. 红帽子企业版.Linux.5
  13. 一点关于应届毕业生找工作的建议。
  14. [译] 现代浏览器内部揭秘(第一部分)
  15. 人工智能的核心技术是什么?
  16. 初来北京的两三天-我被这个地方感动的想流泪
  17. 6、RH850 F1 AD转换功能和配置
  18. Cesium|xt3d相控阵雷达范围
  19. 浅读Google三大论文
  20. 18 《社会性动物》 -豆瓣评分9.1

热门文章

  1. filebeat7.7.0相关详细配置预览- processors - add_cloud_metadata
  2. NF_Exp10_20164306
  3. Image Matting
  4. 【day29】图片base64格式如何获取后缀名并上传到指定路径下
  5. 爬取豆瓣头号玩家短评
  6. Vue使用表单验证用户名和密码
  7. 名义小组和焦点小组的关系
  8. 正则表达式、re函数
  9. react Antd 的面包屑与导航使用例子
  10. 阿里云域名设置二级域名