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

新朋实验室之玩具遥控车改装为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.  
  6. int STBY = 10; //standby

  7.  
  8.  
  9. char SerialData;

  10.  
  11.  
  12. //Motor A

  13. int PWMA = 3; //Speed control

  14. int AIN1 = 9; //Direction

  15. int AIN2 = 8; //Direction

  16.  
  17.  
  18. //Motor B

  19. int PWMB = 5; //Speed control

  20. int BIN1 = 11; //Direction

  21. int BIN2 = 12; //Direction

  22.  
  23. void setup(){

  24. pinMode(STBY, OUTPUT);

  25.  
  26. pinMode(PWMA, OUTPUT);

  27. pinMode(AIN1, OUTPUT);

  28. pinMode(AIN2, OUTPUT);

  29.  
  30. pinMode(PWMB, OUTPUT);

  31. pinMode(BIN1, OUTPUT);

  32. pinMode(BIN2, OUTPUT);

  33.  
  34. Serial.begin(9600);

  35. }

  36.  
  37. void loop(){

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

  39. SerialData = Serial.read();

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

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

  42. move(1, 255, 0);

  43.  
  44. }

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

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

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

  48.  
  49. }

  50.  
  51. }

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

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

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

  55.  
  56. }else if (SerialData == 's' ) {

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

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

  59. }

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

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

  62. stop();

  63.  
  64. }

  65. }

  66.  
  67. void move(int motor, int speed, int direction){

  68. //Move specific motor at speed and direction

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

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

  71.  
  72.  
  73. digitalWrite(STBY, HIGH); //disable standby

  74.  
  75.  
  76. boolean inPin1 = LOW;

  77. boolean inPin2 = HIGH;

  78.  
  79. if(direction == 1){

  80. inPin1 = HIGH;

  81. inPin2 = LOW;

  82. }

  83.  
  84. if(motor == 1){

  85. digitalWrite(AIN1, inPin1);

  86. digitalWrite(AIN2, inPin2);

  87. analogWrite(PWMA, speed);

  88. }else{

  89. digitalWrite(BIN1, inPin1);

  90. digitalWrite(BIN2, inPin2);

  91. analogWrite(PWMB, speed);

  92. }

  93. }

  94. void stop(){

  95. digitalWrite(STBY, LOW);

  96. }

  97. [/code]

 

 

手机App下载及使用

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

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

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

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

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

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

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

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

 

 

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

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【RT-Thread作品秀】基于RTT的可拓展遥控小车作者:李泽彬 概述近年来,随着信息技术的不断发展,有越来越多的小朋友们开始学习信息技术,开始学习编程。编程需要一个良好的平台,降低儿童的入门门槛,同时也要有足够的吸引力,能够吸引儿童进行创作,最后需要有足够的大的平台,能尽可能的实现儿童的各种类型的创意。基于以上的需求,我设计了一套基于RTT ART-pi的可拓展遥控小车的方案。首先RTT ART-pi是RTT团队开发的开源硬件平台,RT-Thread团队为其搭配了丰富的SDK包,极大的降低了上手难度。其次,对于儿童来说,遥控车,永远是一个极富吸引力的平台,同时,遥控车的可拓展性也很强,能够满足儿童不同的创意。 开发环境硬件:ART-Pi H750 XB RT-Thread版本:RT-Thread 4.0.3 开发工具及版本:RT-Thread Stduio RT-Thread使用情况概述内核部分:调度器,信号量,消息队列。 调度器:创建多个线程来实现不同的工作。 信号量:用来同步线程。 消息队列:用来实现线程之间传递的数据。 硬件框架,主控采用了基于STM32H750的ART-Pi开发,为了实现上述方案,我设计了一款拓展版。首先拓展集成了art-pi接口,能够入ART-Pi平台。其次,为了入更多的开源设备,我设计了Arduino接口,能够方便的入各类Arduino模块,让小车的可拓展性进一步提升。驱动方面,采用了两颗TB6612fng,体积小巧。遥控采用了开源的SONY PS2遥控手柄。 软件框架说明软件模块说明Led_thread_entry: led线程,用于调度载led实现500ms翻转 oled_thread_entry: OLED刷新线程,用于刷新OLED key_thread_entry:按键处理线程,用于按键处理 Scan10ms_thread_entry:10ms扫描线程,用于每隔10ms对按键、PS2遥控器进行扫描 PS2_thread_entry:PS2手柄处理线程,用于处理PS2手柄得指令 PS2_Anolog_thread_entry:手柄模拟杆收处理线程,用于处理模拟杆信息 演示效果比赛感悟上得来终觉浅,绝知此事要躬行。陆游的这首诗,完美的诠释了我在这次比赛中的收获. 我现在是一名信息管理与信息系统专业得大二学生,在疫情在家期间,第一次触到了RT-Thread,了解到RTOS得相关概念。我通过RT-Thread文档助手进行了理论学习,了解了线程、信号量、消息队列等基本得概念。但是始终没有对RTOS有一个全面得了解。就是感觉都懂,但却有不懂这样迷茫得概念。 通过这次活动,我把最近所学得知识进行了实践,把线程调度、信号量、消息队列等理论知识进行了实践。 最后,还是要感谢活动主办方,提供了这个良好得平台,让我能够在这个平台上,学习相关的知识,发挥自己的创意。
上一期免费开源项目中,我最新发布了:最简单DIY的51蓝牙遥控小车设计方案,地址是:https://www.cirmall.com/circuit/20328当时测试用的是手机蓝牙调试助手来遥控智能小车的,那么这次开源免费项目中,我要用ESP32来实现串口蓝牙的功能来完全替代手机蓝牙调试助手来无线控制蓝牙智能小车。 优酷视频演示地址: 友情提示:蓝牙控制的设备是智能小车,想下载的买家可以到上面的网址免费下载,配套使用的。本次设计采用Arduino开发环境编写ESP32 C++程序,不会搭建开发环境的买家可以到:https://www.cirmall.com/circuit/19141自行按照说明搭建,这次为了改变口味,我用的是ESP32DEVKITV1开发,价格更低十几块在某宝就能买到,这次下载程序可以直使用手机数据线跟ESP32连,在arduino里面直点击下载就可以把程序下载进去了。 彩图如下: 科普一下:串口蓝牙就是模块设定为master模式,自动连上蓝牙设备-智能小车(client模式),不需要使用AT指令(我这个方案的优势),连上蓝牙设备之后将串口的数据通过蓝牙方式转发出去(注意我用的不是串口蓝牙模块),最后达到遥控蓝牙智能小车的效果,我现在用arduino自带的串口调试助手来测试。 下面是全家福照片: 下面是本次项目的主角: 源码代码截图: 注意了:我用的蓝牙设备-智能小车上安装的是串口蓝牙模块的型号是HC-05,所以我的串口蓝牙遥控器编写的程序里面写死了适配蓝牙的名字和密码,买家根据自己的情况来修改了。 下面是串口调试截图: 按照图上的配置信息配置,烧录源码,重启,输入FFF,点击“发送”按钮,小车就前进,串口调试窗口就看到小车回复了FFF,输入BBB就是倒退,左转是LLL,右转是RRR。 稍微说一下程序原理:电脑串口传输字符串给ESP32,ESP32将字符串通过蓝牙天线发送给智能小车,智能小车的串口蓝牙收到信号之后触发串口中断,在中断服务程序执行控制小车行动的逻辑,然后再返回一个相同的字符串给ESP32,ESP32收到字符串之后打印到电脑串口显示端上显示出来。 下一期我将会用ESP32DEVKITV1开发做一个脱离电脑的串口蓝牙遥控器,通过摇杆AD转换成蓝牙控制信号来控制智能小车,敬请期待。
为了方便初学者学习机电一体化,并将这个迷你流浪者建成一个最终的项目。我的设计标准是保持小巧,便宜,简单,远程控制。在寻找便宜的跟踪平台的同时,我发现这款廉价的迷你漫游器机箱是来自robotshop.com,并决定在其上建立。我经历了几个迭代设计过程,使初学者能够简单的构建,这里是我的最终版本。 第1步:零件和工具 机器人迷你流动车底盘套件(包括Tamiya轨道和双电机齿轮) 2 x 130马达替代Tamiya电机。它需要适用于TB6612FNG电机驱动器的高压/低电流电机。(我使用6V 12500rpm 0.11A空载电机,它们工作正常。) 迷你面包 Arduino Nano或兼容 TB6612FNG电机驱动器 红外遥控和收机组合 9V助推器 电池座(4 x AA) 滑动开关 杜邦电线(约30 x 20厘米MM) 2 x 5mm透明LED 2个220欧姆电阻 LED大灯组装 3 x 0.1uF 50V电容 3 x 8mm六角柱 3 x 4mm平头螺丝 1 x 7mm平头螺丝 2x 8mm圆头螺丝 纸做套管(油漆可选) 使用的工具:烙铁,螺丝刀,线切割机,胶枪,实用刀,钻头,埋头钻头等 步骤2:底盘和车身 步骤3:线图 根据图表对所有组件进行连。您会注意到,我使用9v升压升压转换器通过Vin引脚为纳米电源供电。这样就省掉了另外9V的电池。电机仍然由6V供电。 步骤4:源代码 首先,您必须从Arduino IDE中删除内置的IR遥控器,并安装新的IR远程库。 然后,下载附加的Arduino IDE代码代码中的注释应该解释代码中发生了什么。它是为纳米写的,但它应该在其他Arduino上工作,很少或没有修改。如果您使用的是不同的IR遥控器,则可能需要更改代码以反映上,下,左,右,和OK(停止)按钮的不同编码。 红外遥控按钮分配: 向上:向前 下来:反向 左:左 是的是的 好的,停下来 *:大灯 #:大灯熄灭 上传代码并测试驱动它!
本方案采用超声波测距模块作为小车平衡状态的检测,免去了对加速度、陀螺仪传感器的理解和复杂处理算法。小车的平衡控制仍然采用网络上流行的Arduino开源硬件,再加上电机驱动模块 L298N,电机仍然采用TT马达(香蕉电机)。 该方案为了降低成本,采用电位器调整设定小车的平衡参数,不使用蓝牙无线模块或有线串口在线调整参数。 硬件设计 硬件设计比较简单,以Arduino Nano为核心控制模块,采用HC-SR04超声波测距模块,L298N电机驱动模块,供电采用7.4V/2200mAh锂电池。图中三个10K电位器分别用于平衡点设置、PD算法中Kp和Kd系数设置的调整。 电路原理图如下所示: 图中J1为HC-SR04超声波测距模块,J2、J3为L298N模块,Arduino Nano为核心控制模块,MG1、MG2分别为左右电机。 遥控超声自平衡小车视频 该方案利用PWM的输出值近似计算出车速,再用速度PD计算出平衡距离修订值,从而实现小车的速度给定。该方案的优势与用速度PD计算出PWM修订值不同,换上真实速度传感器,即可在变化的坡度上实现超声自平衡小车的平衡。 坡度动态改变时的超声自平衡小车视频(拆了门做的测试) 平面与坡度上的超声自平衡小车 附件内容包含: 超声波测距平衡小车设计文档 超声波测距平衡小车器件采购清单 超声自平衡小车程序 串口调试助手程序
BOXZ盒仔教育娱乐智能遥控机器人概述: BOXZ,中文名盒仔。是一款开源的互动娱乐平台!我们将Arduino,亚克力和纸模型创意的结合在一起,让大家可以快速搭建自己的遥控玩偶,开展互动体验,而它的组装就像搭乐高积木或者宜家家居一样简单!而盒仔的外形和功能完全取决于您的创意。我们可以用它来搞足球比赛,角色扮演,赛车或对战,甚至拍MV! BOXZ的外形和功能完全取决于您的创意。各种可爱的、创意的、经典的、搞怪的皮肤任你挑选。 实物购买链:https://item.taobao.com/item.htm?spm=a1z10.1-c.w40... 关于APP应用 这应该是迄今为止最好的Arduino互动机器人APP了! 我们的IOS版APP已经在苹果的官方市场上架 https://itunes.apple.com/cn/app/boxz/id783688269?m... 新版本的APP对UI进行了全面升级,推出了足球季的主题。本APP主要包含2大功能,第一个是GO互动模式,另一个就是我们全新推出的DIY编程模式。在GO互动模式下,玩家可以通过APP对盒仔进行遥控,控制器运动方向和动作。 在DIY编程模式下,小伙伴们只要简单的拖拽指令,即可实现BOXZ的自动控制功能。这样可以很容易通过自编程实现机器人自动完成指定任务,例如让盒仔从A点达到B点。 关于机械结构 我们重新定义了盒仔的机械结构,并优化了连部分的设计,组装仅需半小时。 技术规格: 外壳尺寸:130x130x130mm 微型控制器:ATmega328 引导装载程序:Arduino Nano 通讯模块:低功耗蓝牙4.0通讯模块 蓝牙芯片: TI CC2541 供电电源:7.4V 350MAH 25C锂电池(套件内不包含) 最远传输距离:15m左右(室内) 关于协议 新版的迷你盒仔采用了国际主流的开源通讯协议JSON,语法直观,通俗易懂。 同时我们公开了协议的API,大家不仅仅可以用手机遥控了哦。 https://github.com/leolite/BOXZ/tree/BOXZ/BOXZ/Cod... 关于版权 BOXZ 和 盒仔 均为DIYFUN.ORG团队的注册商标,未经授权禁止用作商业用途。 授权协议: Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)https://creativecommons.org/licenses/by-nc-sa/3.0/ 您只需在作品中注明"BOXZ"或"盒仔"字样,即可基于非商业目下使用和修改盒仔及其设计! 安装说明\皮肤\APP下载等请看以下网址:https://www.diyfun.org/
手机应用介绍 1)用手机替代网络摄像头,更智能,更省电; 2)支持红外遥控玩具遥控车; (移动功能,需要配套本设计红外遥控小车) 3)人脸跟随;(娱乐功能,需要配套本设计红外遥控小车) 使用方法: 1、安装应用,分别在两部手机上安装; 2、将两部手机连入互联网(WiFi,或4G); 3、把其中一部手机放到红外遥控玩具车上; 4、需要注册appID,两部手机用同一个appID 使用时,先将小车上电。将两部手机连到互联网,打开我们事先编写好的安卓软件,小车上的手机选择小车模式,另一部手机选择控制模式便可以进行操作了,画面右侧控制小车的运动,左侧则是速度的控制。 目录 一、 创意来源 二、 项目概述 三、 优势 四、 功能 五、 制作材料 六、 详细介绍 七、 参考文献 一、创意来源 当今在安防监控领域,大多数民用监控设备有几大弊端: 位置固定:大多数设备位置固定,不便移动,即使有一些可以摄像头可以转动,但是仍然无法实现对大部分区域的监控,比如一些存在死角的位置就不会被监控(床底,墙角等等),因此小车的可移动性监控有较为突出的优点。应用在家庭监控领域较为合适,尤其是家中无人的时候。 有线传输,电源线:大多数是有线传输,即使有一些是无线传输,但是仍要被束缚在电源线上。而本小车就不同了,可以直装个充电宝做备用电源 价格昂贵:当今一套完整的监控设备成本较高。而本小车利用了过时淘汰的手机,大大节约了成本,一定程度上控制了废旧手机的污染。基于当今监控设备这些缺点,构造出了基于安卓的视频控制小车。 二、项目概述 本设计是将安卓技术、单片机技术、无线通信技术等相关技术应用到视频监控系统中,可实现视频监控系统的设备移动化,由可移动监控平台、控制软件两部分组成。使用安卓手机作为控制端,通过无线网络对监控平台进行移动方向、速度的控制,平台上的摄像头实时采集视频图像信号并通过无线WiFi网络将视频信号实时传输到手机端观看,然后可实时拍照录像并可实时存储。由于监控端可移动,可以在无人进入的情况下获取危险环境的视频图像。具有控制方便,监控灵活,模块化,可拓展性强等优点,可应用于儿童陪伴机器人、家庭安防、图像采集等领域。 三、优势: 设计之初不完全是为了DIY,我是希望能够做出一款实用便宜易用的产品,所以没有采用常用的DIY开源硬件方案例如arduino,而是选择了价格便宜,应用广泛的STC89C52RC单片机芯片来做控制方案。当然也相信大家能理解我为什么会选择android手机来做智能小车大脑。 1. 我们制作的智能小车抛开性能低下、操作复杂的单片机,使用移动终端作为控制端,利用移动终端(例如手机,电脑,平)的高性能处理器和低廉的价格,降低了研发成本和研发难度。 2. 通过移动网络或者本地局域网进行连,可以在任何地方,使用任何设备即可对小车进行远程遥控,对家庭安全进行防护。 3. 与WIFI IP camera对比:1)可以到处跑,因为不需要插着电源线;2)省电,待机长,所以不用担心充电问题。3)监控声音情况。 四、功能: 1)实时视频(android手机摄像头开发) 2)红外遥控车(STC89C52RC ) 3)人脸检测追踪(android手机编程) 下面是 人脸跟随演 和制作过程 的视频: 五、制作材料: 1)控制包括: STC89C52RC单片机最小系统 红外遥控收一体化模块VS1838B L293D电机驱动模块 2)小车底盘(淘宝上面有非常多的小车底盘卖,自己任选), 3)马达:TT马达 2个 4)轮子:2个 5)锂电池:2200mAH 两节7.4V + 充电器(可用充电宝代替) 6)杜邦线若干 7) 车载手机支架(有车一族,不用的车载手机支架可以利用) 总共约200左右,如果去掉5)7)剩下的也就100出头 六、详细介绍 0设计文档 资料里的毕设论文只是预览,具体文档请查看这两个 [1]:DIY远程视频遥控小车 [2]:DIY远程视频遥控小车(附件:论文) 1相关技术 Android摄像头自定义相机开发、Android人脸检测(FaceDetector)API开发、Android红外遥控开发、Android网络实时音视频传输开发、单片机红外解码及电机控制 。 基于安卓的视频控制小车利用了能发射红外信号的安卓旧手机作为核心,通过WiFi将手机或电脑监控端与车载手机控制端相连,继而间实现手机或电脑监控端对小车的控制。 通过手机或电脑端向手机发送指令,然后手机执行指令向小车发射红外信号进行相应控制,并调用车载手机摄像头将小车前方的图像信息回传给手机或电脑监控端。 另外,小车还可以对人脸进行检测跟随,根据人脸在视频中位置,不断调整小车方向直到人脸位于屏幕中心,增强娱乐性。 3相关代码 小车端单片机代码 安卓手机端代码 特别说明:车载手

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值