上次成功实现了通过笔记本电脑蓝牙来控制智能小车机器人的运动,但是通过电脑控制毕竟不方便,于是乎~本人打算将控制程序移植到手机上。
目前主流的手机操作系统有塞班、安卓(Android)、Windows Mobile,对比了一下,首先,塞班是用C++写的,这么多门语言我唯独看到C++就头大···,放弃了···,Windows Moblie 其实和之前发的电脑端程序基本是一样的,也就没什么意思了,最后决定选择目前正火的Android手机作为控制平台。
Android是个开源的应用,使用Java语言对其编程。于是这次的开发我选用Eclipse作为开发工具,用Java语言开发手机端的控制程序,由于之前对Android的蓝牙通信这块涉及不多,一开始感觉有点小茫然,而网上也少有这方面的例程,有少数人做出了类似的东西,但是只传了个视频装X!雪特····
经过几天的研究,最终确定了手机蓝牙通信其实就是Socket编程,再经过一番编写和调试,昨晚终于大功告成!
这是视频:
下面开始介绍Android手机端控制程序的编写:
首先打开Eclipse,当然之前的Java开发环境和安卓开发工具自己得先配置好,这里就不多说了,网上教程一大摞。
然后新建一个Android项目,修改布局文件main.xml,代码如下:
android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="https://www.sodocs.net/doc/0d19238304.html,/apk/res/android" >
这个布局文件的效果就是如视频中所示的手机操作界面。
然后是权限声明,这一步不能少,否则将无法使用安卓手机的蓝牙功能。权限声明如下:
打开AndroidManifest.xml文件,修改代码如下:
package="com.ThinBTClient.www" android:versionCode="1" android:versionName="1.0"> android:label="@string/app_name">
其中红色、加粗部分就是要添加的权限声明。
然后编写Activity中的执行代码,这些代码的作用就是发送指令,控制小车的运动。
代码如下:
package com.ThinBTClient.www;
import android.app.Activity;
import android.os.Bundle;
import java.io.IOException;
import java.io.OutputStream;
import java.util.UUID;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import https://www.sodocs.net/doc/0d19238304.html,monDataKinds.Event;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class ThinBTClient extends Activity {
private static final String TAG = "THINBTCLIENT";
private static final boolean D = true;
private BluetoothAdapter mBluetoothAdapter = null;
private BluetoothSocket btSocket = null;
private OutputStream outStream = null;
Button mButtonF;
Button mButtonB;
Button mButtonL;
Button mButtonR;
Button mButtonS;
private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
private static String address = "00:11:03:21:00:43"; // <==要连接的蓝牙设备MAC 地址
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(https://www.sodocs.net/doc/0d19238304.html,yout.main);
//前进
mButtonF=(Button)findViewById(R.id.btnF);
mButtonF.setOnTouchListener(new Button.OnTouchListener(){ @Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
String message;
byte[] msgBuffer;
int action = event.getAction();
switch(action)
{
case MotionEvent.ACTION_DOWN:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "1";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
case MotionEvent.ACTION_UP:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "0";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
}
return false;
}
});
//后退
mButtonB=(Button)findViewById(R.id.btnB);
mButtonB.setOnTouchListener(new Button.OnTouchListener(){ @Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
String message;
byte[] msgBuffer;
int action = event.getAction();
switch(action)
{
case MotionEvent.ACTION_DOWN:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "3";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
case MotionEvent.ACTION_UP:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "0";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
}
return false;
}
});
//左转
mButtonL=(Button)findViewById(R.id.btnL);
mButtonL.setOnTouchListener(new Button.OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
String message;
byte[] msgBuffer;
int action = event.getAction();
switch(action)
{
case MotionEvent.ACTION_DOWN:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "2";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
case MotionEvent.ACTION_UP:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "0";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
}
return false;
}
});
//右转
mButtonR=(Button)findViewById(R.id.btnR);
mButtonR.setOnTouchListener(new Button.OnTouchListener(){ @Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
String message;
byte[] msgBuffer;
int action = event.getAction();
switch(action)
{
case MotionEvent.ACTION_DOWN:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "4";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
case MotionEvent.ACTION_UP:
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
message = "0";
msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
break;
}
return false;
}
});
//停止
mButtonS=(Button)findViewById(R.id.btnS);
mButtonS.setOnTouchListener(new Button.OnTouchListener(){ @Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction()==MotionEvent.ACTION_DOWN)
try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
String message = "0";
byte[] msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
return false;
}
});
if (D)
Log.e(TAG, "+++ ON CREATE +++");
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter == null) {
Toast.makeText(this, "Bluetooth is not available.", Toast.LENGTH_LONG).show();
finish();
return;
}
if (!mBluetoothAdapter.isEnabled()) {
Toast.makeText(this, "Please enable your Bluetooth and re-run
this program.", Toast.LENGTH_LONG).show();
finish();
return;
}
if (D)
Log.e(TAG, "+++ DONE IN ON CREATE, GOT LOCAL BT ADAPTER +++");
}
@Override
public void onStart() {
super.onStart();
if (D) Log.e(TAG, "++ ON START ++");
}
@Override
public void onResume() {
super.onResume();
if (D) {
Log.e(TAG, "+ ON RESUME +");
Log.e(TAG, "+ ABOUT TO ATTEMPT CLIENT CONNECT +");
}
BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
try {
btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Socket creation failed.", e);
}
mBluetoothAdapter.cancelDiscovery();
try {
btSocket.connect();
Log.e(TAG, "ON RESUME: BT connection established, data transfer link open.");
} catch (IOException e) {
try {
btSocket.close();
} catch (IOException e2) {
Log .e(TAG,"ON RESUME: Unable to close socket during connection failure", e2);
}
}
// Create a data stream so we can talk to server.
if (D)
Log.e(TAG, "+ ABOUT TO SAY SOMETHING TO SERVER +");
/* try {
outStream = btSocket.getOutputStream();
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Output stream creation failed.", e);
}
String message = "1";
byte[] msgBuffer = message.getBytes();
try {
outStream.write(msgBuffer);
} catch (IOException e) {
Log.e(TAG, "ON RESUME: Exception during write.", e);
}
*/
}
@Override
public void onPause() {
super.onPause();
if (D)
Log.e(TAG, "- ON PAUSE -");
if (outStream != null) {
try {
outStream.flush();
} catch (IOException e) {
Log.e(TAG, "ON PAUSE: Couldn't flush output stream.", e);
}
}
try {
btSocket.close();
} catch (IOException e2) {
Log.e(TAG, "ON PAUSE: Unable to close socket.", e2);
}
}
@Override
public void onStop() {
super.onStop();
if (D)Log.e(TAG, "-- ON STOP --");
}
@Override
public void onDestroy() {
super.onDestroy();
if (D) Log.e(TAG, "--- ON DESTROY ---");
}
}
可以看到,在这个程序中我直接把小车蓝牙模块的MAC地址给写进去了,其实更合理一点应该让程序运行后搜索周围蓝牙设备,然后选择需要连接的设备,获取它的MAC地址再连接,但是我为了图省事,就直接把我的小车的蓝牙MAC给定死了(反正也没那么多小车让我遥控~~~),这样一打开程序,手机将自动连接智能小车。
好了,手机端的开发到此介绍完毕~希望能为需要者提供一点帮助。
下一步是打算增加红外避障功能、超声波测距功能,机械手臂,如果有机会,以后再安装上火控系统发射钻天猴~,不过估计时间不太允许了······
最后在此感谢侯金龙童鞋提供了他心爱的Android手机~
ARM-STM32校园创新大赛 项目报告 题目:基于stm32f4的蓝牙控制小车 学校:中南民族大学 指导教师: 视频观看地址:https://www.sodocs.net/doc/0d19238304.html,/v_show/id_XNjA3NTE4MzU2.html
题目:基于stm32f4的蓝牙控制小车 关键词:STM32F4 LM2940-5.0 L298N FBT06_LPDB 蓝牙串口通信android 摘要 “基于stm32f4的蓝牙控制小车”是一个基于意法半导体与ARM公司生产的STM32F4 DISCOVERY开发板的集电机驱动模块、电源管理模块、stm32f4主控模块、蓝牙串口通信模块、android控制端模块。电机驱动模块使用了两个L298N 芯片来驱动4路电机,使能端连接4路来自主控板的PWM波信号,8个输入端接主控板的8个输出端口;电源管理模块使用了LM2940-5.0芯片进行12V到5V 的转换,12V用于电机模块的供电,5V用于蓝牙模块、传感器等的供电;主控模块采用了MDK编辑程序,然后下载到主控板,实现硬件与软件的交互;蓝牙串口通信模块则是采用了FBT06_LPDB针插蓝牙模块,与主控板进行串口通信,同时与android手机进行通信;android控制端模块是一个集开启蓝牙、搜索蓝牙、控制小车等功能。用户可以通过android控制端进行控制小车的运动,实现一些用户需要的功能和服务。 1.引言 蓝牙的创始人是瑞典爱立信公司,蓝牙技术是一种无限数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。手机之间通过蓝牙实现数据共享成为常理,将手机变为遥控器为人们的生活带来无限方便。遥控小车在工业、国防、科研等领域应用越来越广泛,例如说:消防遥控小车、探测小车等。本文详细阐述了使用蓝牙通信的手机遥控小车前行、倒退、左转、右转和停止等功能的软硬件设计过程。 2.系统方案 该系统分为电机驱动模块、电源管理模块、主控板、蓝牙通信模块、android 控制端等5个模块,如图2.1所示:
成绩评定表
课程设计任务书
阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块HC-05作为服务端。客户端采用Eclipse 开发环境,J2ME编程,服务端采用单片机控制。双方通过串口仿真协议进行通信,单片机驱动直流电机控制小车行动。实验结果表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 关键词:89c52,hc-05,遥控小车,Andriod
目录 1引言 (1) 1.1课题设计目的及意义 (1) 1.1.1设计的目的 (1) 1.1.2设计的意义 (2) 2 方案比较与论证 (2) 2.1无线单元方案与比较 (2) 3 硬件电路设计 (4) 3.1 总体设计 (4) 3.2 单片机模块 (5) 3.2.1 STC89C52简介 (5) 3.2.2 L298N驱动模块及原理介绍 (6) 3.2.3 蓝牙模块 (7) 4 软件设计 (8) 4.1 智能车运动控制程序 (8) 4.2 Android蓝牙客户端设计与实现 (9) 4.2.1 客户端界面设计 (10)
4.2.2 BluetoothCar类设计 (10) 4.2.3 单片机C语言代码 (10) 5 实验结果及分析 (16) 6 心得体会 (17) 参考文献 (17)
1引言 1.1课题设计目的及意义 1.1.1设计的目的 遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势。我国的无线遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的重点支持下,国内已大范围地进行无线遥控小车的研究。在研发应用方面取得了重要发展,但是与国际先进还存在一定的差距。无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势。目前在信息家电方面应用正在铺。遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势。我国的无线遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的重点支持下,国内已大范围地进行无线遥控小车的研究。在研发应用方面取得了重要发展,但是与国际先进还存在一定的差距。无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势。目前在信息家电方面应用正在铺开。各种家电共用遥控,并可组网与公众互联网相接,共享有用信息。目前蓝牙技术实现无线遥控的短板在于传输距离短和芯片
智能机器人设计报告 参赛者:庆东肖荣于腾飞 班级:级应用电子技术 指导老师:远明 日期:年月日 一、元器件清单: ,,,,,,,蜂鸣器,光敏电阻,光敏三极管,电阻、电容若干,超亮及普通发光管。二、主要功能: 本设计按要求制作了一个简易智能电动车,它能实现的功能是:从起跑线出发,沿引导线到达点。在此期间检测到铺设在白纸下的薄铁片,并实时存储、显示在“直道区”检测到的薄铁片数目。电动车到达点以后进入“弯道区”,沿圆弧引导线到达点继续行驶,在光源的引导下,利用轻触开关传来的电信号通过障碍区进入停车区并到达车库,完成上述任务后能够立即停车,全程行驶时间越少越好。 本寻迹小车是以有机玻璃为车架,单片机为控制核心,加以减速电机、光电传感器、光敏三极管、轻触开关和电源电路以及其他电路构成。系统由通过口控制小车的前进后退以及转向。寻迹由超亮发光二极管及光敏电阻完成,避障由轻触开关完成,寻光由光敏三极管完成。 并附加其他功能: .声控启动 .数码显示 .声光报警 三、主体设计 车体设计 左右两轮分别驱动,后万向轮转向的方案。为了防止小车重心的偏移,后万向轮起支撑作用。对于车架材料的选择,我们经过比较选择了有机玻璃。用有机玻璃做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。而且裁减比较方便! 电机的固定采用的是铝薄片加螺丝固定,非常牢固,且比较美观。 轮子方案 在选定电机后,我们做了一个万向轮,万向轮的高度减去电机的半径就是驱动轮的半径。轮子用有机玻璃裁出来打磨光华的,上面在套上自行车里胎,以防止打滑。 万向轮 当小车前进时,左右两驱动轮与后万向轮形成了三点结构,这种结构使得小车在前进时比较平稳。
蓝牙串口通信遥控小车
————————————————————————————————作者:————————————————————————————————日期:
蓝牙串口通信遥控小车 目录 1系统方案论证及方案选择 2本系统软硬件设计 2.1单元硬件电路设计 2.2软件部分设计 参考文献 附录1原器件清单 附录2电路原理图及印制板图 附录3程序 1. 系统方案论证及方案选择 1.总体设计方案 题目要求设计一个蓝牙串口遥控小车,通过对电机转速的控制,调节速度的大小,改变小车角度,并能实现转弯和旋转。设计主要由主控单片机STC 12C5A60S2驱动直流电机,使车轮工作,带动小车的转动。
2.基本工作原理
3.STC89C52RC有定时器T0 T1 T2,在自动控制领域经常把T1作为串口通信了T0作PWM调速用因此有必要把T2定时器拿出来作定时器作为声音频谱程序。下面介绍T2的用法 STC89C52RC有定时器T2 ?void main(void) ?{ ?/* T2定时器赋预装载值,溢出16次就是1秒。*/ ?RCAP2H=(65536-5000)/256; ?RCAP2L=(65536-5000)%256; ?ET2=1; //允许T2定时器中断 ?EA=1; //打开总中断 ?TR2=1; //启动T2定时器
?while(1); // 死循环,等待T2定时器的溢出中断 ?} ?void Timer2_Server(void) interrupt5 ?{ ?staticuint Timer2_Server_Count; ?// 定义静态变量,用来计数T2定时器的溢出次数(进入本函数的次数) ?TF2=0; ?// T2定时器发生溢出中断时,需要用户自己清除溢出标记,而51的其他定时器是自动清除的 ?Timer2_Server_Count++; ?if(Timer2_Server_Count==16)// T2定时器的预装载值为0x0BDC,溢出16次就是1秒钟。 ?{ ?Timer2_Server_Count=0; ?P1_7=~P1_7; // LED11反转显示。 ?} ?} ?voidTimer2_Server(void)interrupt5
课题:基于单片机得蓝牙控制小车专业: 班级: 学号: 姓名: 指导教师: 设计日期: 成绩: 重庆大学城市科技学院电气信息学院
目录 1、设计目得作用 (2) 2、设计要求.............................................. 23、设计得具体实现?2 3、1设计原理 (2) 3、2系统设计12? 3、3系统实现13? 4、总结19? 参考文献................................................ 20附录 ................................................... 21附录121? 附录22?2
C51蓝牙控制小车设计报告 1设计目得与意义 目得与意义:提高学生动手能力,培养学生得思维,巩固理论知识,让我们能对单片机更加深入得了解,加深同学们对单片机得认识,通过自己动手让小车跑起来还能让同学们更加有积极性,参与感,成就感.让学生们亲自体验这门课程得神奇性。 因为无线技术得广泛使用,使蓝牙技术得发展成为了趋势之一,蓝牙可以发送与接受语音与数据,满足了大多数人得需求,它也融合了其她相关产品得特点,也就是这样技术变得更多样性。实现了无线控制小车,摆脱了有线控制得不方便,更加智能。 2设计要求 SPP蓝牙串口调试助手---—》聊天窗口-—》 1、在Bluetooth_Car项目中添加超声波躲避障碍功能(在小车前进得过程中,实时检测障碍物,一旦检测得距离,接近设定得值,触发蜂鸣器,报警系统工作,小车停止前进); 2、在Bluetooth_Car项目中得串口中断服务函数中,添加小车前进得8个方向 ,前后左右,左前,右前,左后,右后; 3、利用外部中断,强制停止小车运行(无论小车现在处于什么状态),蜂鸣器报警1s后,可再运行; 4、用手机得蓝牙串口调试助手来远程操作小车。 3、设计得具体实现 3、1设计原理 芯片常识: STM8、C52 、STM32 、ARM C52:主要做末端得控制11、0592MHZ STM32:主要做工业控制领域--智能设备168M ARM:主要做消费市场——手机
第1章人工智能概述课后题答案 1.1什么是智能?智能包含哪几种能力? 解:智能主要是指人类的自然智能。一般认为,智能是是一种认识客观事物和运用知识解决问题的综合能力。 智能包含感知能力,记忆与思维能力,学习和自适应能力,行为能力 1.2人类有哪几种思维方式?各有什么特点? 解:人类思维方式有形象思维、抽象思维和灵感思维 形象思维也称直感思维,是一种基于形象概念,根据感性形象认识材料,对客观对象进行处理的一种思维方式。 抽象思维也称逻辑思维,是一种基于抽象概念,根据逻辑规则对信息或知识进行处理的理性思维形式。 灵感思维也称顿悟思维,是一种显意识与潜意识相互作用的思维方式。 1.3什么是人工智能?它的研究目标是什么? 解:从能力的角度讲,人工智能是指用人工的方法在机器(计算机)上实现智能;从学科的角度看,人工智能是一门研究如何构造智能机器或智能系统,使它能模拟、延伸和扩展人类智能的学科。 研究目标: 对智能行为有效解释的理论分析; 解释人类智能; 构造具有智能的人工产品; 1.4什么是图灵实验?图灵实验说明了什么? 解:图灵实验可描述如下,该实验的参加者由一位测试主持人和两个被测试对象组成。其中,两个被测试对象中一个是人,另一个是机器。测试规则为:测试主持人和每个被测试对象分别位于彼此不能看见的房间中,相互之间只能通过计算机终端进行会话。测试开始后,由测试主持人向被测试对象提出各种具有智能性的问题,但不能询问测试者的物理特征。被测试对象在回答问题时,都应尽量使测试者相信自己是“人”,而另一位是”机器”。在这个前提下,要求测试主持人区分这两个被测试对象中哪个是人,哪个是机器。如果无论如何更换测试主持人和被测试对象的人,测试主持人总能分辨出人和机器的概率都小于50%,则认为该机器具有了智能。 1.5人工智能的发展经历了哪几个阶段? 解:孕育期,形成期,知识应用期,从学派分立走向综合,智能科学技术学科的兴起
(完整)基于Android的蓝牙遥控小车设计 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于Android的蓝牙遥控小车设计)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于Android的蓝牙遥控小车设计的全部内容。
成绩评定表 课程设计任务书
阐述一种通过手机蓝牙遥控小车行走的软、硬件设计.手机蓝牙作为客户端,小车上的蓝牙模块HC—05作为服务端。客户端采用Eclipse开发环境,J2ME编程,服务端采用单片机控制。双方通过串口仿真协议进行通信,单片机驱动直流电机控制小车行动。实验结果
表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 关键词: 89c52,hc—05,遥控小车,Andriod 目录 1引言 (1) 1。1课题设计目的及意义 (1) 1。1。1设计的目的 (1) 1.1.2设计的意义 (1) 2 方案比较与论证 (2) 2。1无线单元方案与比较 (2) 3 硬件电路设计 (3) 3。1 总体设计 (3) 3.2 单片机模块 (4) 3.2。1 STC89C52简介 (4) 3.2。2 L298N驱动模块及原理介绍 (5) 3。2.3 蓝牙模块 (6) 4 软件设计 (6) 4。1 智能车运动控制程序 (6) 4。2 Android蓝牙客户端设计与实现 (7) 4。2。1 客户端界面设计 (8)
智能机器人的设计与制作WORD版本可编辑
智能机器人的设计与制作 引言 近几年机器人已成为高技术领域内具有代表性的战略目标。机器人技术的出现和发展,不但使传统的工业生产面貌发生根本性变化,而且将对人类社会产生深远的影响。随着社会生产技术的飞速发展,机器人的应用领域不断扩展。从自动化生产线到海洋资源的探索,乃至太空作业等领域,机器人可谓是无处不在。目前机器已经走进人们的生活与工作,机器人已经在很多的领域代替着人类的劳动,发挥着越来越重要的作用,人们已经越来越离不开机器人帮助。机器人工程是一门复杂的学科,它集工程力学、机械制造、电子技术、技术科学、自动控制等为一体。目前对机器人的研究已经呈现出专业化和系统化,一些信息学、电子学方面的先进技术正越来越多地应用于机器人领域。目前机器人行业的发展与30 年前的电脑行业极为相似。今天在汽车装配线上忙碌的一线机器人,正是当年大型计算机的翻版。而机器人行业的利基产品也同样种类繁多,比如协助医生进行外科手术的机械臂、在伊拉克和阿富汗战场上负责排除路边炸弹的侦察机器人、以及负责清扫地板的家用机器人,还有不少参照人、狗、恐龙的样子制造机器人玩具。舞蹈机器人具有人类外观特征、可爱的外貌、又兼有技术含量,极受青少年的喜爱。我从前年开始机器人方面的研究,在这过程中尝试过很多次的失败,也感受到了无比的乐趣。 图1.1、机器人 1 绪论
机器人技术作为20 世纪人类最伟大的发明之一,自20 世纪60 年代初问世以来,经历40 余年的发展已取得长足的进步。未来的机器人是一种能够代替人类在非结构化环境下从事危险、复杂劳动的自动化机器,是集机械学、力学、电子学、生物学、控制论、计算机、人工智能和系统工程等多学科知识于一身的高新技术综合体。走向成熟的工业机器人,各种用途的特种机器人的多用化,昭示着机器人技术灿烂的明天。 1.1 国内外机器人技术发展的现状 为了使机器人能更好的应用于工业,各工业发达国家的大学、研究机构和大工业企业对机器人系统开发投入了大量的人力财力。在美国和加拿大,各主要大学都设有机器人研究室,麻省理工学院侧重于制造过程机器人系统的研究,卡耐基—梅隆机器人研究所侧重于挖掘机器人系统的研究,而斯坦福大学则着重于系统应用软件的开发。德国正研究开发“MOVE AND PLAY”机器人系统,使机器人操作就像人们操作录像机、开汽车一样。从六十年代开始日本政府实施一系列扶植政策,使日本机器人产业迅速发展起来,经过短短的十几年。到80 年代中期,已一跃而为“机器人王国”。其机器人的产量和安装的台数在国际上跃居首位。按照日本产业机器人工业会常务理事米本完二的说法:“日本机器人的发展经过了60 年代的摇篮期。70 年代的实用期。到80 年代进人普及提高期。” 并正式把1980 年定为产业机器人的普及元年”。开始在各个领域内广泛推广使用机器人。中国机器人的发展起步较晚,1972 年我国开始研制自己的工业机器人。"七五"期间,国家投入资金,对工业机器人及其零部件进行攻关,完成了示教再现式工业机器人成套技术的开发,研制出了喷涂、点焊、弧焊和搬运机器人。1986 年国家高技术研究发展计划(863 计划)开始实施,智能机器人主题跟踪世界机器人技术的前沿,经过几年的研究,取得了一大批科研成果,成功地研制出了一批特种机器人。20 世纪90 年代,我国的工业机器人又在实践中迈进一大步,先后研制出了点焊、装配、喷漆、切割、搬运等各种用途的工业机器人,并实施了一批机器人应用工程,形成了一批机器人产业化基地,为我国机器人产业的腾飞奠定了基础。 1.2 机器人技术的市场应用 机器人融入我们日常生活的步伐有多快?据国际机器人联盟调查,2004 年,全球个人机器人约有200 万台,到2008 年,还将有700 万台机器人投入运行。按照韩国信息通信部的计划,到2013 年,韩国每个家庭都能拥有一台机器人;而日本机器人协会预测,到2025 年,全球机器人产业的“蛋糕”将达到每年500 亿美元的规模(现在仅有50亿美元)。与20 世纪70 年代PC 行业的情况相仿,我们不可能准确预测出究竟哪些用途将推动这个新兴行业进入临界状态。不过看起来,机器人很可能在护理和陪伴老年人的工作上大展宏图,或许还可以帮助残疾人四处走走,并增强士兵、建筑工人和医护人员的体力与耐力。目前,我国从事机器人研发和应用工程的单位200 多家,拥有量为3500 台左右,其中国产占20%,其余都是从日本、美国、瑞典等40 多个国家引进的。2000 年已生产 各种类型工业机器人和系统300 台套,机器人销售额6.74 亿元,机器人产业对国民经济的年收益额为47 亿元,我国对工业机器人的需求量和品种将逐年大幅度增加。1.3 机器人技术的前景展望机器人是人类的得力助手,能友好相处的可靠朋友,将来我们会看到人和机器人会存在一个空间里边,成为一个互相的助手
上次成功实现了通过笔记本电脑蓝牙来控制智能小车机器人的运动,但是通过电脑控制毕竟不方便,于是乎~本人打算将控制程序移植到手机上。 目前主流的手机操作系统有塞班、安卓(Android)、Windows Mobile,对比了一下,首先,塞班是用C++写的,这么多门语言我唯独看到C++就头大···,放弃了···,Windows Moblie 其实和之前发的电脑端程序基本是一样的,也就没什么意思了,最后决定选择目前正火的Android手机作为控制平台。 Android是个开源的应用,使用Java语言对其编程。于是这次的开发我选用Eclipse作为开发工具,用Java语言开发手机端的控制程序,由于之前对Android的蓝牙通信这块涉及不多,一开始感觉有点小茫然,而网上也少有这方面的例程,有少数人做出了类似的东西,但是只传了个视频装X!雪特···· 经过几天的研究,最终确定了手机蓝牙通信其实就是Socket编程,再经过一番编写和调试,昨晚终于大功告成! 这是视频: 下面开始介绍Android手机端控制程序的编写: 首先打开Eclipse,当然之前的Java开发环境和安卓开发工具自己得先配置好,这里就不多说了,网上教程一大摞。 然后新建一个Android项目,修改布局文件main.xml,代码如下:
编号: 审定成绩: 毕业设计(论文) 设计(论文)题目:基于安卓手机蓝牙控制的智能小车设计 学院名称:自动化 学生姓名: 专业:测控技术与仪器 班级: 学号: 指导教师: 答辩组负责人: 填表时间:2013 年 05 月 制
摘要 随着物联网的兴起,Android手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝牙控制的智能小车设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线遥控小车新的解决方案。设计以手机控制平台、蓝牙通讯模块、电机驱动模块等硬件模块组成的遥控小车。实现小车的前进、后退、前左转弯、前右转弯、后左转弯、后右转弯等实时控制功能。为遥控玩具小车的设计提出了一种新的思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。 阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块HC-06作为服务端。客户端采用Eclipse开发环境,JAVA编程,服务端采用单片机控制。双方通过串口进行通信,单片机驱动直流电机控制小车行动。实验结果表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 本文介绍了基于安卓手机的蓝牙智能小车控制要实现的功能,接着阐述该系统电路的设计及原理的说明,包括了方案的设计、重要元器件的介绍、电路设计的说明(包括单片机控制电路、电机驱动电路)安卓手机软件界面设计、软件设计流程以及系统的调试。最后总结了基于安卓的蓝牙智能小车控制设计完成的任务,分析系统出现的不足。 【关键词】Andriod蓝牙智能小车智能手机AT89C52单片机
ABSTRACT With the rise of the Internet of Things, Android phones with its unique advantage of being open for us to provide more quality and convenient technological achievements. The research is based on the Android mobile phone Bluetooth controlled smart car design, based on mobile platforms, by means of Bluetooth technology, design and implementation of a wireless remote control car new solutions. Control platform designed for mobile phones, Bluetooth communication module, motor drive modules and other hardware modules remote control car. Realize the car forward, backward, turn left in front, front right turn after turn left, turn right after the other real-time control functions. For the remote control toy car design presents a new way of thinking, and can for the future smart home remote control designed to provide some reference value. Describes one kind of walking through the phone's Bluetooth remote control car software and hardware design. Bluetooth mobile phone as a client, a small car Bluetooth Module HC-06 as a server. Clients using the Eclipse development environment, JAVA programming, client services using micro-controller. The two sides communicate through the serial port, the microcontroller drive DC motor control car action. Experimental results show that the car can receive mobile phone remote control signals and the flexibility to move forward, backward, turn left, turn right and stop functions. Introduces the based on Andrews's the Bluetooth intelligent trolley control want to achieve the function is trolley be able to forward, backward, turn left, turn right, then expounded that the system circuit design and principle of description, including the program design, it is important components introduction, circuit design Description of (, including SCM control circuit, the motor drive circuit) Andrews mobile phone software interface design, software design flow as well as system debugging. Finally summed up the based on Andrews's the Bluetooth intelligent trolley control design is completed the task of, analysis system appear deficiencies. 【Key words】Andriod Bluetooth Intelligent car Smartphone AT89C52 SCM
学校论文 开展通用技术选修课“简易机器人制作”的 有效教学实践与探究 安徽省阜阳第一中学李亚东 [摘要] 通过通用技术选修课”简易机器人制作”的教学,激发了学生学习兴趣、通过在“做中学”、“学中做”的教学方式,以及突出以学生是学习的主体,有效的学习必须建立在学习者自身的主观能动上,这是学习或教学当中的一个最根本的问题。同时要发挥教师的主导作用,在课堂上有效的时间内培养了学生的动手能力、创新能力,如通过同学小组间的机器人的竞赛,增强的学生的合作意识,培养了学生的团队精神,以及对科技的兴趣。对于全面提高学生的综合素质大有裨益,特别在技术素养方面。从而达到课堂的有效教学效果。 [关键词] 激发培养做中学学中做合作主体有效教学 在加强学生素质教育、培养学生学习兴趣、动手能力、自我学习能力、创新能力以及与国际素质教育接轨的背景下,以及最近几年来,国内省级的、国家级的,以及国际的FLL、VEX大赛,机器人各种竞赛活动如火如荼的开展着,而我市这一块才刚刚起步,我校在这一块也开始了通用技术选修课简易机器人制作的有效教学实践与探索。 简易机器人制作课程现今仅作为通用技术选修内容,简易机器人的制作本身有很强的实践性、趣味性、开放性,结果的多样性,学生感兴趣的往往是最终制作出的各式各样机器人作品。由于受限于机器人系统的知识结构体系,机器人本身涉及的知识较多,且对学生而言较难掌握,加之不同的学校设备器材采购有限,不可能满足每一个学生动手操作实践的需求。那么如何在课堂上进有有效、高效的教学,让学生快速入门,并掌握大量的复杂的有很深的相关知识,是摆在我面前的一个难题。目前我校乃至我校教学这一块尚处空白,怎么办?就这一块,我从开展通用技术选修课简易机器人制作作为切入点,做了一些课堂的有效教学实践与探究。 (注:从我校去年选拔优秀学生首次参加全省的青少年机器人比赛,其中
无需编程,DIY自己智能小车的Android蓝牙遥控软件(一) 分类:单片机小车2012-09-04 19:58 2928人阅读评论(7) 收藏举报 很多热衷于玩单片机小车、机器人的童靴,往往也向往着有天能自己编写一个Android手机的遥控程序,通过自己的手机遥控小车,单片机程序用C语言或者汇编什么的都可以容易完成,,无奈要写一个上位机的Android控制程序就要会java、还要学一点xml知识,对于只学过C 或C++的人来说……..╮(╯▽╰)╭ 不过万能的Google提供了一款云端Android程序开发工具:AppInventor。因为对于想要用手机控制机器人的使用者而言,他们不大需要太华丽的界面,只要使用基本组件例如按钮、文字输入输出即可,所以,App Inventor 让你抛开复杂的程序代码,使用搭积木式的方法来完成您的Android程序。(完全不需要编程哦) 上个效果图先。 呵呵,有没有跃跃欲试的冲动?按照下面的步骤一步一步来吧: 一、要有一台电脑(废话呀…………)
系统需求: 1)Macintosh:Mac OS X 10.5,10.6 2)Windows系列:Windows XP,Windows Vista,Windows 7都可以的 3)GUN/Linux系统:Ubuntu 8+,Debian 5+ 等。 1)Mozilla Firefox 3.6或更高 2)Apple Safari 5.0或更高 3)Google Chrome 4.0或更高 4)IE6及更高 其次测试一下你的Java环境配置是否正确: 这需要在你的电脑上能够运行Java ,目前官方更新到了Java 7,如果没有安装的话,可以在Oracle官方网站上去下载(我的电脑有没有装了java呢?到java 的官方链接里看一下知道了https://www.sodocs.net/doc/0d19238304.html,/zh_CN/download/installed.jsp)。 要有一个Gmail帐号,个人认为Gmail邮箱是必备的邮箱啊,没有就申请一个。 最后,安装App Inventor软件包:在使用App Inventor之前,你还需要安装一个叫做App Inventor Setup的软件包在你的电脑上。当然你需要根据你的操作系统来下载不同的软件包的。这里我提供的是Windows系统下的软件包,其他的可以在Google的网站上去下载!Download!!下载完成后的文件名应该是: AppInventor_Setup_Installer_v_1_2.exe (~92 MB),点击打开安装即可,这里建议最好不要更改安装路径的。这里提供以下地址: https://www.sodocs.net/doc/0d19238304.html,/learn/setup/setupwindows.html 到目前为止,以上4个步骤如果都顺利,那么我们可以登录这里开始编写Android软件啦:https://www.sodocs.net/doc/0d19238304.html,/ 点击右边的红色“Invent”按钮进入MyProjects页面,这里就可以新建工程,开始编写Android软件了。
一说机器人是一款什么样的产品 随着移动互联网快速发展以及4G时代的到来,我们的生活已经无形中被移动设备所绑定,无论是在公共场合,还是家庭场景中,手机、PAD等等移动设备的使用者到处可见,当大众将视野的注意力都集中到了电脑或者手机的屏幕上时,一个新兴的行业衍生而出,那就是移动音频;更多人会去通过语音进行知识的获取与共享,那么,如何让这些声音丰富我们的日常生活呢?本期路一鸣对话金极点科技联合创始人龙小平、钟泽真,“听见不一样的世界” 龙小平,毕业于电子科技大学,此后获得同济大学、清华大学硕士学位,拥有丰富的电信业务运营经验和移动互联网领域投融资经验。2005年创办手机视频公司,运营移动互联网手机视频平台业务。2008年创办金极点科技(北京)有限公司,开展移动互联网音频业务运营。 钟泽真,毕业于加拿大皇家路大学,此后获得南开大学、清华大学硕士学位,拥有丰富的互联网运营经验。2000年开始连续创业,先后参与创办了移动定位、电子商务、手机银行等领域的多家移动互联网公司,2008年创办金极点科技(北京)有限公司,进入移动音频领域。 金极点科技(北京)有限公司成立于2008年,北京市国家级高新技术企业,是国内领先的移动互联网音频平台和服务提供商,致力于创建网络音频内容的传播和消费方式。2015年金极点科技顺利完成A轮融资,加快在内容、平台、终端方面的发展,创建了一说音频社交平台,并研发投产了一说宝宝机器人、一说云镜智能后视镜等一系列智能硬件终端产品,建立内容+平台+终端的移动音频业务生态,为用户提供极致音频业务体验。 金极点科技是国内最早投身移动互联网音频领域的公司,2009年就敏锐地意识到移动音频市场巨大的发展潜力,投身其中,不断探索,最终确定了适合自己的业务模式和发展道路,持续健康发展。
毕业设计(论文) 设计(论文)题目:基于安卓手机蓝牙控制的智能小车设计
摘要 随着物联网的兴起,Android手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝牙控制的智能小车设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线遥控小车新的解决方案。设计以手机控制平台、蓝牙通讯模块、电机驱动模块等硬件模块组成的遥控小车。实现小车的前进、后退、前左转弯、前右转弯、后左转弯、后右转弯等实时控制功能。为遥控玩具小车的设计提出了一种新的思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。 阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块HC-06作为服务端。客户端采用Eclipse开发环境,JAVA编程,服务端采用单片机控制。双方通过串口进行通信,单片机驱动直流电机控制小车行动。实验结果表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 本文介绍了基于安卓手机的蓝牙智能小车控制要实现的功能,接着阐述该系统电路的设计及原理的说明,包括了方案的设计、重要元器件的介绍、电路设计的说明(包括单片机控制电路、电机驱动电路)安卓手机软件界面设计、软件设计流程以及系统的调试。最后总结了基于安卓的蓝牙智能小车控制设计完成的任务,分析系统出现的不足。 【关键词】Andriod蓝牙智能小车智能手机AT89C52单片机
ABSTRACT With the rise of the Internet of Things, Android phones with its unique advantage of being open for us to provide more quality and convenient technological achievements. The research is based on the Android mobile phone Bluetooth controlled smart car design, based on mobile platforms, by means of Bluetooth technology, design and implementation of a wireless remote control car new solutions. Control platform designed for mobile phones, Bluetooth communication module, motor drive modules and other hardware modules remote control car. Realize the car forward, backward, turn left in front, front right turn after turn left, turn right after the other real-time control functions. For the remote control toy car design presents a new way of thinking, and can for the future smart home remote control designed to provide some reference value. Describes one kind of walking through the phone's Bluetooth remote control car software and hardware design. Bluetooth mobile phone as a client, a small car Bluetooth Module HC-06 as a server. Clients using the Eclipse development environment, JAVA programming, client services using micro-controller. The two sides communicate through the serial port, the microcontroller drive DC motor control car action. Experimental results show that the car can receive mobile phone remote control signals and the flexibility to move forward, backward, turn left, turn right and stop functions. Introduces the based on Andrews's the Bluetooth intelligent trolley control want to achieve the function is trolley be able to forward, backward, turn left, turn right, then expounded that the system circuit design and principle of description, including the program design, it is important components introduction, circuit design Description of (, including SCM control circuit, the motor drive circuit) Andrews mobile phone software interface design, software design flow as well as system debugging. Finally summed up the based on Andrews's the Bluetooth intelligent trolley control design is completed the task of, analysis system appear deficiencies. 【Key words】Andriod Bluetooth Intelligent car Smartphone AT89C52 SCM
人工智能概念股票汇总一览 人工智能概念股活跃龙头:科大讯飞(002230)、蓝色光标(300058)、昆仑万维(300418)、慈星股份(300307)、骅威股份(002502) 人工智能概念股相关上市公司汇总: 沪市:中源协和(600645)、佳都科技(600728)、张江高科(600895)深市:天音控股(000829)、紫光股份(000938)中小板:江南化工(002226)、科大讯飞(002230)、奥飞动漫(002292)、康力电梯(002367)、科远股份(002380)、巨星科技(002444)、骅威股份(002502)创业板:机器人(300024)、蓝色光标(300058)、思创医惠(300078)、慈星股份(300307)、东方网力(300367)、昆仑万维(300418)、科大讯飞(002230) 公司为中国最大智能语音技术提供商,在中文语音合成市场拥有70%以上市场份额,中文语音产业60%以上整体市场份额,处于语音市场绝对领先地位。 高乐股份(002348) 幽联科技共同出资设立子公司,专注语音智能玩具的研发。公司此次与幽联技术的合作,实现了真正意义上对人工智能领域的切入,是公司在“玩具智能化”与“教育智能化”两条发展路径上的必经之路,对公司未来“玩具+教育”
两大布局的意义深远。蓝色光标(300058) 小i机器人专注于智能机器人核心交互技术的研发,并在大量的商业化应用中推动了该技术的产业化进程。在自然语言处理、语义分析和理解、知识工程和智能大数据等方面,小i走在行业的前列,获得了多项国家发明专利授权,并参与国际和国内的智能人机交互标准建设。蓝色光标公司以约5000万元增资“小i机器人”的拥有者上海智臻网络科技有限公司。增资后,公司将持有上海智臻125.16元出资额,占其总股本的7%。公司拥有最先进的智能人机对话引擎,曾起诉苹果公司的Siri语音系统涉嫌专利侵权并胜诉。康力电梯(002367) 公司以现金5330万元增资参股紫光优蓝,其中4000万元用于增资,1330万元用于受让紫光股份所持有紫光优蓝14.285万元出资额,公司共持有紫光优蓝40%的股权。紫光优蓝是国内领先的家用智能机器人研发销售企业,致力于民用智能机器人产品的研发及营销拓展,紫光优蓝的核心技术与管理团队2007年进入家用智能机器人研发领域,并与中国科学院、北京科技大学等国内外顶级科研机构形成战略合作,在AI(人工智能)、语音识别、智能感应、交互式软件等各方面都是行业的专家。昆仑万维(300418) 出资300万美金与其他方共同成立Kunlun AI(昆仑人工智能科技公司)。拟新设的昆仑人工智能总股本为1亿股。