14193| 4
|
[项目] 基于Ardunio的Android远程控制机器人 |
简介: 你好, 在这个教程中,我想探索Arduino和安卓之间的联系。二者都是开源的,并且有易于编程的环境(Android并不容易,但相对来说还好),以及它们之间的相互作用使得人机交互越来越有趣。 这里的目标是通过蓝牙连接,用最简单的Android应用程序驱动一个小Arduino机器人。机器人本身没有什么特别的,灵感则是来自于很多教程上的传播。但是我还没有找到教程如何创建一个Android远程控制,所以本文应运而生。 你需要懂: ----了解Arduino和电子知识,包括焊接,尽管这里只会用到一点点。Arduino初学者的工具箱必须是完备的。 步骤二:进行电气连接 1) 如图,将焊接上排针的电机驱动板按照上图的方式跟Arduino UNO板连接 2) 将蓝牙收发器插接到电路实验板上 3) 利用导线将电机驱动板上的电源+5V和接地处分别同电路实验板上的蓝牙模块的电源和接地处相连 4) 将蓝牙模块的Tx和Rx引脚同Arduino上的Tx和Rx互联 警告1:某一些的蓝牙模块连接可能要求Tx和Rx交叉互联(也就是说将蓝牙的Tx端同Arduino的Rx连接,蓝牙的Rx同Arduino的Tx连接)。在咱们所使用的这个模块中,咱们是使用Tx—Tx,Rx—Rx的连接方式。当然,当你不知道该如何连接的时候你可以任意按照一种方法连接,如果他不工作则将Tx和Rx的线相互交换。 警告2:当Arduino IDE在更新固件时需要将连接蓝牙模块的TX和RX引脚断开,否则会出现代码更新失败。 1) 在电机的两极上焊接上一定长度导线。 2) (可选)利用螺丝将电机和电机座固定 步骤四:完成装配1) 切出一片的MDF—大约20x20cm 2) 利用螺丝或者双面胶直接将Arduino UNO、电机驱动板、电池盒以及万向轮固定到MDF上 3) 将两个电机分别固定至MDF的两侧,为了小车的牢固性建议使用螺丝固定 4) 将电机的电源线同电机驱动板连接 恭喜你!如图,这就是一个简单的机器人了。给该机器人上电,如果你能够看到Arduino电源指示灯点亮了,并且蓝牙指示灯也开始闪烁了,那么说明硬件部分已经没有问题了。 步骤五:软件部分 软件部分一共包含以下三个方面: 1) 我们将提供一个安卓端的app,该app可以实现同机器人蓝牙的连接。当连接时,智能手机和Arduino机器人之间会存在一系列连接。 2) 用户可以利用app中的箭头去控制机器人的走向,利用stop使机器人停止运行,每次用户按下按钮,app会发射一个特征信号。 3) Arduino UNO一直在监听串口数据,一旦发现命令更新则去执行最新命令 步骤六:TheArduino sketch 代码利用Arduino IDE烧录至Arduino UNO中(记得将蓝牙模块同Arduino断开)。正如你在程序中所看到的,此处仅仅定义了5个指令:前进,后退,左转,右转和停止。在整个运行过程中电机都是以最高速运行的。我期待你在app中添加相应的调速的功能,或者只是某个轮子的速度调整。如果你实现了请告诉我,我会在机器人那一端去扩充对应的指令表。 步骤七:安卓端App 提取下列文件到你的安卓常用项目文件夹,如果你使用Eclipse,,就类似Eclipse工作区。 然后,你的Android智能手机连接到您的计算机,并启动应用程序 - 它会自动转移到您的智能手机。 快速运行后。该应用程序有两种主要类型: 1. AndroidRemoteActivity,主要的activity会布局activity_android_remote并且运行。他还可以定义按键,例如将发送字符关联到每一个箭头。 2. 一个BtInterface class可以提供所有实用工具来管理蓝牙连接。例如连接与断开,通过串口端接收与发送信息等。此实用程序来自本教程。 警告1:蓝牙模块的名称是硬编码在应用程序中。我的是“HC-05”。如果你的模块是不同的,你应该改变这个名字。 警告2:蓝牙模块尝试连接配对后,会与你的手机连接。要做到这一点,先用BT连接启动Arduino,然后打开智能手机的蓝牙。搜索你的模块,点击它(如果被要求输入密码,通常是“1234”或“0000”) - 在这里,它会配对成功。 最重要的 ----用户点击“连接”-当Arduino板子被驱动,蓝牙模块闪烁时,应这么做。当你看到APP中显示“已连接”时,蓝牙模块应该停止闪烁。 ----用户点击箭头或“停止”。该应用程序通过串行连接发送的字符到Arduino,与此同时您应该看到应用程序里会出现一个确认消息的机器人移动。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed