简介:移动和Android Appplication上的简单Arduino蓝牙Cybot(更新)
一段时间后,我为用户界面创建以及使用来自键盘的命令或条形码扫描仪的命令编写了几个有赋予指令。
以下链接以下:
用户界面:https://www.smiletrl.com/id/direction-display -...
条形码控制:https://www.smiletrl.com/id/scratch-4-4- archuino -...
两者都采用了软件控制侧的Scratch 4 Arduino语言。在这些结束时,我提到我想继续使用蓝牙来控制基础,本指南涵盖了这种愿望。
我将进入这一点进入几个比赛
如果你喜欢这个,可能会发现它有用,请投票给它。
谢谢
我将为想要尝试蓝牙控制的人说的第一件事就是网上倡导使用Rx / TX连接的许多网站,甚至在运营中有视频,他们不说的是多长时间把它们带到了它上班或他们这样做的问题。这就是为什么我最终尝试了串行库并将两个arduino引脚定义为串行通信线路。
对于这种指示 - (如果您打算重复),您需要从Arduino网站安装适当的计算机应用程序http://arduino.cc/en/main/software
我使用了一个Arduino Nano V3.0和另一个电路板,使我提供螺丝连接以便于接线。蓝牙模块是来自LC技术,所有这些我从eBay购买,令人难以置信的便宜我认为它一切都达到了11.00英镑。
您还需要Cybot Base - 您可以使用别人,但我选择这主要是因为我已经拥有它,而且因为它已经有一个H桥接板来控制两个连接的电机。
可指示的更新
我制作了几个更改/添加到指南中如下
- 安全相关 - 有关接线部分 - 电机板越热,因此重新连接以删除该问题并在该部分中解释
- 创建了一个基本的导航应用程序,并添加了一个部分来覆盖这一点
第1步:软件
蓝牙
无论你拥有的蓝牙加密狗都需要安装在你的电脑上 - 这是一个简单的事情,遵循其制造商的说明和安装盘。(这对我的主电脑做了,但在我的笔记本上,我让它选择适当的Windows驱动程序)
请注意,您可能必须重新启动计算机以进行设计。
终端应用程序
用于测试操作的终端应用程序称为冷却器,是可从中提供的免费应用程序http://freeware.the-meiers.org/
安装后 - 打开它并选择选项按钮,然后扫描串行通信 - 注意 - 您的蓝牙需要被通电,以便它位。
当您准备尝试尝试创建时 - 从主窗口中选择Connect。
提示将您的蓝牙电源打开然后任何其他电源到电机(仅仅对我的电池组只这样说),然后执行序列搜索并最终连接 - 它可能需要几次尝试等待患者。一旦蓝牙上的LED停止闪烁,就会连接。如果它不起作用检查松动连接。
第2步:为Cybot连接制作安全带
Cybot电动机通过一个H桥板控制,该电路板上被预先与机器人中的其他板连接,而是为了保持对杂志的发出的兴趣,这些杂志提供了一种跳线板,该跳线板将电源连接到前向动作引脚两个电机并让基本驱动器前进。
我也是这个,并删除了这些引脚之间的轨道。我剥离和镀锡7根电线(每个不同的颜色,便于识别),并向七针中的每一个焊接一个字符
我以后发现我已经设法链接一些这些引脚,从而缩短了阻止正确操作的连接(我稍后会回去并解决)
作为线束的一部分,我也使用热缩小,试图阻止潜在的短路(真正的工作并没有)
第3步:蓝牙电缆
在我陈述将组件连接到Cybot之前,我使用面包板来测试试图减少浪费时间的各个部件。一旦完成这一点,我必须弥补杜邦电缆连接(见图片),因为我只有四个和两个引脚连接器,我组成了一个,后来用一滴热胶将它们握在一起。
该项目所需的唯一引脚是地/ Rx / Tx和5伏,但如果需要,我将电缆连接到未来使用。
第4步:电缆连接
Cybot Motor板的制造商编号为1至7的连接,右侧有1个,您需要在接接时记住这一点。
所以有7个连接(黑色块到靠近绿色LED的第一张图片顶部)
别针 | 功能描述 |
1 | 右电机 - 前进 |
2 | 右电机 - 反向 |
3. | 左电动机 - 前进 |
4. | 左电机 - 反向 |
5. | + 5伏输出 |
6. | + 6伏输出 |
7. | 零伏特 |
I have at present only connected up to the motor pins and the 0 volt pin so that's pins 1,2,3,4 and 7 of the cybot board.
如果您看看Arduino素描,您可以看到我已经根据下表所示,我已经命名为方向引脚的变量也如下表所示,(8,9,12和13 - Connect一个到每个Cybot引脚的最后一个引脚连接的是Arduino的ARDUINO引脚到电机板的+6伏针。)
针连接电机表到Arduino
Cybot Pin. | Arduino Pin. | |
1 - RM前进 | 至 | 〜8 |
2 - RM反向 | 至 | 〜9 |
向前3 - LM | 至 | 〜12 |
4 - LM反向 | 至 | 〜13 |
7 - 0伏输出 | 至 | 地面 |
大注 - 我最初将Cybot电机板的6伏(引脚6)连接到Arduino的参考销。这导致了几个观察结果。
1.其中一个轮子接收了连续的供应,使其变得缓慢,但在你选择基地之前不足以看到。
2.电机板开始变热 - 这是由于由专用电机供应提供的Arduino的额外电源连续短路。
通过以这种方式改变导线,车轮停止旋转,加热停止。结果
arduino的蓝牙连接
蓝牙别针 | Arduino Pin. | |
地面 | 至 | 地面 |
5伏 | 至 | 〜5V. |
RX. | 至 | 〜11 |
TX. | 至 | 〜10 |
电源通过基座底部的Cybot PowerPack提供给H-Bridge,而蓝牙电路由带有连接到地面的单独电池组和Arduino的VIN引脚供电
如果您将重新创建此目的,我可以建议获取Arduino的螺钉锁,请参阅图片2,因为它使连接非常容易。
第5步:附加额外的电池组
如上所述,我使用额外的包来为蓝牙供电:Arduino电路将其连接到使用热熔胶的电机内置的电机组顶部。我还在蓝牙模块上的Dupont连接器上放置了胶水,以保持其tegether。
第6步:Arduino固件
在尝试上传用于Arduino的草图之前,请确保从Arduino IDE中的工具中删除的工具中选择了端口,但MRE重要地选择您使用的正确板。
下面的代码将在最多的情况下工作,如果不是所有的Arduino板,但如果您在工具下设置了错误的类型,那么您只会在单击上传按钮时获得错误。
当我第一次运行这个时,我有很多问题,而不是连接,电机没有运行或运行不一致。
故障拍摄问题我建议从Cybot删除Arduino和蓝牙,并在面包板上设置并在继续前进。
如上所述,我发现我所采用的电缆线束将Cybot H桥联系到Arduino的情况下暂时耗尽,导致了气质操作。
因此,虽然我认为它是一个好主意使用线束并将创建作为指导的一部分 - 但您会注意到完全运行的视频使用跳线电线具有直接连接
// Arduino Nano的固件用于Cybot平台的蓝牙控制
//此文件不使用Arduino上的Tx / Rx连接进行串行通信,因此请制作以下Conncetions
// Arduino >>蓝牙// D03 >>> RX
// d02 >>> tx
#include //这是必须或串行通信不起作用
软件系列细胞(10,11);// rx,tx设置
int rm_forward = 8;//设置引用引脚,用于开/关活动
int rm_reverse = 9;//设置引用引脚,用于开/关活动
int lm_forward = 12;//设置引用引脚,用于开/关活动
int lm_reverse = 13;//设置引用引脚,用于开/关活动
int bluetoothdata;//计算机给出的数据
void setup(){//初始状态设置
cybot.begin(9600);
Cybot.println(“新闻界8:前进/ 2:反向/ 4:左/ 6:右/ 0:停止”);
PINMODE(RM_FORWARD,输出);
PINMODE(RM_REVERSE,输出);PinMode(LM_Forward,输出);
PINMODE(LM_REVERSE,输出);
}
void循环(){//放在这里的主代码,重复运行:
if(cybot.available()){bluetoothdata = cybot.read();
// 向前
if(bluetoothdata =='1'){//,如果第1号按下....首先停止所有活动,然后打开前向动作
DigitalWrite(RM_FORWARD,0);
DigitalWrite(lm_forward,0);
DigitalWrite(RM_REVERS,0);
DigitalWrite(lm_reverse,0);
DigitalWrite(RM_FORWARD,1);
DigitalWrite(LM_FORWARD,1);
cybot.println(“前进”);
}
//向后
if(bluetoothdata =='2'){//如果按下第2号码....首先停止所有活动,然后打开向后动作
DigitalWrite(RM_FORWARD,0);
DigitalWrite(lm_forward,0);
DigitalWrite(RM_REVERS,0);
DigitalWrite(lm_reverse,0);
DigitalWrite(RM_reverse,1);
DigitalWrite(lm_reverse,1);
cybot.println(“倒退”);
}
// 正确的
if(bluetoothdata =='4'){//如果第4号按下....首先停止所有活动,然后打开右侧运动量写(RM_FORWARD,0);
DigitalWrite(lm_forward,0);
DigitalWrite(RM_REVERS,0);
DigitalWrite(lm_reverse,0);
DigitalWrite(RM_reverse,1);
DigitalWrite(LM_FORWARD,1);
cybot.println(“右”);}
// 剩下
if(bluetoothdata =='6'){//,如果按下第6号码....首先停止所有活动,然后打开左移动作数号(RM_FORWARD,0);
DigitalWrite(lm_forward,0);
DigitalWrite(RM_REVERS,0);
DigitalWrite(lm_reverse,0);
DigitalWrite(lm_reverse,1);
DigitalWrite(RM_FORWARD,1);
cybot.println(“左”);
}
// 停止
if(bluetoothdata =='0'){//如果按数字0按....停止所有活动
DigitalWrite(RM_FORWARD,0);
DigitalWrite(lm_forward,0);
DigitalWrite(RM_REVERS,0);
DigitalWrite(lm_reverse,0);
cybot.println(“停止”);
}
}
延迟(100); //等待输入
}
附件
第7步:整理电线
一旦它全部将其工作时间整理电线,
为此,我只需重新路由一些电缆并使用热胶水将蓝牙开关连接到侧面。
我还需要为蓝牙模块制作挂载 - 对于此,我使用4个Dupont连接器案例并热粘在一起,然后使用热的胶水将带有蓝牙电缆和安装到底座。
第8步:Android App - Botnav1
我昨晚播放了App Inventor,并创建了我的第一个功能应用程序,该应用程序不是其中一个教程。
本节具有描述其功能的图片,并且一旦我获得机会,我将在操作中包含一个视频。
我称之为App Botnav1非常基本的,所以请善待,如果您发表评论 - 因为布局需要有点关注。包括的功能是
- 选择蓝牙(设备)
- 连接(如果已链接到设备,则此更改将断开连接)
- 方向控制(向前/向后/左右)
- 关闭(打开所有电机)
第二图示出了屏幕布局,其中剩余的4描绘编程块。
- 块图片1 - 识别可用的蓝牙模块
- 块图片2 - 连接按钮的操作将/分离到蓝牙模块
- 块图片3 - 基本方向控制包括停止
- 块图片4 - 在设计屏幕上的应用元素命名
对于应用程序图标,我使用我以前的导航箭头在接口设计上
APK文件附加到本指南中很有趣
附件
第9步:下一步
下次更新是为了改进Android应用程序。
我认为包含GPS,然后映射房子可能也有点乐趣,以便我可以看出我是否可以编写代码来导航地图而无需实际查看机器人。
如果你喜欢这个,可能会发现它有助于投票,我将进入几个比赛中。
谢谢
7点评论
1年前
精彩的指导 - 我有几个Cybots&Toms回到橱柜里,现在将夏天愉快地将它们转换为Arduino Control,并希望最后我有一个群体就像他们在阅读大学的7个矮人一样。设计了Cybots。
回复1年前
谢谢你很高兴你喜欢 - 与你的群体玩得开心。
5年前
嗨,我试图复制你的工作,但我无法看到如何实际连接第二个电池组的信息
5年前回复
SOZ击中帖子快速
我假设它在Arduino上连接到GND和5V,但只是想澄清
5年前回复
嗨,一款电池组是使用电机Moard上的W Thew Cybot Connectot连接的Cybots。另一个在Tophas上白色和棕色的电线。
白色进入开关 - 从交换机到vin引脚有另一个白色。
棕色电线直接从电池盒上的Neg到Arduino上的Grnd Pin
希望这可以帮助
5年前回复
在接线时要小心如果你弄错了,你应该能够发现它,因为车轮一直对它们有轻微的旋转 - 在这种情况下,电机板将开始变热 - 如果你直截了当离开并纠正它。
6年前介绍
嗨,做出评论。的instructasblesteame had to republish this guide which appears to have resulted in the loss of the comments.