




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
创新实践课程总结报告 报告名称:基于Arduino的遥控PPT播放系统设计 学 院: 信息工程与自动化学院 专 业: 物联网工程 学 号: 9 学生姓名: 廖成武 指导教师: 江虹 日 期: 2016年6月17日 l 题目:基于Arduino的遥控PPT播放系统设计l 内容:一、绪论1. Arduino简介 Arduino是目前较为流行的电子互动平台,基于单片机系统开发,具有使用简单、功能多样、价格低廉等优点,广泛应用于电子系统设计和互动产品开发方面。 Arduino是2005年1月由米兰交互设计学院的两位教师David Cuartielles和Massimo Banzi联合创建,是一块基于开放原始代码的Simple IO平台,该平台由两部分组成:硬件(包括微处理器、电路板等)和软件(编程接口和语言)。平台的两部分都是开源的,如果需要,可以下载Arduino的图表、购买需要的所有独立部件、切割电路板并制作一个电路板。Arduino具有类似java、C语言的开发环境。可以快速使用Ardu ino语言与Flash或Processing等软件完成互动作品。Arduino能够使用开发完成的电子元件,如Switch、Sensors或其它控制器、LED、步进电机或其它输入输出装置,同时,Arduino也可以成为独立与软件沟通的平台,如flash、Processing、MaxMSP或其它互动软件。 Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器。对Arduino的编程是利用 Arduino编程语言 (基于 Wiring)和Arduino开发环境(基于 Processing)来实现的。基于Arduino的项目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上运行的软件,他们之间进行通信 (比如 Flash,Processing, MaxMSP)来实现。Ardunio平台特点: Arduino在开发之初,就明确了其应用环境,设计了开源开放的平台,便于对其进行二次开发。Arduino的主要功能特点如下: 1)开放源代码的电路图设计。程序开发接口免费下载,也可依需求自己修改。 2)使用低价格的微处理控制器(ATmega8或ATmega128)。可以采用USB接口供电,不需外接电源,也可以使用外部9VDC输入。 3)支持ISP线上烧入器,将Bootloader固件烧入芯片。Arduino控制器内带Bootloader程序,是系统上电后运行的第一段代码,就好比PC机BIOS中的程序,启动就进行自检,配置端口等等,当然,单片机是靠烧写熔丝位来设定上电从boot区启动的,使用这个程序就可以直接把从串口发来的程序存放到flash区中。所以,使用Arduino编译环境下载程序时,就先让单片机复位,启动Boodoader程序引导串口发过来的程序顺利写入flash区中,flash可以重复烧写,因此想更新软件非常方便。有了Bootloader之后,可以通过串口或者USB to RS232线更新固件。 4)可依据官方提供的PCB和SCH电路图,简化Arduino模组,完成独立运作的微处理控制。 5)可简单地与传感器,各式各样的电子元件连接,如红外线、超音波、热敏电阻、光敏电阻、伺服马达等。 6)支持多样的互动程序,如Flash,MaxMSP,VVVV,PureData,C,Processin等。使用低价格的微处理控制器。 7)应用方面,利用hrduino,突破以往只能使用鼠标、键盘、CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。Ard uino的功能特点,使其得到了越来越广泛的应用。2. 本次实践所选项目要完成的工作 1) 根据接线图连接好板子、红外接收模块、响应模块; 2)编辑代码,对原红外遥控代码做出相关系统功能的更改; 3)编译代码,将板子和电脑连接上,下载程序进板子; 4)使用红外遥控器进行遥控,调试相应功能; 5)调试之后对代码进行相应改进,最后完成系统; 6)理解整个系统的所有代码。二、系统结构分析1.硬件基本组成控制器:ardunio开发板输入、输出:红外遥控模块(VS1838B红外接收头、CARmp3遥控器、面包板、线、开发板)、响应模块(蜂鸣器、LED灯、电阻、PC) VS1838B红外接收头:VS1838B内含高速高灵敏度PIN光电二极管和低功耗、高增益前置放大IC,采用环氧树脂封装外加外屏蔽抗干挠设计,该产品已经通过REACH和SGS认证属于环保产品,在红外遥控系统中作为接收器使用。结构图:原理图:CARmp3遥控器:遥控器由红外接收及发射电路、信号调理电路、中央控制器8031.程序及数据存储器、键盘及状态指示电路组成2. 硬件连线图或硬件结构框图三、系统软件设计1.基本功能 通过红外遥控模块和响应模块对鼠标和键盘进行控制,实现遥控器控制鼠标移动至一PPT文件处并点击它,进入WPS,再控制鼠标移动至播放按钮处,点击开始播放,PPT全屏后,再通过遥控器控制PPT的翻页,实现PPT的播放功能,同时串口监视器显示相应的按键信息(用户码、数据码、数据反码)。 由于系统的可靠性不是特别高,遥控器经常需要按好几次才能成功接收到信号,所以增加接收成功反馈功能,即只有在一次按键后系统成功运行后会有LED灯闪一下和蜂鸣器响一下。2.模块设计2.1红外遥控模块:(VS1838B红外接收头、CARmp3遥控器、面包板、线、开发板)2.11实现原理使用者每按下一个控制键,CPU从指定的存储单元中读取一系列的二进制数据,串行输出给信号保持电路,同时由调制电路将信号调制在一个特定的载波平率上,将调制信号经放大后,由红外线发射二极管进行发射,红外接收装置滤掉其他杂波只接受该特定载波频率上的信号并将其还原成脉冲码。此时开发板端由定时器提供一个时钟频率对脉冲进行检测、解码,这里就需要了解遥控器的编码方式以及数据格式,编码方式:NEC协议遥控器发出的二进制脉冲码载波频率是38kHz,采用脉冲宽度调制,每一位的时间为1.125ms或2.25ms,逻辑1和逻辑0;一个消息是由一个9ms的高电平开始,随后有一个4.5ms的低电平,之后就是信息码了.数据格式:包括用户码、数据码和数据反码共占32位。数据反码可用于对数据的纠错。根据编码原理,系统通过remote_decode(void)译码函数根据特定时间间隔的高低电平信号(9ms、4.5ms已在代码中标出)调用void pulse_deal()接收地址码和命令码脉冲函数进行解码;而pulse_deal()函数先是调用logic_value()判断逻辑值0和1子函数得到脉冲的二进制值,再将二进制数存入之前定义好的变量中;logic_value()函数则又是通过特定的高低电平时间间隔(560us、560us已在代码中标出)识别出逻辑0和1传给pulse_deal()函数。系统通过以上三个函数将系统接收到的脉冲信号进行解码得到adrL_code 、adrH_code 、ir_code 三个变量分别为用户码、数据码、数据反码,再将变量传给响应模块,最终实现系统功能。2.12、关键代码void timer1_init(void)/定时器初始化函数 TCCR1A = 0X00; TCCR1B = 0X05;/给定时器时钟源/64us进行一次计数器累加TCCR1C = 0X00; TCNT1 = 0X00; TIMSK1 = 0X00; /禁止定时器溢出中断 char logic_value()/判断逻辑值“0”和“1”子函数 TCNT1 = 0X00; while(!(digitalRead(IR_IN); /低等待Pulse_Width=TCNT1; TCNT1=0; if(Pulse_Width=7&Pulse_Width=7&Pulse_Width=25&Pulse_Width=27) /接着高电平1.7ms return 1; return -1; void pulse_deal()/接收地址码和命令码脉冲函数 int i; int j; ir_code=0x00;/ 清零adrL_code=0x00;/ 清零adrH_code=0x00;/ 清零/解析遥控器编码中的用户编码值for(i = 0 ; i 16; i+) if(logic_value() = 1) /是1 ir_code |= (1i);/保存键值 /解析遥控器编码中的命令码for(i = 0 ; i 8; i+) if(logic_value() = 1) /是1 adrL_code |= (1i);/保存键值 /解析遥控器编码中的命令码反码for(j = 0 ; j 8; j+) if(logic_value() = 1) /是1 adrH_code |= (1=140&Pulse_Width=68&Pulse_Width=34&Pulse_Width=7&Pulse_Width=10)/560us return; 2.2、响应模块(蜂鸣器、LED灯、PC)2.21、遥控器按键对应响应功能3121:上一页3:下一页6542:鼠标上移 8:鼠标下移4:鼠标左移86:鼠标右移5:确定2.22、响应原理通过红外遥控模块传递的变量adrL_code使Deal_Print()函数作出响应,响应分为三部分: 1.鼠标和键盘的响应: Mouse.move(); Keyboard.press(); 2.蜂鸣器和LED灯:BuzzerDi();digitalWrite(LED,HIGH); 3.串口显示按键相关信息:remote_deal() (该函数在InfraredRemote.h中)。2.2.3、关键代码#include InfraredRemote.h#include #define Buzzer 3#define LED 13void setup() Serial.begin(9600); pinMode(IR_IN,INPUT_PULLUP);/设置红外接收引脚为输入Serial.flush();/清除串口缓冲器内容函数。 timer1_init();/定时器初始化 Keyboard.begin(); Mouse.begin(); pinMode(Buzzer,OUTPUT);/蜂鸣器为IO输出 digitalWrite(Buzzer,LOW); pinMode(LED,OUTPUT);/LED为IO输出 digitalWrite(LED,LOW); void loop() remote_decode(); /译码Deal_Print(); void Deal_Print() /响应 if(adrL_code !=0x00) BuzzerDi(); digitalWrite(LED,HIGH); delay(200); digitalWrite(LED,LOW); if( adrL_code = 0x0c)Serial.println(The previous one); Keyboard.press(KEY_LEFT_ARROW);/向电脑发送向左按键按下的指令 delay(50); Keyboard.releaseAll();else if( adrL_code = 0x18 )Serial.println(Up); Mouse.move(0,-20);else if( adrL_code = 0x5e )Serial.println(The next one); Keyboard.press(KEY_RIGHT_ARROW);/向电脑发送向right按键按下的指令 delay(50); Keyboard.releaseAll();else if(adrL_code = 0x08 )Serial.println(Left); Mouse.move(-20, 0);else if( adrL_code = 0x1c )Serial.println(Confirm); /双击 Mouse.click(MOUSE_LEFT); delay(300); Mouse.click(MOUSE_LEFT); else if( adrL_code = 0x5a )Serial.println(Right); Mouse.move(20, 0); else if( adrL_code = 0x52)Serial.println(Down); Mouse.move(0,20); adrL_code = 0x00;/变量重新赋初值 adrH_code = 0x00; ir_code = 0x00;void BuzzerDi() digitalWrite(Buzze
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中职美术面试题库及答案
- 浙江省温州市龙港地区2026届英语九年级第一学期期末复习检测试题含解析
- 山东省济宁市嘉祥县2026届化学九年级第一学期期中联考试题含解析
- 2026届吉林省长春市朝阳区化学九年级第一学期期中质量跟踪监视试题含解析
- 广西河池市两县2026届九上化学期中质量检测试题含解析
- 高级管理人员劳动合同解除与离职交接协议
- 离婚案中夫妻共同人寿保险权益分割及处理协议
- 跨国公司驻华代表处员工招聘及文化交流合同
- 离婚协议书:离婚后财产分割及共同债务清偿协议
- 私立小学教师绩效管理及职业发展规划合同
- 2025黑龙江伊春市铁力市招募公益性岗位人员备考练习题库及答案解析
- 铁路车间职工思政课课件
- 2025年汽车租赁公司车辆托管及运营管理合同
- 情感营销培训课件
- 企业向个人还款合同范本
- 儿童组织细胞坏死性淋巴结炎诊疗共识解读
- 钢模板安全知识培训课件
- 新学期三年级班主任工作计划(16篇)
- 2025广东汕尾市海丰县公安局招聘警务辅助人员50人备考题库及答案解析
- 消防政府专职队培训课件
- 6.1 包饺子(教案)北师大版数学三年级上册
评论
0/150
提交评论