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

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


文章目录

  • 51单片机物联网智能小车系列文章目录
  • 前言
  • 一、最简单DIY蓝牙PS2遥控器控制蓝牙智能小车是什么?
  • 二、制作步骤
    • 1.搭建ESP32开发环境
    • 2.修改代码
    • 3.根据软件和硬件完成硬件连接
  • 三、仿真与调试
    • 1. 准备好硬件,小车上电和遥控器上电。
    • 2. 操控小车
  • 总结

前言

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


一、最简单DIY蓝牙PS2遥控器控制蓝牙智能小车是什么?

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

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

自制带遥杆的蓝牙遥控器如下所示:

该遥杆模块在某宝商城可以几块钱买到。

优酷视频入口:https://v.youku.com/v_show/id_XNDg5ODc5NDM3Mg==.html?spm=a2hcb.playlsit.page.59

直接观看视频

最简单DIY蓝牙遥控器: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单片机的蓝牙代码也是相当精简,虽然是自己原创写的,但是也是经过严格的推敲和验证。很多读者不会编写蓝牙通信代码的话建议好好看看我这个代码了!代码截图如下:

    截图的第一个箭头表示的是我智能小车使用的串口蓝牙模块的蓝牙热点名称和密码(串口蓝牙一上电就会生成这个热点的,一般是买回来就写死的,读者可以根据自己购买的串口蓝牙模块去调整源码的账号和密码,这是成功的关键)
    在第二篇代码的基础上加入下面的代码,完成小车动作指令的发送。(还有些代码没有放上去,目的是想读者去下载我完整的工程,尊重个人劳动成果。)

 int x,y,z;  x=analogRead(PIN_X);  y=analogRead(PIN_Y);  z=analogRead(PIN_Z);  Serial.print("X=");  Serial.print(x);   Serial.print("\tY=");     Serial.print(y);  Serial.print("\tZ=");     Serial.println(z);  // delay(1000);//这里加入蓝牙指令发送逻辑if(x==0){//左转SerialBT.print("LLL\r\n");}else if(x==4095){//右转SerialBT.print("RRR\r\n");}else if(y==0){//前进SerialBT.print("FFF\r\n");}else if(y==4095){//后退SerialBT.print("BBB\r\n");}else SerialBT.print("SSS\r\n");//停止

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

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

遥控模块与ESP32的连线如下图所示:

遥杆模块 ESP32
GND---------- GND
+5V ---------- VIN
URX---------- GPIO2
URY---------- GPIO4
SW----------- GPIO15

三、仿真与调试

1. 准备好硬件,小车上电和遥控器上电。

硬件连线都比较简单。

2. 操控小车

看视频演示即可

遥杆向前推是发送FFF\r\n,小车前进。
遥杆向后推是发送BBB\r\n,小车后退
遥杆向左推是发送LLL\r\n,小车左转
遥杆向右推是发送RRR\r\n,小车右转


总结

    ESP32这款单片机的优势就是集成了蓝牙和wifi功能,可以同时使用,假如用其他单片机来控制的话,还需要另外加上蓝牙模块,非常不方便,所以现在就是体验这个强大芯片的好时机到来。
    不过加上舵机和机械手和操控摇杆或者是手机控制app,就变得高端了,但是功能还是很齐全和强大的,代码也写得通俗易懂,不拖泥带水。下一期我将会推出使用手机APP控制智能小车,支持重力传感器和按钮控制,敬请期待。

代码工程下载链接:https://www.cirmall.com/circuit/20421/
点我直接跳转

最简单DIY蓝牙PS2遥控器控制蓝牙智能小车相关推荐

  1. 最简单DIY基于STM32单片机的WIFI智能小车设计方案

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

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

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

  3. 一种基于蓝牙和语音控制的智能家居系统【100010378】

    2018年大学生电子设计竞赛设计报告 一种基于蓝牙和语音控制的智能家居系统 摘要:本项目使用 STM32F407 作为主控芯片,通过蓝牙和语音控制实现安全.便宜的智能家居系统.实现了手机实现家电控制: ...

  4. 毕业论文 | 基于安卓手机蓝牙控制的智能小车设计(源代码)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 预告:源代码.论文.电路图设计链接 ...

  5. android智能小车 论文,基于安卓手机蓝牙控制的智能小车设计毕业设计(论文).doc...

    编 号: 审定成绩: 毕业设计(论文) 设计(论文)题目: 学院:学 生 姓 名 :专 业 :班 级 :学 号 :指 导 教 师 :答辩组 负责人 : 填表时间:年月 摘 要 随着物联网的兴起,And ...

  6. 详细介绍如何从零开始制作51单片机控制的智能小车(二)———超声波模块、漫反射光电管、4路红外传感器的介绍和使用

       我会通过本系列文章,详细介绍如何从零开始用51单片机去实现智能小车的控制,在本系列的上一篇文章中介绍了如何让小车动起来,本文作为本系列的第二篇文章,主要介绍让小车实现自动避障所涉及的一些传感器, ...

  7. 玩转X-CTR100 l STM32F4 l PS2无线手柄-4WD智能小车

    我造轮子,你造车,创客一起造起来!更多塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 前面已介绍X-CTR100控制器解码PS2无线手 ...

  8. 蓝牙语音遥控器低功耗蓝牙5.1芯片XY51S03B

    蓝牙语音遥控器专用低功耗的蓝牙5.1芯片XY51S03B采用32位ARMCortex-M0内核,最高工作主频64MHz,片上集成48KB SRAM,512KB Flash.支持BLE5.1,发射电流4 ...

  9. 蓝牙遥控超声波避障智能小车(stm32f407vet6)

    一.智能小车零件选材 1.4WD智能小车底座 (x1) //真男人就用酷黑配色,嘿嘿 ≖‿≖✧ 2.TT马达(x4) 3.麦克纳姆轮(x4) 4.L298N电机驱动板(x2) 5.LM2596稳压模块 ...

最新文章

  1. 安装docker-compose for linux
  2. 2020-11-12(JNI开发常见错误)
  3. float在python中的书写形式错误的是_在Python3.7.1中,编写简单的GAN时,“TypeError:”float“对象不能解释为整数”错误...
  4. 学习Spring Boot:(二十一)使用 EhCache 实现数据缓存
  5. 贪心+优先队列 HDOJ 5360 Hiking
  6. 杭电2100Lovekey
  7. 在python中如何将两个list合并成一个list,不用for语句
  8. 关于openstack部分计算节点无法实现热迁移问题描述
  9. 时空幻境-patch
  10. 桌面计算机未响应怎么办,电脑卡死程序未响应的解决方法步骤详解
  11. root后怎么删除授权管理,Root授权管理
  12. 在 JDK 1.4 中打印
  13. 【数字图像处理】【个人入门记录】 绪论
  14. 华为分析提供行业差异化分析服务,全面赋能开发者精益运营
  15. 体验魅力Cognos BI 10 系列,第1 部分: 第一次安装
  16. VR中多模式异步协作的挑战和设计考虑因素
  17. 妙语联珠----有钱时、没钱时(节选自上海东方台)
  18. 自己的博客——liming blog 黎明的CSDN博客
  19. Day.1 关于随机摇骰子,并进行猜大小的游戏
  20. FL Studio2023终身免费升级适合电音舞曲DJ使用

热门文章

  1. 万字长文盘点python的Matplotlib使用 | 【推荐收藏】
  2. Typora 设置图片自动上传
  3. ansible剧本批量安装nginx
  4. 一起脱去小程序的外套和内衣 - 微信小程序架构解析
  5. win32多线程程序设计笔记(第四章上)
  6. python微信点赞收费吗_点赞关于怎样微信刷投票数,我来教你微信投票怎样花钱买票...
  7. android 网络下载图片,加载Bitmap 不oo控件
  8. 【Python从零到壹】面向对象的封装,继承和多态
  9. 电脑tdr太低是什么意思_“虚拟内存太低”是什么意思?这对电脑有什么坏处?该怎么办呢?...
  10. ​新文联播第6期 | 小脑经颅直流电刺激不会改变体感时间辨别阈值