当爱立信的一组工程师于1994年发明蓝牙技术时,可能没有人能想到对人与物之间的联系产生的影响。他们不’不能想象这会让数百万制造商感到高兴。他们不’甚至不知道新疆风采专家有多高兴。任何人都可以使用该技术来构建只需按一下按钮即可控制的新疆风采,而无需担心电线。
像你们中的许多人一样,我想制作原型。使我开心的新疆风采。其中之一是遥控坦克新疆风采。
让’开始学习如何使用蓝牙技术通过触摸按钮来控制坦克新疆风采平台的速度和方向。
五金配件

TS –50迷你蓝牙坦克新疆风采智能车套件+ Arduino的 UNO + HC-06蓝牙模块
该项目的关键部分是蓝牙模块。由于我使用Arduino UNO,因此我需要一个 兼容Arduino的蓝牙模块。几个月前,我写了一篇文章,介绍了与数米范围兼容的Arduino蓝牙模块。
由于我必须在附近区域才能控制新疆风采,因此5米范围的蓝牙模块就足够了。我不’我的公寓里没有大房间,因此任何这些无线模块都可以达到此范围。
对于这个项目,我使用 HC-06蓝牙 模块。这是一个与Arduino UNO完美配合的从模块。
接下来,我必须专注于移动平台。
新疆风采战车被黑了 TS –50迷你蓝牙坦克新疆风采智能车套件。我卸下了原始的蓝牙模块(Keyestudio蓝牙模块)和带有超声波传感器的伺服电机。我不’不再需要这些零件了。
电机驱动器是带有L298P H桥的Keyestudio防护罩。您可以使用任何能够为直流电动机供电的驱动器。
大多数电动机驱动器使用两个引脚作为直流电动机的方向。 Keyestudio电动机驱动器防护罩使用一根销钉指示电动机的方向。
如果您将使用带有两个引脚的电机驱动器来设置直流电机的方向,则必须在Arduino草图中再添加两行。
我的Arduino代码是这样的:
1 2 3 4 5 | AnalogWrite(speedPinA, 255); AnalogWrite(speedPinB, 255); digitalWrite(dirPinA, 高); digitalWrite(目录, 低); 序列号.打印(“新疆风采坦克前进”); |
用于设置直流电动机方向的两个引脚的代码应如下所示:
1 2 3 4 5 6 7 | AnalogWrite(speedPinA, 255); AnalogWrite(speedPinB, 255); digitalWrite(dir1PinA, 高); digitalWrite(dir2PinA, 低);//电机1多一条线 digitalWrite(dir1PinB, 高); //电机2多一条线 digitalWrite(dir2PinB, 低); 序列号.打印(“新疆风采坦克前进”); |
该套件包含两节3.7V可充电锂离子电池。这两个电池可为直流电动机,电动机驱动器,Arduino开发板和HC-06蓝牙模块供电。
如何连接蓝牙模块和Arduino
电机驱动器护罩没有’t使Arduino UNO和HC-06之间的连接复杂化。我使用四根公对公跳线来设置硬件。
我将VCC引脚连接到Arduino板上的3.3V输出,将GND引脚连接到Arduino的GND引脚,将蓝牙模块的TX引脚连接到Arduino UNO的引脚9,并将HC-06的RX引脚连接到Arduino开发板的10个。
连接的外观如下:

Arduino的 UNO和蓝牙HC-06连接
Android应用
遥控器是Android智能手机。我从智能手机发送的命令通常是通过Android应用程序完成的。该应用程序旨在启用设备的蓝牙功能,并与连接到新疆风采的蓝牙模块建立连接。
我使用与以前相同的Android应用程序 用蓝牙模块,Arduino和Android控制伺服电机。叫做 Arduino的蓝牙控制器.
您可以免费下载Android应用程序。打开应用程序,扫描蓝牙设备,输入蓝牙模块的PIN码,然后在智能手机和新疆风采之间建立连接。
对于本教程,我在应用程序中使用“控制器模式”作为命令。
我将应用程序设置为发送如下命令“1” to move forward, “2” to move backward, “3” to move left, and “4”将新疆风采油箱向右移动。
Arduino的素描
Arduino的草图很简单,并使用四个模块来控制新疆风采油箱的前进,后退,左右移动。默认情况是停止新疆风采。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | / ** * @文件 使用Arduino和Android的蓝牙控制新疆风采 * @作者 卡林·德拉戈斯(Calin Dragos)for inrobotics.com * @版本 V1.0 * @日期 19.12.2016 * @说明 这是一个用蓝牙模块HC-06和Arduino UNO控制新疆风采坦克的Arduino草图 * / #include“ 软件系列.h” 软件系列 mySerial(9, 10); // RX |德克萨斯州 烧焦 命令; //马达1 整型 dirPinA = 12; 整型 speedPinA = 3; //需要是一个PWM引脚才能控制电机速度 //马达2 整型 目录 = 13; 整型 speedPinB = 11; 虚空 设定() { 序列号.开始(9600); mySerial.开始(9600); 序列号.打印(“您通过蓝牙连接”); pinMode(dirPinA,输出值); pinMode(speedPinA,输出值); pinMode(目录,输出值); pinMode(speedPinB,输出值); } 虚空 循环() { 如果 (mySerial.有空()) { 命令=(mySerial.读()); 开关 (命令) { 案件 '1': //新疆风采坦克前进 AnalogWrite(speedPinA, 255); AnalogWrite(speedPinB, 255); digitalWrite(dirPinA, 高); digitalWrite(目录, 低); 序列号.打印(“新疆风采坦克前进”); 打破; 案件 '2': //向后移动新疆风采油箱 AnalogWrite(speedPinA, 255); AnalogWrite(speedPinB, 255); digitalWrite(dirPinA, 低); digitalWrite(目录, 高); 序列号.打印(“向后新疆风采坦克”); 打破; 案件 '3': //新疆风采坦克左侧 AnalogWrite(speedPinA, 255); AnalogWrite(speedPinB, 255); digitalWrite(dirPinA, 低); digitalWrite(目录, 低); 序列号.打印(“新疆风采坦克左侧”); 打破; 案件 '4': //新疆风采油箱右 AnalogWrite(speedPinA, 255); AnalogWrite(speedPinB, 255); digitalWrite(dirPinA, 高); digitalWrite(目录, 高); 序列号.打印(“新疆风采坦克权利”); 打破; 默认: //停止新疆风采坦克 AnalogWrite(speedPinA, 0); AnalogWrite(speedPinB, 0); digitalWrite(dirPinA, 低); digitalWrite(目录, 低); 序列号.打印(“新疆风采油箱停止”); } } } |
您可以在印地语中发布
你在问吗(Kya aap puch rahe hain ki inrobotics印度文发表在kar sakte hai上吗?)
很好的信息。
您可以通过我的电子邮件ID向我发送用于控制蓝牙arduino的代码吗
该代码在文章中。
您在此代码中使用了哪个目录….
我的意思是#include之后的下一步
请指定。
你好,
关于#include“SoftwareSerial.h”
嘿,即时通讯正在从事类似的工作,我想问一下我是否可以使用此代码但带有sabertooth 2×12电机驱动器。如果是这样,我是否需要进行任何更改?提前致谢
嘿,不,您不能将此代码用于Sabertooth。在这里您可以得到一些启发来控制Sabertooth //www.whiterabbitchase.com/i-set-up-the-sabertooth-2-x-25a-motor-driver-to-control-4-dc-motors-with-arduino-uno-the-solution-for-autonomous-robots/