搜档网
当前位置:搜档网 › 用Android控制Arduino小车

用Android控制Arduino小车

龙源期刊网 https://www.sodocs.net/doc/b213853809.html,

用Android控制Arduino小车

作者:谢作如刘正云

来源:《中国信息技术教育》2014年第15期

用Arduino做一辆小车,原本是一个入门的项目,很多人都做过。但是,这辆小车如果能用Android手机或者平板电脑来控制,无疑就有趣多了。在MIT的App Inventor帮助下,编写Android系统上的App程序,也能够以搭积木的形式完成。同样,Arduino方面的代码,也能

够采用一款图形化的编程插件——ArduBlock来编写。用Android控制Arduino小车,就成为

一个技术门槛很低,却非常具有挑战性的综合性任务了。

● 项目描述

本项目指设计一辆能够通过Android手机控制的小车,小车控制板采用开源硬件Arduino。通过手机屏幕或者手机的重力传感器,能控制小车的前进、后退、左转、右转、原地转等各种功能。本项目的难度设计为小学生都能完成,所以小车的程序我们选择用ArduBlock编写,手机的程序由App Inventor编写。

因为Arduino机器人的形式很多,如智能灯、机械臂、人形机器人等,所以这个项目具有一定的可扩展性,还可以实现更多的功能。

● 通讯分析

Android手机和Arduino小车的通讯方式很多,但蓝牙方式无疑是最简单、最方便的选择,因为蓝牙已经成为Android手机的标配。App Inventor中有蓝牙的编程模块,能实现通过蓝牙来读取和发送数据。大部分的Arduino控制板,都预设了蓝牙模块的接口,而蓝牙模块的价格也相对低廉,淘宝上随处可买。

手机控制小车的程序设计分为手机程序和小车程序,即上位机与下位机两部分。手机(上位机)部分通过手机自带的蓝牙发送控制命令,如前进、后退、左右转等。小车(下位机)部分则根据蓝牙模块(串口)收到的命令,做出相应的动作。具体的通讯过程如图1所示。

在这个项目中,设计手机和小车的通讯数据格式是关键,即手机发送的数据分别代表什么命令。考虑到ArduBlock教育版只能获取串口数据中的数字,所以我们设计了下面的通讯协议,分别定义了数据和命令的对应关系,如表1。

● Arduino小车搭建和程序设计

1.硬件搭建

相关主题