课程设计(论文)-基于Android平台的蓝牙控制系统的设计.docx_第1页
课程设计(论文)-基于Android平台的蓝牙控制系统的设计.docx_第2页
课程设计(论文)-基于Android平台的蓝牙控制系统的设计.docx_第3页
课程设计(论文)-基于Android平台的蓝牙控制系统的设计.docx_第4页
课程设计(论文)-基于Android平台的蓝牙控制系统的设计.docx_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于android平台的蓝牙控制系统的设计创新与实践训练课程设计任务书20152016学年 第 1学期第 16 周 16 周 题目基于android平台的蓝牙控制系统的设计内容及要求内容:基于android下,蓝牙控制系统 要求:1.能够实现android手机控制多路照明系统 2.能单独控制各个照明器件的开断 3.电路简洁进度安排1、 方案论证 1天2、 分析、设计、调试、运行 4天3、 检查、整理、写设计报告、小结 2天学生姓名:欧阳春程(12044223),江斌(12044218),陈明(12044212),赵曦(12044203)指导时间2015年12月14日至2015年12月24日指导地点:f 楼 308室任务下达2015年12月 15日任务完成2015年12 月25日考核方式1.评阅 2.答辩 3. 实际操作 4.其它指导教师 邱玉兰系(部)主任王长坤注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。目录摘 要3一 系统功能及方案设计41.设计背景42.系统功能43.方案设计54、作品特色5二 各模块电路设计61、单片机模块62、蓝牙模块:83、继电器模块8一、模块接口:8二、继电器输出端:9三、高低电平触发选择端:94、电源模块95、电灯11三 编写程序的前期准备111、资料搜集112、元器件购买113、流程图12四 程序编写121、蓝牙测试122、程序编写13五 成果展示15六 课程设计总结18七 参考文献195摘 要随着物联网的兴起,android手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝牙控制的多路照明系统设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线控制照明开关的解决方案。设计以手机控制平台、蓝牙通讯模块、继电器模块、单片机等硬件模块组成的控制系统。实现远程控制多路照明系统的功能。为家用电器控制的设计提出了一种新的思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。单片机:单片微型计算机简称单片机,是典型的嵌入式微控制器(microcontroller unit), 常用英文字母的缩写mcu表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统)。和计算机相比,单片机缺少了外围设备等。概括地讲:一块芯片就成了一台计算机。它体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机在工业控制领域广泛应用。单片机由仅有cpu的专用处理器芯片发展而来。最早的设计理念是通过将大量外围设备和cpu集成在一个芯片中,使计算机系统更小,更容易集成到复杂的对体积要求严格的控制设备当中。智能家居是人类未来生活的发展方向,智能化的控制系统具有传统控制系统无可比拟的优越性。本课程设计拟从通过手机蓝牙进行开关控制的角度来进行设计的,从而实现对电灯和风扇的分别控制与同时控制。主要从为什么想到无线开关、为什么选择蓝牙做无线开关、如何编制程序、如何开发板上进行调试、如何绘制原理图、如何在220v电压真实环境下的利用手机开关做实验,等角度经行阐述,从而确定整个设计的方案和调试步骤。关键词:android,智能家居,手机蓝牙,单片机,开关一 系统功能及方案设计1.设计背景设想我们只要通过手机,就可以对生活中的各种电气设备,无论是大型的吊车还是小型的打印机等进行无线控制。在需要控制时,只要打开手机蓝牙,输入和该设备匹配的蓝牙密码,连接打开手机中的组态软件进行控制。我们还可以利用同样的办法对汽车报警上锁等进行控制,下班时掏出手机按几个键,在回家前就打开空调,让舒适的室内温度迎接下班拐来的人们。也可以用同样的方式预热电热水器,到家就可以立即洗去一天的疲惫。不仅如此,还可以用手机提前给等在门口的朋友开门、提前打开家里电灯、远程浇花2.系统功能 无线遥控开关不能是一个遥控器控制一盏灯,否则遥控器多了就会分不清楚,所以遥控器越少越好,最好是不用专门的遥控器。生活中有很多学习型遥控器,又称拷贝型遥控器,它具有学习功能,可以与学习型控制器自动对码,直接使用,不需要编码。学习型遥控器可以和其他遥控器一起使用。但即便如此也不方便,因此想到了利用手机做遥控器。手机能无线控制玩具小车的前进后退,转向等,说明手机无线控制电灯的开关是可以实现的。但是有什么设备可以接收手机发出信号呢?手机打电话发短信的时候,两部手机间的信号是可以相互交换的。由此有一个想法,就是利用两部手机,一部手机里的振动马达接线引出来换成一个接触器,用另外一部手机打这手机一下电话,接触器就马上动作了,从而实现关灯或开灯。但是这想法并没有去动手论证,因为这样做法成本也比较高,装接触器的那部手机必须要每月交话费保持不停机。用两部手机的方法被否定了。又想到利用蓝牙做无线传输。利用蓝牙技术,可以无线控制电视、空调、电饭锅等等家用电器。目前有人用htc手机蓝牙来代替电视和空调的遥控器。所以想到从蓝牙入手,做一个利用手机蓝牙来无线传输从而实现控制。那么议利用手机的无线网络wifi来实现控制如何呢?wifi比蓝牙传输距离更远,也更稳定,运用范围比较广。但是反复思考后,发现wifi有一个缺点:当手机已经接上了一个wifi网络时进行下载时,想要连接另外wifi网络进行关灯遥控就必须要先退出下载,这比较麻烦。如果利用蓝牙就不一样了,手机可以同时连接wifi和蓝牙。所以最终决定利用蓝牙。本系统是在单片机的基础上,在android平台上,通过手机蓝牙发送相应的指令来控制继电器的开通和闭合,继而控制多路电灯的开关,既可以实现对电灯的单独控制又可以实现同时控制的设计。开关原理具体介绍:手机蓝牙给单片机信号,单片机接收到此信号,驱动继电器工作,继电器吸和,与继电器连接的220v转5v的变压器工作,灯亮。同理手机蓝牙给单片机发送关灯信号后,继电器释放,电路断开,电灯关闭。避免了因忘记关灯造成的浪费问题,具有很强的实用价值。3.方案设计本实验中用到的设备有:arduino 系列单片机arduino nano v3.0 atmega328p 、蓝牙模块hc-06、四路继电器模块、电源模块ac220v变dc5v、电灯四个、开关四个、杜邦线若干、导线若干等。设计说明:人们在日常生活中经常遇到以下情况,躺在床上看书或看电视时,书可以随手放在枕头边电视可以用手中的遥控器来开关,但是电灯如何方便的控制呢?现有的常见开关有如下缺点:(一)不方便;(二)不安全,有时为了方便开关进行私接电线这样很不安全。(三)控制地点少,最多只能实现两地控制。为了解决以上问题,在设计过程中想到了生活中无处不在的无线技术,如无线鼠标、无线耳机、无线路由器、无线遥控器、无线收音机等等,其实无线技术主要有调频无线技术、红外无线技术和蓝牙无线技术三种。其中蓝牙无线技术实际上是一种短距离无线通信技术。说得通俗一点,是蓝牙技术使现代一些易携带的移动通信设备和电脑设备不必借助电缆就能联网,并且能够实现无线上因特网,其实际应用范围还可以拓展到各种家电产品、消费电子产品和汽车等家电,组成一个巨大的无线通信网络。红外无线技术是设备或者系统通过红外辐射传递数据的一种无线技术。调频无线技术也最早使用的无线电技术。只要利用这三种技术中的一种我们就可以实现无线控制电灯开关了。在大二学习了单片机知识的基础上,了解到很多设备的控制,主要是利用输出高低电平来实现的,就是在数电中所说的用二进制0和1来实现的。只要让手机发出一个信号,蓝牙模块hc-06接收手机发出的信号,马上输出一个和原来相反的电平,这样再带动一个继电器,就可以实现开和关的动作。4、作品特色(1)我们的作品实现了在家庭中多地控制电灯的功能;有效的解决了增加开关的走线问题;(2)解决了忘记关灯导致电量浪费问题。二 各模块电路设计1、单片机模块(1)实物图(2) 引脚图 (3) 简介arduino nano是arduino usb接口的微型版本,最大的不同是没有电源插座以及usb接口是mini-b型插座。arduino nano是尺寸非常小的而且可以直接插在面包板上使用。其处理器核心是atmega168(nano2.x)和atmega328(nano3.0),同时具有14路数字输入/输出口(其中6路可作为pwm输出),8路模拟输入,一个16mhz晶体振荡器,一个mini-b usb口,一个icsp header和一个复位按钮。 27处理器 atmega168 or atmega328 ,工作电压 5v ,输入电压(推荐) 7-12v输入电压(范围) 6-20v,数字io脚 14 (其中6路作为pwm输出),模拟输入脚 6,io脚直流电流 40 maarduino nano供电方式1、mini-b usb接口供电2、pin27 +5v接外部直流5v电源ps:只有通过usb口供电时ft232rl才工作。(4) 输入输出14路数字输入输出口:工作电压为5v,每一路能输出和接入最大电流为40ma。每一路配置了20-50k欧姆内部上拉电阻(默认不连接)。除此之外,有些引脚有特定的功能串口信号rx(0号)、tx(1号): 提供ttl电压水平的串口接收信号,与ft232rl的相应引脚相连。外部中断(2号和3号):触发中断引脚,可设成上升沿、下降沿或同时触发。脉冲宽度调制pwm(3、5、6、9、10 、11):提供6路8位pwm输出。spi(10(ss),11(mosi),12(miso),13(sck)):spi通信接口。led(13号):arduino专门用于测试led的保留接口,输出为高时点亮led,反之输出为低时led熄灭。6路模拟输入a0到a5:每一路具有10位的分辨率(即输入有1024个不同值),默认输入信号范围为0到5v,可以通过aref调整输入上限。除此之外,有些引脚有特定功能twi接口(sda a4和scl a5):支持通信接口(兼容i2c总线)。aref:模拟输入信号的参考电压。reset:信号为低时复位单片机芯片。(5) 通信接口串口:atmega328内置的uart可以通过数字口0(rx)和1(tx)与外部实现串口通信;atmega16u2可以访问数字口实现usb上的虚拟串口。twi(兼容i2c)接口:spi 接口:在本次课设中,单片机的txd连接蓝牙模块的rxd。单片机的rxd连接蓝牙模块的txd.单片机的27引脚为5v电压供电,gnd接地。继电器的in1、in2、in3、in4分别连接arduino的12、11、10、9接口,分别控制四个电灯。2、蓝牙模块:蓝牙通信模块我们采用的是移摩通讯的hc-06蓝牙模块,该蓝牙模块具有成本低、体积小、收发灵敏度高等优点。模块采用bluetooth2.1,遵循v2.1+edr蓝牙规范,可以与安卓智能手机完美通信,可编程i/o口。供电电源为:+5vdc 80ma。主要引脚如下:(1)atus:蓝牙状态输出,持续高电平表示数据链路已经连通。可以接单片机的io口来查询蓝牙的状态。这个status不是必须连接的。(2)vcc:电源接口,接5v必须连接。(3)gnd:电源负极必须连接。(4)txd:数据输出接口,需要连接单片机的数据输入接口,一般单片机io的名称为rx或者rxd。(5)rxd:数据接收接口,需要连接单片机的数据发送接口,一般单片机io的名称为tx或者txd。3、继电器模块 一、模块接口:1、dc+:接电源正极(电压按继电器要求,有5v.9v.12v和24v选择)2、dc-:接电源负极3、in1-in4:根据每一路的设置,均可以高或低电平控制相应继电器吸合二、继电器输出端:有12线接口,所有接口均可直接连线引出,方便用户使用1、no1-no4: 继电器常开接口,继电器吸合前悬空,吸合后与com短接2、com1-com4继电器公用接口3、nc1-nc4: 继电器常闭接口,继电器吸合前与com短接,吸合后悬空三、高低电平触发选择端:1.s1-s4依次为继电器1路-4路的高低电平触发选择;2.com与low短接时,相应继电器为低电平触发,com与high端短接时为高电平触发在本次课设中,我们统一选择所有继电器为高电平触发,继电器吸合工作,低电平继电器断开停止工作。4、电源模块 ac220v变dc5v降压模块:将家庭用电220vac转为5vdc为单片机供电,模块由变压器、lm7805三端稳压集成电路、滤波电路等构成。 (1)实物图(2) 原理图 5、电灯电灯接220v交流电,并通过继电器触点控制其接通或断开。三 编写程序的前期准备1、资料搜集在写程序之前,我们首先进行了资料收集。在网上我们查到了用蓝牙控制智能小车机器人的论坛。在论坛里我们了解到了蓝牙小车的详细情况如下:蓝牙小车有一块单片机控制4个接触器,单片机和手机是通过蓝牙从机模块进行信号交换的。这只是解决了单片机(俗称下位机)的程序。至于上位机。电脑和手机上的软件程序也收集了几条,但是在运用vb或c+软件导出的exe文件都是无法运行的,最后只能下载现成的软件到电脑和手机里进行调试。2、元器件购买在淘宝上订了arduino nano v3.0 atmega328p 模块,蓝牙模块hc-06、四路继电器模块、电灯、杜邦线等。通过三个部分来完成这套无线控制开关。第一个是信号传输的蓝牙模块部分,第二个是进行下达指令的单片机部分、第三个是完成执行任务的继电器部分。3、流程图用电设备单片 机蓝牙模块继电器四 程序编写1、蓝牙测试本程序编写为测试蓝牙是否能够正常通讯char getstr;void setup() serial.begin(9600);void loop() getstr=serial.read(); if(getstr=h) / 输入h,显示i am here! serial.println(i am here!); else if(getstr=b) /输入b,显示see you! serial.println(see you!); 将以上代码写入arduino时,要注意先将蓝牙断开,写入完成后,再连上蓝牙,否则会出错。手机端下载一个bluetooth spp或者蓝牙串口程序即可。然后通过手机与该蓝牙模块进行连接,一般默认连接码是1234或者0000。连接后,打开蓝牙串口调试助手,发送h,会显示i am here,发送b,会显示see you!则表示蓝牙模块能与手机端正常通讯。2、程序编写char getstr; int in1=12; /继电器接单片机12引脚int in2=11; /继电器接单片机11引脚int in3=10; /继电器接单片机10引脚int in4=9; /继电器接单片机9引脚void setup() serial.begin(9600); /波特率为 9600 pinmode(in1,output); /定义四个引脚都为输出口 pinmode(in2,output); pinmode(in3,output); pinmode(in4,output); /下面程序开始时让控制端都为。 digitalwrite(in1,low); /初始化四个引脚输出都为低电平 digitalwrite(in2,low); /此时四个灯都处于灭状态 digitalwrite(in3,low); digitalwrite(in4,low); void loop() /主程序不断循环监控 getstr=serial.read(); /读取输入 if(getstr=1) /发送1,一号灯亮 digitalwrite(in1,high); else if(getstr=2) /发送2,一号灯灭 digitalwrite(in1,low); else if(getstr=3) /发送3,二号灯亮 digitalwrite(in2,high); else if(getstr=4) /发送4,二号灯灭 digitalwrite(in2,low); else if(getstr=5) /发送5,三号灯亮 digitalwrite(in3,high); else if(getstr=6) /发送6,三号灯灭 digitalwrite(in3,low); else if(getstr=7) /发送7,四号灯亮 digitalwrite(in4,high); else if(getstr=8) /发送8,四号灯灭 digitalwrite(in4,low); else if(getstr=9) /发送9,四盏灯全部亮 digitalwrite(in1,high); digitalwrite(in2,high); digitalwrite(in3,high); digitalwrite(in4,high); else if(getstr=0) /发送0,四盏灯全部灭 digitalwrite(in1,low); digitalwrite(in2,low); digitalwrite(in3,low); digitalwrite(in4,low); 将以上代码写入arduino单片机中,打开蓝牙串口调试助手的键盘模式,定义键盘中0-9按键表示输出相应的0-9值,接通电源,按下1按键,一号灯点亮,按下2按键,一号灯熄灭,逐个调试,四盏灯都能单独点亮或熄灭,且互相不影响,四盏灯也能同时亮灭,本次作品成功完成。五 成果展示 点亮一号灯 熄灭一号灯 点亮二号灯 点亮三号灯点亮四号灯 熄灭至剩下一盏灯六 课程设计总结通过本次的课程设计提高了我分析问题、解决问题的能力,提高了理论联系实际的能力,提高了动手能力,提高了团队协作能力。我的单片机应用水平迈上了一个新台阶。我认识到有很多技能如果不去动手实践永

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论