新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源)

2017年08月21日 12:55:25 XPLab 阅读数:4008

你家里的玩具遥控车坏了?遥控器丢了?先不要急着丢掉,看完这篇教程,你可以自己动手把玩具遥控车改装成一个手机蓝牙控制的遥控车!

首先来张成品图

所需物品清单:

  • 坏掉的遥控车*1
  • Arduino uno主板*1(可替换为其他Arduino板子,拓展板可加可不加)
  • TB6612电机驱动模块*1(可以替换为L298N电机驱动模块,但是效果差一点,感兴趣的可以自己了解)
  • HC-05蓝牙模块*1
  • 10kΩ电阻*1
  • 20kΩ电阻*1
  • 杜邦线以及跳线若干
  • 9V电池以及转接接口(可自行替换成适合自己的电源)
  • 洞洞板(焊接蓝牙模块)
  • 焊接套件(用于焊接导线来连接小车)
  • 安卓手机(苹果手机不支持HC-05蓝牙模块)
  • 黑色电工胶布

不清楚TB6612电机驱动模块的可以看这篇文章任意门http://blog.csdn.net/ling3ye/article/details/51691201点击打开链接

ps:本文的代码大部分也是由这篇文章的代码改来的

不清楚蓝牙模块如何使用的建议看看太极创客制作的教程http://www.taichi-maker.com/homepage/arduino-tutorial-index/mearm-index/mearm-17-bluetooth-arduino-1/点击打开链接

硬件连接部分

我用了拓展板,没有也没关系

请照下面的接线图连接,连接好后可用电工胶布或螺丝把板子固定在你的遥控车地盘上

接线图(用Fritzing制作的)

蓝牙模块建议先看上面太极创客的教程使用一下,熟悉之后再焊接到洞洞板上。把HC-05蓝牙模块和两个电阻按上图焊好,下图是我自己焊的

如果你已经完成了硬件的连接,那么恭喜你,你已经完成80%了,剩下的就是程序与软件部分。

上传程序

loop函数里面的代码是我自己写的,其他是copy这位仁兄的http://blog.csdn.net/ling3ye/article/details/51691201

在此谢过这位仁兄

把下面的·代码复制到arduino IDE上传即可(注意,上传程序的时候一定要把蓝牙模块的tx和rx与arduino断开连接,否则会报错,原因是上传程序时tx与rx这两个接口会被占用)

 
  1. [code]

  2. //motor A后轮 connected between A01 and A02

  3. //motor B转向connected between B01 and B02

  4. //Xinpengmaker

  5. int STBY = 10; //standby

  6. char SerialData;

  7. //Motor A

  8. int PWMA = 3; //Speed control

  9. int AIN1 = 9; //Direction

  10. int AIN2 = 8; //Direction

  11. //Motor B

  12. int PWMB = 5; //Speed control

  13. int BIN1 = 11; //Direction

  14. int BIN2 = 12; //Direction

  15. void setup(){

  16. pinMode(STBY, OUTPUT);

  17. pinMode(PWMA, OUTPUT);

  18. pinMode(AIN1, OUTPUT);

  19. pinMode(AIN2, OUTPUT);

  20. pinMode(PWMB, OUTPUT);

  21. pinMode(BIN1, OUTPUT);

  22. pinMode(BIN2, OUTPUT);

  23. Serial.begin(9600);

  24. }

  25. void loop(){

  26. if (Serial.available()>0){

  27. SerialData = Serial.read();

  28. if (SerialData == 'w' ) {

  29. Serial.print("Got command: "); Serial.println(SerialData);

  30. move(1, 255, 0);

  31. }

  32. else if (SerialData == 'a' ) {

  33. Serial.print("Got command: "); Serial.println(SerialData);

  34. move(2, 255, 0); //motor 1, full speed, left

  35. }

  36. }

  37. if (SerialData == 'd' ) {

  38. Serial.print("Got command: "); Serial.println(SerialData);

  39. move(2, 255,1); //motor 1, full speed, left

  40. }else if (SerialData == 's' ) {

  41. Serial.print("Got command: "); Serial.println(SerialData);

  42. move(1, 255, 1); //motor 1, full speed

  43. }

  44. if (SerialData == '0' ) {

  45. Serial.print("Got command: "); Serial.println(SerialData);

  46. stop();

  47. }

  48. }

  49. void move(int motor, int speed, int direction){

  50. //Move specific motor at speed and direction

  51. //motor: 0 for B转向 1 for A后轮

  52. //speed: 0 is off, and 255 is full speed

  53. digitalWrite(STBY, HIGH); //disable standby

  54. boolean inPin1 = LOW;

  55. boolean inPin2 = HIGH;

  56. if(direction == 1){

  57. inPin1 = HIGH;

  58. inPin2 = LOW;

  59. }

  60. if(motor == 1){

  61. digitalWrite(AIN1, inPin1);

  62. digitalWrite(AIN2, inPin2);

  63. analogWrite(PWMA, speed);

  64. }else{

  65. digitalWrite(BIN1, inPin1);

  66. digitalWrite(BIN2, inPin2);

  67. analogWrite(PWMB, speed);

  68. }

  69. }

  70. void stop(){

  71. digitalWrite(STBY, LOW);

  72. }

  73. [/code]

手机App下载及使用

如果你上面的步骤都完成了,那么不要急,接下来进行手机APP的安装和设置,你就可以通过蓝牙遥控你的小车了

第一步:拿出你的安卓手机,下载一个叫做“蓝牙串口助手”的软件

第二步:点击进入,APP会自动搜索你的蓝牙设备,搜索到后点击搜索出来的结果,进入后再点击“连接设备”

第三步:设备连接后,点击“键盘模式”

第四步:进入后点击右上角的“三个点”,再点击“设定长按发送频率”,设置为51,然后点击确定

第五步:然后再点击右上角的“三个点”,再点击配置键盘值,设置命令名称分别为前后左右。

第六步:按下发送值和长按发送值都用一样的,上下左右就分别是wsad,释放发送值都为0。

第七步:点击右上角的“三个点”,点击“保存键盘配置”,可以开车了!

更多文章请关注微信公众号:“新朋的实验室”阅读获取

新朋实验室之玩具遥控车改装为ARDUINO蓝牙遥控小车(代码及制作过程开源)相关推荐

  1. 谷歌新 AI 实验室主管 Hugo 深度学习教程:神经网络、CV、NLP 难点解析

     谷歌新 AI 实验室主管 Hugo 深度学习教程:神经网络.CV.NLP 难点解析 [日期:2016-12-16] 来源:新智元  作者: [字体:大 中 小]  11月22日,谷歌在蒙特利尔的 ...

  2. Facebook 在西雅图和匹兹堡建立新AI实验室,业界担心大学人才争夺战烽火再起...

    本周,Facebook CEO马克·扎克伯格在硅谷的一场会议上表示,尽管外界对Facebook处理不实信息和用户个人数据的方式有诸多质疑,但Facebook会"继续努力". 马克• ...

  3. 【ABC科创企业案例】新朋程:教育数据的未来是打破教育

    对更好教育的期盼,是几乎所有人建设美好生活的共同向往.如何让教育品质不断提升,伴随每个人的终身成长与发展:如何高效配置优质教育资源,尽可能满足"上好学""求好职" ...

  4. COI实验室技能:常见的图像增强算法(含MATLAB代码)

    COI实验室技能:常见的图像增强算法(含MATLAB代码)   成像系统采集到的图片有时不一定具有很好的图像质量,往往需要进行一些图像增强的操作.本文主要整理了几种常见的图像增强算法,包括:同态滤波. ...

  5. 华南理工提出多模态ReID新数据集,语义自对齐网络SSAN达到SOTA性能!代码数据集均已开源!...

    关注公众号,发现CV技术之美 本篇分享论文『Semantically Self-Aligned Network for Text-to-Image Part-aware Person Re-ident ...

  6. 新的云威胁!黑客利用云技术窃取数据和源代码

    新的云威胁!黑客利用云技术窃取数据和源代码 本文作者:Zhuolin, 转载请注明来自FreeBuf.COM Zhuolin 2023-03-01 14:16:53 41733 一个被称为 " ...

  7. 小米吉姆尼RC遥控车 改装自动驾驶 00

    前几天买的小米RC遥控车收到了,吉姆尼外观. 刚收到快递以为店主寄错了,因为包裹要比我想象中小很多.包装真的是太"精致"了,车子好小,我都开始怀疑它是不是1:16的比例. 一开始买 ...

  8. 玩具or工具?普元信息低代码平台给出了说法

    点击蓝字  关注云报 2021年7月20日,人类探索太空又迈出了具有里程碑意义的一步.蓝色起源公司研制的"新谢泼德号"飞船进入太空,而这艘飞船上的"乘客"既不是 ...

  9. 微信Mac版更新:在电脑上刷朋友圈;领英暂停中国境内新用户注册;Git 恶意仓库可以在克隆时执行远程代码 | 极客头条...

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 张红月 出品 | CSDN(ID:CSDNnews ...

最新文章

  1. [译] 通过视图控制器容器和子视图控制器避免庞大的视图控制器
  2. [转]Linux 进程间通信:共享内存
  3. 求1-100之间的所有素数
  4. 天涯共此式 有AI月更圆
  5. 记一次线上cpu飙升100%的排查过程
  6. 资源共享型智能指针实现方式
  7. 那些中国式家庭的小烦恼,我看用AI来解决就“都挺好” | 技术头条
  8. javaee 中遇到的jdk自带的异常(Exception)
  9. 《零基础》MySQL DELETE 语句(十五)
  10. uploadify插件可选参数的详细介绍
  11. ztree 加搜索框_zTree添加搜索
  12. 【备忘】【No37】LAMP兄弟连李明老师讲Linux
  13. 搬运:PHOTOSHOP存储为 Web 所用格式的选项|处理PNG图像透明度时的仿色选项
  14. Qt 常见错误及坑锦集(更新中....)
  15. 深入理解图优化与g2o:g2o篇
  16. 三星android平板,三星也不忘Android平板,或推带虹膜识别的Galaxy Tab S4
  17. Ubuntu server安装ubuntu桌面,安装软件中心-ubuntu software
  18. Android框架之路——Banner实现轮播图(RecyclerView添加Header)
  19. 安装青龙面板开启京东白嫖模式
  20. (百度之星资格赛) 度度熊与邪恶大魔王 (dp)

热门文章

  1. 国产芯片-工业级ARM板卡比拼-A40i T3 RK3399 CPU性能PK
  2. YouTube CEO关于工作和生活平衡的完美回答
  3. chrome://inspect/#devices调试方法及页面白屏解决
  4. 前端原生小案例,如何创建一个简易的幻灯片
  5. 12分钟充满电: 三星宣布石墨烯电池研发成功, 华为被打脸
  6. python-----第七课----数据类型和类型转换
  7. JAVA通过ip获取所在地址与经纬度
  8. macOS 12 Monterey安装Windows 11图文教程
  9. css实现垂直居中的几种方式
  10. 写一个python程序,要求能够输入关键词,而后输入一段句子可以检查出句子中的与关键词类似的错别字,并标记出来...