基于android手机的多轴飞行器姿态控制系统学士学位论文.doc

上传人:知****量 文档编号:91608490 上传时间:2023-05-27 格式:DOC 页数:65 大小:5.70MB
返回 下载 相关 举报
基于android手机的多轴飞行器姿态控制系统学士学位论文.doc_第1页
第1页 / 共65页
基于android手机的多轴飞行器姿态控制系统学士学位论文.doc_第2页
第2页 / 共65页
点击查看更多>>
资源描述

《基于android手机的多轴飞行器姿态控制系统学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于android手机的多轴飞行器姿态控制系统学士学位论文.doc(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、北京邮电大学毕业设计 基于Android手机的多轴飞行器姿态控制系统摘 要随着Android开发技术的日趋成熟,基于Android操作系统的手机使用也越来越广泛,从而Android手机的音频接口技术的发展也引起了软件开发人员的广泛关注,可以利用音频接口进行相关的控制。音频接口通常与前置麦克、线路输入和其他一系列的输入设备配合使用。在深入理解Android开发技术和音频接口后,构建了一个小型控制系统。该系统中通过Android平台播放纯音文件,纯音文件播放使得音频接口输出正弦波信号,并通过Android端的程序控制信号的幅度和频率。Android端通过音频线与ARM开发板连接,ARM开发板将接收

2、的信号转换为遥控器所需的模拟信号,从而控制遥控器发出无线电波控制多轴飞行器的姿态。Android端的音频接口输出四路信号,左、右两个声道的幅度和频率信号分别对应多轴飞行器的俯仰,横滚,偏航和油门四个姿态。该设计最终实现了将Android平台输出的音频信号转换为四路的数字信号,还未能在实体的多轴飞行器上进行测试。关键词 Android;音频;单片机The Multirotor Attitude Control System Based on AndroidAbstractWith the maturing of Android development technology, based on t

3、he Android operating system is becoming more and more widely used. so the Android mobile phone audio interface technology development also caused wide attention of software developers, can use to control audio interface. Audio interface and pre - mike usually, line input and a host of other input de

4、vices.In the deep understanding of the Android development technology and audio interface. I built a small control system. The system through the Android platform in the play pure tone files, pure tone file broadcast audio interface output sine wave signal, and through to the Android program control

5、 signal amplitude and frequency.Android through audio line connected to the ARM development board, ARM development board will receive signals into analog signals required for remote control, remote control to control a radio control multi-axis vehicle attitude. Androids audio output interface four-w

6、ay signal, the amplitude and frequency of the left and right two channel signals respectively corresponding to the pitch of multi-axle vehicle roll and yaw and the throttle four gesture.Finally achieved the design of the Android platform of the output audio signal can be converted into four digital

7、signal of the road. But not on the entity of multi-axle vehicle test.Key words Android; Audio; Development board目 录摘 要iAbstractii1 绪论11.1 研究的相关背景11.1.1 多轴飞行器的发展11.1.2 多轴飞行器的控制方式21.1.3 多轴飞行器的手机控制方法21.2 设计目的21.3 论文的构成概要32 Android开发平台及ARM开发板42.1 系统概述42.2 Android软硬件平台介绍42.2.1 Android架构42.2.2 Android硬件平台

8、62.2.3 Android开发环境62.3 ARM开发板Tiny M0介绍92.3.1 Tiny M0开发板92.3.2 Tiny M0开发环境102.4 CY8CKIT-050开发板133 系统各功能模块的设计与实现193.1 系统构成193.2 双声道音频信号控制模块193.2.1 Android音频应用开发193.2.2 音频信号幅度控制213.2.3 音频信号频率控制223.3 位姿控制模块233.3.1 Android传感器应用开发233.3.2 Android方向传感器数据的获取243.4 控制信号转换模块253.5 飞行器遥控器的改造294 系统集成与功能测试314.1 系统整

9、体构成314.2 Android端控制软件设计与实现314.3 Tiny M0端控制软件设计与实现355 结论425.1 本设计所做的主要工作425.2 本设计实现的功能425.3 本设计的不足之处42参考文献43致 谢44外文原文45中文翻译55611 绪论1.1 研究的相关背景1.1.1 多轴飞行器的发展多轴飞行器,是一种具有两个旋翼以上的旋翼航空器。由每个轴末端的电动机转动,带动旋翼从而产生上升动力。通过改变不同旋翼之间的相对速度可以改变推进力的扭矩,从而控制飞行器的运行轨迹。因为多轴飞行器容易制造和控制,所以常用来制作模型和遥控飞行器,常见的有四轴、六轴、八轴飞行器。20世纪50年代,

10、Convertawings公司在纽约的Amitycille制造了一架旋翼式四轴直升机,Convertawings Model“A”飞行器。Convertawings Model “A”飞行器设计中,其两侧并没有添加额外的旋翼,而是利用旋翼间协调,产生不同的推力对飞行器进行飞行姿态控制,因此Convertawings Model “A”飞行器是第一个设计成功的真正意义上能够成功向前飞进的四轴飞行器。近年来,随着新材料科技、MEMS等一些学科的蓬勃发展,小型多轴飞行器的开发和研制又出现了新的方法,也使得多轴飞行器的研究有了新的方向。国际上针对多轴飞行器已经有很多的研究案例与研究成果,然而我国对多轴

11、飞行器的研究成果还很少。近年来,很多国内高校开展关于多轴飞行器方面的研究工作。从多轴飞行器的发展现状可以看出我国在该领域与发达国家的差距还很大,必须加大自身的研发力度,开展自主研发工作。多轴飞行器以其独特的结构和简洁的系统构架与传统飞行器相比有明显的优势。(1)以高能电池作为能量与油动力飞行器相比噪音更低,可实现低空飞行不易察觉。(2)垂直起降保证其在在较狭小的空间就可以稳定飞行,与定翼飞行器相比有不受场地限制的优势。(3)简单的机械部件组成(仅电机轴承为机械部件)与传统直升机(有较复杂的机械部件与传动结构)相比,维护相当简单。(4)体积小、重量轻、载重量大是多轴飞行器的一个明显优势。(5)整

12、机全电子增稳,操作简单。自主导航可实现全自动飞行。性能优异的动力系统提供了机动灵活的飞行姿态,抗风能力强。多轴飞行器在各个行业的应用有以下几点:(1)公安系统的应用多轴飞行器具有便携、质轻、飞行稳定、噪音低等特点,携带影像设备与侦测设备可以为秘密侦查提供强有力的手段,可以提供空中第一手影像资料。(2)消防行业的应用现场火灾的蔓延、林区火势的详情、高层起火的救生等方面都是消防工作部署的关键,多轴飞行器可以到现场迅速升空,有了高度就能把详细情况实时传送到地面指挥车,可以为消防部署提供真实有效地参考。(3)电力系统的应用高压线塔的检修维护是一个长期而艰巨的工作,有了多轴飞行器这一有力的工具,让线路巡

13、视、线塔检修成为简单易行的工作。尤其是在多山地区的传输线路,更能发挥飞行器的优势。(4)农业行业的应用多轴飞行器以稳定飞行和操作简单的特性,携带药液进行低空喷洒,可以实现喷洒均匀,药效好,极大的节约了人力,实现高效率作业。(5)影视行业的应用小型飞行器飞行相对不稳定,而现在的多轴飞行器可以携带高清摄像机、高画质单反相机进行稳定飞行,可完成空中的视频航拍和摄影航拍。1.1.2 多轴飞行器的控制方式现有的市场上,多轴飞行器的控制方式主要为无线电遥控器的控制的方式。目前多轴飞行器常用的遥控发射机有三种类型:一种是盒式按键手持用的小型遥控发射机;一种是便携杆式遥控发射机;还有一种是手持枪式遥控发射机。

14、第一种多为开关式模拟电路的遥控系统,电路的设计和制作比较简单,动作的指令都为“开”和“关”两种,虽然通道的数量可以很多,遥控的性能和距离较低。而发射机为杆式和枪式两种通常为比例式的无线电遥控器,在动态仿真模型中是当今最为流行的遥控操作系统,由于这两种在调制、编码和电路的组成等方式的不同,其性价比有很大的差异,所以在价格上也不同。比例遥控杆式发射机有两个操纵杆,通过左、右两边的杆来控制多轴飞行器的俯仰、横滚、偏航和油门。枪式发射机用一个转轮(方向盘)和一个类似手枪扳机的操纵杆来控制多轴飞行器的俯仰、横滚、偏航和油门。除了这些基本功能之外,一些较高级发射机还运用了先进的电脑技术,增加了许多附加的功

15、能,如储存多种模型的调整数据,一机多用。这两种遥控发射机的基本原理大体上是相同的,只是遥控发射机的外形和操控方式不同。总体而言,无线电遥控器操作繁琐,对操作人员的熟练程度要求较高。1.1.3 多轴飞行器的手机控制方法利用手机平台控制多轴飞行器的方式主要有蓝牙控制、手机Wifi控制、利用外置手机红外线发射器等进行控制的方式。Wifi控制,信号直接由多轴飞行器发出,手机遥控终端直接接收信号,无需借助网络。蓝牙控制,手机蓝牙与多轴飞行器的蓝牙模块相连接,实现直接控制。但是蓝牙是一种短距离无线通信技术,其控制飞行器距离有限。外置手机红外线发射器控制,把外置红外线发射器与手机的耳机接口相连,将手机控制信

16、号转换为红外信号,从而控制多轴飞行器的飞行姿态。Android手机的市场占有率早已超过50%,基于Android手机平台对多轴飞行器的姿态进行控制,不仅操作简单,还省去了手持无线电遥控发射机,而且只要是持有Android手机用户,都能通过自己的手机实现对多轴飞行器的姿态控制。1.2 设计目的本设计的目的是基于Android手机,利用Android手机平台的音频输出口的信号控制多轴飞行器的姿态。硬件平台的音频输出接口常见为耳机接口,音频输出口的信号主要包括通道数、信号幅度和信号频率三个参量。通过左右声道的信号幅度和频率控制多轴飞行器的俯仰、横滚、偏航和油门。在设计实现的过程中,主要包括Zpad

17、T8的音频输出口信号的振幅及频率的分析,Android开发平台的编程和音频信号的转换。通过一个完整的系统分析、设计和实现的过程,我掌握了硬件的分析和软件设计的流程,学会了如何分析问题,如何通过一些测试的方法找到问题的根源,并且解决问题。通过本次设计,我在对专业知识的理解、掌握上都有了提高,对Android领域也有了一定的认识和收获。1.3 论文的构成概要本论文共分为5章。第一章:绪论。介绍本设计涉及的多轴飞行器的的发展及其控制方式,并着重介绍了多轴飞行器的控制方式,同时对设计的目的和要求进行概要说明。第二章:Android开发平台以及ARM开发板Tiny M0的介绍。首先介绍了软件开发采用的软

18、硬件平台,以及关于Android的一些基本知识。然后介绍了ARM开发板,即Tiny M0开发板以及其开发环境。第三章:系统各模块的设计及其功能的实现。介绍了Android平台音频信号的幅度和频率的控制,Android传感器的应用开发和数据获取,及控制信号的转换。此外,还介绍了相关的通信协议,并对遥控器改造。第四章:系统整体功能的实现。介绍系统的组成,对系统中重要模块的实现工程进行了介绍,包括Android端控制软件的实现,Tiny M0端信号转换的实现,并对系统的整体性能进行测试。第五章:结论。总结毕业设计所做的主要工作、实现的功能和存在的不足,并介绍了自己在设计和实验过程中掌握的设计方法和心

19、得体会。2 Android开发平台及ARM开发板2.1 系统概述本论文所述系统是基于Android平台控制多轴飞行器,其结构如图2-1所示。图2-1 系统结构本系统所采用Android平台是Zpad T8,在其上编写的软件控制纯音文件的播放,通过控制播放纯音的左右声道信号的幅度和频率实现对多轴飞行器的控制。由于Zpad T8的双声道音频信号不能被飞行遥控器接收,所以要通过Tiny M0对Zpad T8的音频信号转换成四路的数字信号,分别对应遥控器的四个不同的姿态。而遥控器端所需的信号为模拟信号,则需要用CY8CKIT-050开发板将Tiny M0输出的数字信号转换成遥控器所需要的信号。多轴飞行

20、器的遥控器本身并没有接收外来遥控信号的功能,因此应对遥控器改造。改造后的遥控器可以接收经CY8CKIT-050开发板转换后的信号,从而控制多轴飞行器的飞行姿态。2.2 Android软硬件平台介绍2.2.1 Android架构Android系统的底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件4层组成,它采用一种被称为软件叠层(Software Stack)的的方式进行构建。这种软件叠层结构使得层与层之间相互分离,明确各层的分工。这种分工保证了层与层之间的低耦合,当下层的层内或层下发生改变时,上层应用程序无须任何改变。图2-2显示了Android系统的体系结构。图2-

21、2 Android系统的体系结构从图2-2可以看出,Android系统主要由5部分组成,下面分别是对这5部分进行简单介绍。(1)应用程序层Android系统将会包含系列的核心应用程序,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人等。这些应用程序都是Java编写的1。(2)应用程序框架当我们开发Android应用程序时,就是面向底层的应用程序框架进行的。从这个意义上来看,Android系统上的应用程序时完全平等的,不管是Android系统提供的程序,还是普通开发者提供的程序,都可以访问Android提供的API框架。(3)函数库Android包含一套被不同组件所使用的C/C+库的集

22、合。一般来说,Android应用开发者不能直接调用这套C/C+库集,但可以通过它上面的应用程序框架来调用这些库。下面列出一些核心库。系统C库:一个从BSD系统派生出来的标准C系统库(libc) ,并且专门为嵌入式Linux设备调试过。媒体库:基于PacketVideo的OpenCORE,这套媒体库支持播放和录制许多流行的音频和视频格式,以及查看静态图片。主要包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等多媒体格式。Surface Manager:管理对显示子系统的访问,并可以对多个应用程序的2D和3D图层机提供无缝整合。LibWebCore:一个全新的Web浏览器引擎,该

23、引擎为Android浏览器提供支持,也为WebView提供支持,WebView完全可以嵌入开发者自己的应用程序中。SGL:底层的2D图形引擎。3D libraries:基于OpenGL ES 1.0 API实现的3D系统,这套3D库既可使用硬件3D加速,也可使用高度优化的软件3D加速。FreeType:位图和向量字体显示。SQLite:供所有应用程序使用的、功能强大的轻量级关系数据库。(4)Android运行时Android运行时由两部分组成:Android核心库集和Dalvik虚拟机。其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而虚拟机则负责运行Android应用程序。(5)

24、Linux内核Android系统建立在Linux 2.6之上。Linux内核提供了安全性、内存管理、进程管理、网络协议栈和驱动模型等核心系统服务。除此之外,Linux内核也是系统硬件和软件叠层之间的抽象层。2.2.2 Android硬件平台目前可供程序开发的Android平台版本从1.5至4.4,市场上的Android手机或平板所安装的Android版本主要为2.2、2.3和4.0。在本毕业设计中相关实验硬件平台为万利达集团有限公司生产的平板电脑,型号为Zpad T8,搭载操作系统为Android2.2,支持多点触控,内置蓝牙、光敏传感器和重力感应器。Zpad T8外观如图2-3所示。图2-3

25、 Zpad T82.2.3 Android开发环境Android程序必须在Android手机上运行,因此Android开发时必须装备相关运行、调试环境。准备Android程序的运行、调试环境有如下两种方式。(1)使用真机作为运行、调试环境使用真机作为运行、调试环境时,只要完成如下3步。 用USB连接线将Android手机连接到电脑上。 在电脑上为手机安装驱动,不同手机厂商的Android手机驱动略有差异,请登录各手机厂商官网下载手机驱动。 打开手机的调试模式。打开手机,依次单击“所有应用设置开发者选项”,进入图2-4所示的设置界面。按图2-4所示,勾选“USB调试”、“允许模拟位置”3个选项即

26、可。若开发者还有其他需要,也可以勾选其他的开发者选项。图2-4 打开调试模式(2)使用AVD作为运行、调试环境Android SDK为开发者提供了可以在电脑上运行的“虚拟手机”,Android把它称为Android Virtual Device (AVD)。如果开发者没有Android手机,则完全可以在AVD上运行Android应用。创建、删除和浏览AVD之前,通常应先为Android SDK设置一个环境变量:ANDROID_SDK_HOME,该环境变量的值为磁盘上一个已有的路径。若不设置环境变量,开发者创建的虚拟设备默认保存在C:Documents and Settings.Android目

27、录下;如果设置了ANDROID_SDK_HOME环境变量,那么虚拟设备就会保存在% ANDROID_SDK_HOME%/.android路径下。在图形界面下管理AVD比较简单,因为可以借助于Android SDK和AVD管理器完成,完全可以在图形用户界面下操作。 通过Android SDK安装目录下AVD Manager.exe启动AVD管理器,系统启动如图2.3所示的AVD管理器。单击该管理器左边的“Virtual devices”项,管理器列出当前已有的AVD设备。 单击图2-5所示窗口右边的“New”按钮,AVD管理器弹出如图2-6所示对话框。图2-5 查看所有可用的AVD设备图2-6

28、创建AVD设备 在图2-5所示的对话框中填写AVD设备的名称,Android平台的版本和虚拟SD卡的大小,然后单击该对话框下面的“OK”按钮,管理器即将开始创建AVD设备。2.3 ARM开发板Tiny M0介绍2.3.1 Tiny M0开发板Tiny M0是广州致远电子有限公司为企业用户和高校师生设计的一款开发工具,核心微控制器采用的NXP公司推出的LPC1100系列Cortex-M0内核芯片。LPC1100系列微控制器采用了ARM公司发布的Cortex-M0内核,工作频率高达50MHz,功耗低至150A/MHz,性能卓越、应用简单,更突出的是,它能够显著降低所有8/16位应用的代码长度,并且

29、具有极低的市场定价,其价值和易用性比现有的8/16位微控制器更胜一筹,为追求ARM架构的8/16位用户提供了一种全新的32位解决方案。Tiny M0开发板实物如图2-7所示,由TK Scope CK100仿真器和Tiny M0核心板两部分组成,中间通过邮票孔连接。Tiny M0可以整体使用,也可以断开独立使用,应用简单灵活。图2-7 Tiny M0开发工具实物图Tiny M0开发工具特点:(1)板载仿真器Tiny M0板载TK Scope CK100仿真器,支持目前市场上的KEL、IAR和TKStudio等主流集成开发环境。(2)配套核心板Tiny M0核心板电路为LPC111芯片的最小系统,

30、硬件支持2.54mm间距的标准排针。Tiny M0核心板断开后,可配套用户自行设计的底板,直接进行产品开发。(3)支持多款芯片Tiny M0核心板全面支持NXP LPC1100和LPC1300系列LQFP48引脚封装的芯片,用户可以根据设计要求随时更换核心控制器。(4)配套资料Tiny M0开发板配套提供深入浅出Cortex-M0LPC1100电子版教材和丰富的实验例程,是工程师学习、开发Cortex-M0微控制器的最佳选择。2.3.2 Tiny M0开发环境TKStudio集成开发环境(又称TKStudio IDE)是广州致远电子有限公司开发的一个微处理器软件开发平台,是一款具有强大内置编辑

31、器的多内核编译调试环境,支持8051、ARM、AVR等多种微控制器,可以完成从工程建立和管理,编译,链接,目标代码的生成,到软件仿真,硬件仿真(挂接TKS系列仿真器等硬件)等完整的开发流程。TKStudio IDE主界面如图2-8所示。图2-8 TKStudio主界面TKStudio集成开发环境包括工程管理器、代码编辑器、编译工具链、源码级调试器和外部工具等。(1)工程管理器TKStudio工程管理器可以管理工程中用到的所有源文件、库文件和其它输入文件。在工程窗口中分为工程、文件组、源文件三级结构,并且根据文件类型显示为不同的图标,直观而又醒目,更方便用户管理工程。TKStudio工程窗口如图

32、2-9所示。图2-9 工程窗口(2)代码编辑器TKStudio代码编辑器以最大化用户编码体验为目标,功能强大,能非常有效地提高编码效率,并提高整体开发效率。TKStudio代码编辑器功能特点总结如图2-10所示。图2-10 TKStudio代码编辑器功能特点(3)编译工具链TKStudio具备丰富的编译器选项配置信息,对各种工具链的编译、链接、调试提供了灵活的配置参数,对MCS-51、ARM、AVR等芯片都提供了支持,主要有C51、SDCC 51、GCC ARM、ADS ARM、Realview MDK、GCC AVR等编译工具链。TKStudio代码编译工具链如图2-11所示。图2-11 编

33、译工具链LPC1100系列微控制器开发需要用到的编译工具链是Realview MDK 4.x,如果用户在安装TKStudio前已经安装了该编译器,安装程序会自动将编译器的路径设置到TKStudio中。但如果用户之前没有安装Realview MDK编译器,则需在TKStudio安装过程中根据提示到相关网站下载安装。在安装好Realview MDK编译器后,用户需要将该编译器的路径设置到TKStudio中。打开TKStudio集成开发环境,如图2-12所示,选择【工程】【编译工具设置】菜单,将弹出如图2-13所示对话窗口。图2-12 打开编译工具设置图2-13 编译器设置对话框点击按钮 ,选择Re

34、alvew MDK所在路径,如图2-14所示。图2-14 选择编译工具路径注意需要定位到【KEIL】【ARM】【BIN40】目录,然后点击确定,即完成了编译工具的设置。2.4 CY8CKIT-050开发板PSoC(Programmable System-On-Chip,可编程片上系统) 是一种可编程的混合信号阵列架构,由一个芯片内建的MCU所控制,整合可组态的模拟与数字电路阵列,包括放大器、ADC、DAC、滤波器及比较器等模拟电路以及定时器、计数器、PWM、SPI和UART等数字电路。单个PSOC可集成多达100个外围部件,提高系统质量并节省设计时间,缩减板级空间和功耗,大幅降低系统成本3。C

35、Y8CKIT-050 PSoC 5LP DEVELOPMENT KIT(以下简称CY8CKIT-050)是针对CY8C5868的开发板,其开放的资源有LED、LCD、串口、电容传感器、模拟数字端口与USB,并可通过JTAG、SWD与USB下载程序,开发板如图2-15所示。图2-15 CY8CKIT-050开发板CY8CKIT-050开发板自带光盘中的开发环境为PSoC Creator 2.1,该开发环境由于版本过低,不能识别CY8C5868处理器,故实际需要到CYPRESS官方网站上下载最新开发环境。本次实验用的是PSoC Creator 2.2,需要注意的是该软件不识别中文路径,故在安装以及

36、存放项目文件时必须选择英文路径。安装完成并打开PSoC Creator 2.2后,点击【File】【New】【Project】新建一个项目,在此选择器件类型与型号,如图2-16与图2-17所示。图2-16 选择Empty PSoc 5LP Design器件类型图2-17 选择CY8C5868AXI-LP035器件型号点击【OK】即可建立工作空间与项目,如图2-18所示。图2-18 新建工作空间与项目示意图点击项目中的【TopDesign.cysch】原理图文件,即可在该原理图中绘制系统的电路原理与逻辑关系图。同时可在右边窗口的【Component Catalog】栏中选择模数器件,如图2-19

37、所示。图2-19 【Component Catalog】模数器件库在此,点击【Analog】【ADC】【Delta Sigma ADC】选择Delta-Sigma模数转换器,将其拖放到原理图中,并双击予以配置,如图2-20所示。图2-20 Delta-Sigma ADC配置图图中,将Delta-Sigma ADC配置为连续采样,16位分辨率,10000Hz采样率,单极输入,输入范围为VssaVdda,缓冲模式为轨到轨,具体的配置参数说明可点击配置表的左下方【DataSheet】进行参阅。点击【Component Catalog】栏中的【Ports and Pins】【Analog Pin】选择

38、ADC的模拟输入引脚,将其拖放至原理图,并连接至ADC的输入端口。点击输入引脚,配置其参数如图2-21所示。图2-21 模拟输入引脚配置图点击【Display】【Character LCD】选择字符LCD模块,将其拖放至原理图,并双击予以配置,配置表结果如图2-22所示。图2-22 字符LCD配置图点击项目中的.cydwr文件,对各模块的引脚进行配置,如图2-23所示。图2-23 . cydwr文件示意图在右边栏,根据数据手册的电路原理图,选择各个端口对应的引脚。在此,选择LCD的引脚为P26:0,模拟电压输入引脚为P65,如图2-24所示。图2-24 引脚配置示意图配置完的电路原理如图2-2

39、5所示。图2-25 系统电路原理为了采用最新的器件与API,需要对其进行更新升级,点击【Project】【Update Components】,选中所有器件与API进行升级,如图2-26所示。图2-26 器件与API升级示意图至此,系统的电路搭建完毕。3 系统各功能模块的设计与实现3.1 系统构成本系统主要由双声道音频信号控制模块、位姿控制模块、控制信号转换模块等模块构成。双声道音频信号控制模块主要是指手机端的软件部分,该模块用来控制通过Android端音频接口输出双声道音频信号的幅度和频率。位姿控制模块主要是获取Android平台方向传感器的实时数据,根据获取的数据控制Android平台的双

40、声道音频信号的幅度和频率。控制信号转换模块的主要部分是烧入了转换程序的Tiny M0单片机及烧入DA转换程序的CY8CKIT-050开发板。其主要作用是将Android端输入的双声道音频信号转换为改造后的遥控器所需信号。3.2 双声道音频信号控制模块3.2.1 Android音频应用开发音频信号可分为模拟音频信号和数字音频信号,通常也将模拟音频信号成为音频信号。音频信号是一种连续变化的模拟信号,又称声波。音频信号有两个重要参数,即频率和幅度。频率指单位时间内完成的周期性变化的次数,声音的频率体现在音调的高低;幅度指振动的物理量偏离平衡位置的最大值,声音的幅度体现在音强的大小。耳机接口最常见的为

41、TRS接口,T(Tip,左声道)、R(Ring,右声道)、S(Sleeve,地)分别代表接口的三个接触点,如图3-1所示。TRS接口有1/4(6.3mm)(俗称大三芯)、1/8(3.5mm)(俗称小三芯)和3/32(2.5mm)三种尺寸(符号”表示英寸)。图3-1 TRS接头定义Android软件平台提供的音频播放控制API包括AudioManager、AudioTrack、MediaPlayer 和SoundPool,Android 2.3 版本后又增加了AudioEffect(主要包括Visualizer 和Equalizer)。6个API 主要功能如表3-1所示。表3-1 Android

42、音频播放控制APIAPI中文名称功能特点AudioManager音频管理器管理音频系统,如设置声音类型、音量等AudioTrack音轨管理控制声道的声音播放MediaPlayer媒体播放器较长音乐的播放,资源占用量高、时间延迟大,不支持多音频同时播放SoundPool音效池较短声音片段的播放,资源占用量低、时间延迟小,支持多音频同时播放Visualizer观察器音频的波形或条状图显示Equalizer均衡器音效均衡器Android 系统支持的音频文件格式包括3GPP(.3gp)、MPEG-4(.mp4,.m4a)、MP3(.mp3)、Type 0 and 1(.mid,.xmf,.mxmf)、

43、RTTTL/RTX(.rtttl,.rtx)、OTA(.ota)、iMelody(.imy)、Ogg(.ogg)和WAVE(.wav)。考虑音频幅度控制实现的难易程度及控制的效果,本研资涉及实验采用AudioManager 获取系统音量管理权,采用MediaPlayer实现对声音文件的播放控制。采用AudioManager获取系统音量控制权时,共有7种声音类型可以指定,其相关信息如表2所示。表3-2 Android音频类型说明参数名中文名称音量参数调节范围STREAM_MUSIC媒体0-15STREAM_RING铃声0-7STREAM_ALARM警告/闹铃0-7STREAM_NOTIFICAT

44、ION通知0-7STREAM_SYSTEM系统0-7STREAM_VOICE_CALL语音通话0-5STREAM_DTMF双音多频0-15在使用MediaPlayer时,只能控制媒体的音量。经过测试发现,在媒体音量调节时,对于双声道整体音量同步控制和左声道音量单独控制可以实现16级调节,对右声道音量单独控制在07范围内正常,在815范围内左声道会自动与右声道音量保持一致。因此,为实现对左右声道信号幅度的单独控制,在实验中将音量调节范围控制在07范围内。MediaPlayer共有10个状态可以控制,其状态转换图如图3-2所示。图3-2 MediaPlayer状态转换图3.2.2 音频信号幅度控制

45、双声道输出信号幅度控制软件分为两大功能模块:音频播放控制模块和音量调节模块。音频播放控制模块需要按照图4所示的MediaPlayer状态转换图控制音频资源的加载、播放、暂停、停止、清理操作;音量调节模块需要用两个拖动条分别实现对左右声道的音量控制。界面设计采用相对布局设计,以保证软件在不同硬件平台上的界面一致性。界面中涉及的字符信息,统一在资源文件strings.xml中进行定义,以利于软件的国际化。程序设计采用MVC架构,在不同的文件中实现数据模型定义(Model)、用户界面设计(View)和程序逻辑控制(Controller)。程序设计基本流程如图3-3所示。图3-3 幅度控制程序流程图3

46、.2.3 音频信号频率控制功能设计:双声道输出信号频率控制软件分为两大功能模块:音频资源加载模块和频率调节模块。音频资源加载模块采用HashMap 进行管理,其中键Key 取SeekBar 的值progress,值Value 取音频资源在资源文件中的ID。频率调节模块即对SeekBar 滑块位置的监听。当滑块处于不同位置时,播放不同频率的声音文件,实现频率的改变。界面设计:界面设计采用相对布局设计,以保证软件在不同硬件平台上的界面一致性。界面中涉及的字符信息,统一在资源文件strings.xml 中进行定义,以利于软件的国际化。程序设计:程序设计采用MVC 架构,在不同的文件中实现数据模型定义(Model)、用户界面设计(View)和程序逻辑控制(Controller)。程序设计基本流程如图3-4所示。图3-4 频率控制程序流程图3.3 位姿控制模块3.3.1 Android传感器应用开发Android系统的特色之一是可以通过传感器获

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁