【《某激光投影键盘的硬件和软件设计案例分析》5200字(论文)】_第1页
【《某激光投影键盘的硬件和软件设计案例分析》5200字(论文)】_第2页
【《某激光投影键盘的硬件和软件设计案例分析》5200字(论文)】_第3页
【《某激光投影键盘的硬件和软件设计案例分析》5200字(论文)】_第4页
【《某激光投影键盘的硬件和软件设计案例分析》5200字(论文)】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

--PAGE9---PAGE8-某激光投影键盘的硬件和软件设计案例分析目录TOC\o"1-3"\h\u19401某激光投影键盘的硬件和软件设计案例分析 16110第1章硬件的设计与组装 1164491.1硬件部分设计与研究 185471.2本章小结 911922第2章程序的编写 10304552.1摄像头程序 1122742.2.1信号采集 1184512.2.2位图转二值图 123622.2.3单片机图像处理 13282922.2.4光斑的提取与比对 1387552.3阈值调节程序 17256922.4键盘坐标程序 17234702.5其他程序 18第1章硬件的设计与组装1.1硬件部分设计与研究硬件的设计和组装主要研究了各电路的焊接、摄像头和激光键盘图案发射器以及整体的组合,还有外壳孔洞与杜邦线的焊接与整体系统调试。电路原理图其中主要包括核心板电路图、摄像头原理图、键盘图案投射器及一字线激光器原理图等。各原理图简要研究如下:(1)核心板电路模块:STM32F103RBT6单片机的工作电压为1.3V,对应于ov7670和TFT屏幕的电压,有利于电路设计和模块连接。单片机的两端,分别连接复位引脚,还有1.3V的上拉电阻R3,具有限制电流的功能。设置单片机的复位方式,采用按键复位的方式。按键复位,按下时,电平变高,使单片机复位。当S1按键按下时,复位引脚将会变为低电平,按键松开时,复位引脚将会再变为高电平,这个过程复位引脚由高变低再变高,从而实现了硬件的复位;C5电容的作用为,过滤一些杂乱波形防止随机复位,除此之外还可以在单片机刚刚上电的时候,电容的充放电过程,电平由低变高,以此实现上电复位。一般情况下,我们使用的晶振模式都是如图所示。作为负载电容,其功能就是带通,在某段频率区间内可以使电信号通过。图3-1STM32F103RBT6单片机电路图图3-2核心板实物图键盘图案发射器及一字线激光器原理图:调整好的键盘图案发射器可以在平面上看到平整的激光键盘图案,手指放到键盘图案上,可以检测到这些手指上的反射光斑,并确定和计算这些光斑的位置。通过处理,可以识别出用户的“按键”操作,实现键盘功能。一字线激光器组装和使用方便。它可以安装在垂直的平面或者水平面上,以确保可见的激光标记线,从而出现可见和非接触的定位线,其优点是生产操作舒适,提高了生产效率,激光线可以随意设置在三维空间中,用来达到最佳效果。激光器发出的光需要尽可能靠近水平面,以确保用户接触水平面的事件能够被准确识别。如果发出的光线与其距离太大,处理软件会为没有按键动作的手指触发黏键事件,产生错误。如果发出的光线离水平面太近,会照亮水平面,干扰软件的正常运行。图3-3键盘图案发射器原理图和一字线激光器原理图图3-4键盘图案发射器图3-5一字线发射器(3)摄像头模块:在设计方案初期采用ov5640摄像机,但它的图像质量太高,图像数据太大,因此传输速度很慢,所以采用ov7670摄像机,ov7670采用FIFO模块,带缓冲存储器的模块,对于速度较慢的mcu也可以进行图像采集控制。这种摄像头具有3M以上的缓冲区,所收集的数据可以临时存储在该缓冲器中,并且在使用时可以读取存储的图像数据。满足单片机图像数据采集和mcu的速度要求。图3-6摄像头原理图图3-7ov7670摄像头摄像头和单片机接口分别为:GDN接地点SIO_CSCCB接口的控制时钟SIO_DSCCB接口的串行数据输入(出)端VSYNC帧同步信号(输出信号)HREF行同步信号(输出信号)PCLK像素时钟(输出信号)XCLCK时钟信号(输入信号)D0-D7数据端口(输出信号)RESTE复位端口(正常使用拉高)PWDN功耗选择模式(正常使用拉低)STROBE—拍照闪光控制端口(正常使用可以不需要)FIFO_RCKFIFO内存读取时钟控制端FIFO_WR_CTRFIFO写控制端(1为允许CMOS写入到FIFO,0为禁止)FIFO_OEFIFO关断控制FIFO_WRST—FIFO写指针服务端FIFO_RRST—FIFO读指针复位端摄像模块的主要作用是捕获反射的红外信号,然后将图像传输给单片机,在安装摄像模块时,必须选择与投影面的合理角度,因此,在设计过程中要进行简单的角度设计。将手指按下位置和水平面之间的角度设置为θ,用户通常使用键盘时的θ为60°~75°。将摄像头和水平面之间的角度设置为ɑ,通常摄像头距水平面高度约10厘米能捕捉到手指按下的画面。激光发射器与水平面的夹角设为β,距水平面高度约为15厘米,键盘有效范围与光源的线性距离为[D1~D2](D2>D1)。当摄像机角度ɑ满足激光发射器在摄像头之间并符合公式的时候,摄像机可以正常捕获键盘区域反射的所有红外信号。根据已知条件可以得出ɑ为40°左右。因此可以得出上述部件的几何模型如图所示:图3-8各部件几何模型(4)TFT屏幕模块:TFT屏幕可以“激活”屏幕上任何一个独立的像素,可以显著提高响应时间,TFT屏幕的响应时间比较快,大约80ms,视角比较大,甚至可以达到130度,所以可以显示高速的屏幕信息,TFT是一种采用有源矩阵技术驱动的有源矩阵液晶显示器,包括使用薄层晶体管电极和使用扫描方法拉动“有源”来控制任何显示点的输入和输出。光源辐射时,先透过下偏光板向上穿透,利用液晶分子导光,通过遮光和光线传递达到显示的目的。在设计和连接时,利用TFT屏幕观察摄像头拍摄的图像,整体设计完毕后,TFT可以移除。图3-9TFT电路图图3-10TFT屏幕图3-11整体电路图蓝牙模块集成蓝牙模块Hc-05有两种操作模式:命令响应模式和自动连接模式。在自动连接模式下,模块可分为主、从、环回三个工作轮,当模块处于自动连接模式时,将按默认模式自动连接数据传输;如果模块处于命令响应模式,它可以执行所有命令。用户可以向模块发送不同的AT命令来设置控制参数或发出控制命令,通过控制模块外部引脚的输入电平,实现模块工作状态的动态转换。图3-12蓝牙组件图1、配置波特率上电后,Key拉高,进入AT指令,此时波特率为38400。2、配置为主模式AT+ROLE=1回车,成功返回OK3、设置为主模块的步骤:=1\*GB3①PIO11置高。=2\*GB3②上电,模块进入AT命令响应状态。=3\*GB3③超级终端或其他串口工具,设置波特率38400,数据位8位,停止位1位,无校验位,无流控制。=4\*GB3④串口发送字符“AT+ROLE=1\r\n”,成功返回“OK\r\n”,其中\r\n为回车换行。PIO置低,重新上电,模块为主模块,自动搜索从模块,建立连接。4、任意地址配置,这样可自动识别、自动连接AT+CMODE=1回车,成功返回OK1.2本章小结本章主要概述了各硬件部分的电路原理及连接方式,其中主要包括核心板电路模块、键盘图案发射器及一字线激光器、摄像头和蓝牙模块。下图为硬件部分核心组件设计连接图。图3-13硬件部分核心组件连接图第2章程序的编写程序的编写主要包括图像识别程序和上位机接口程序,中心点是对采集到的投影图像进行识别和处理,即对信号进行定位和编码,最后得到用户实际的手指输入信息,程序的主要部分是利用单片机强大的计算能力对采集到的信号进行图像处理,包括信号定位和灰度图转换为二值图等工作。图4-1程序流程图2.1摄像头程序图像处理需要图像,而图像是由摄像机获取的,因此摄像头是整个过程的起点。设置摄像头的通信方式为SCCB总线方式,SIDpin的用途是用作输入或输出,只需要将其配置为输入pin或输出pin就可以。FIFO读取数据复位。摄像头采集图像数据首先是将其存储在摄像头的FIFO芯片中。进入FIFO后,数据将被传输到MCU,每次FIFO复位后,下一幅图像将被存储和传输。SCCB启动命令。STM32用这个命令调用ov7670,它是数据传输的前导信号。停止命令,SCCB将停止信号,单片机通过此命令完成对ov7670摄像机的调用,一组数据传输过程完成。MCU通过命令符号查询数据发送是否成功,1成功,0失败。从ov7670摄像机读取一个字节的数据。另一行语句用于读取数组。数组的值由后半部分表示,前半部分是地址。此数组用于保存数据。将上述数组逐个写入ov7670寄存器。读取ov7670寄存器以读取指定地址的寄存器值。然后,初始化摄像头芯片,即配置阵列寄存器。成功配置返回1,失败返回0。2.2信号收集与处理2.2.1信号采集从图像中获取目标的坐标是建立在图像坐标系空间的,而投影的键盘图像是建立在世界坐标系空间的,需要进行坐标变换,将其映射到投影键盘的坐标系,才能将“单击”事件转换成键盘输入指令,变换过程如式(1)所示:(4-1)其中,A为2×2非奇异像素坐标旋转矩阵;t为2×1的像素坐标平移向量;A与t由原图像和变换后图像边缘角点坐标求解;x'为转换后像素坐标;x为转换前像素坐标。最后通过软件对图像中各键盘按键位置的坐标进行标注。当键盘区域发生“点击”事件时,确定“点击”事件坐标对应的键盘区域坐标,然后将按键信息传送给计算机,实现键盘输入。2.2.2位图转二值图单片机接收到图像后,通过四个步骤完成对采集到的图像的定位:位图到二值图、最大闭合区间定位、键盘编码、上位机接收。这四步骤的作用分别是进行图像压缩、按键的定位、坐标与按键代码交换、上位机接收与反馈。位图被转换成二值图。位图的四字节对齐是位图每行中像素的对齐。每行像素占用的字节数必须是4字节的整数倍。如果不够,就需要补足。此时,由于存储器分配单元是32位,也就是4字节,所以每行中的读取像素是连续的,不能与其他行共享存储器单元。当彩色图像转换为灰度图像时,RGB有256个灰度分量,即当R=G=B时,颜色是灰色的,因此可以用一个字节来表示。将彩色图像转换为灰度图像就是使真彩色图像的三个颜色分量相等。计算准确值的方法有很多种,如取三个分量的平均值,取三个分量的最大值或使其中两个分量等于另一个分量的值。另一种常用的方法是取加权平均值,Gray=R*0.299+G*0.587+b*0.114。将灰度图像转换为二值图像。二值图像只有两种颜色,黑色和白色,而灰色有256种颜色。将灰度图像转换为二值图像的方法是选择一个阈值。如果灰度值大于阈值,则设置为白色。否则,它将是黑色的。关于如何选择阈值及其作用范围的方法有很多,为了简单起见,本文在全局范围内选择了一个固定的阈值。二进制图只有两个索引,可以用1bit表示。将RGB图像转换为灰度图像。标准CCD采集的图像包含R、G、B通道的数据,即传统概念中的彩色图像。根据图像处理和目标识别的需要,将RGB彩色图像转换为灰度图像。Gray(i,j)=0.3R(i,j)+0.59G(i,j)+0.11B(i,j)(4-2)其中,Gray(i,j)表示位置为(i,j)的像素点对应的灰度值,范围为(0~255),R(i,j),G(i,j),B(i,j)分别表示彩色图像中R,G,B通道(i,j)位置的像素值。2.2.3单片机图像处理根据以上步骤进行处理后,根据图像中每个元素的值是高于还是低于阈值而对其进行如下处理:(4-3)在公式中,Dst(i,j)是阈值化处理后的像素坐标,当满足条件src(i,j)≥th,也就是源图像像素点的值src(i,j)大于等于阈值时,该点的像素值设为255。如果不是,就把它设为0。定义A为图像矩阵,B为结构元素矩阵,A,B为Z2上的集合,图像A被结构B腐蚀的定义为:AΘB={x/(B)A}(4-4)其中x是表示集合平移的位移向量;Θ是腐蚀运算的运算符。设Φ为空集,那么图像A被结构元素B膨胀的定义为:AB={x(B^)x∩A≠Φ}(4-5)其中x是表示集合平移的位移向量;Θ是膨胀运算的运算符。在定义图像矩阵和结构元素矩阵的腐蚀与膨胀运算之后,将结构元素B对目标图像A的开运算定义为:A○B=(AΘB)B(4-6)其中○为开运算操作符。将结构元素B对目标图像A的闭运算定义为:AB=(AB)ΘB(4-7)其中为闭运算操作符。2.2.4光斑的提取与比对采用小功率红色激光发生器作为投射光源,将键盘字模覆盖于激光光源表面,激光透过字模将键盘图形投射到表面上,从而实现虚拟键盘的呈现工作。单片机对信号的采集拟采用摄像头和一字红外光源实现。主要做法是将一字红外光源置于投影装置底部,发射出的一字红外信号用于检测是否有手指按下。若有手指按下时,红外线就会以一定角度被反射,如图4-2所示。而摄像头则安置于一字红外光源上方,用于接收被反射的红外信号。手指按下的时候,将一字线激光器发射出来的红外线反射到摄像头里面,摄像头的图像通过液晶显示屏显示出来。带红外滤光片的摄像头,只有红外线才能进入,这样就有效避免可见光的干扰,清晰的得到手指的反射光斑,即手指反射的红外光斑,滤除可见光,最后得到手指按键信息。没有加红外滤光片的图像如图4-3所示。图4-2手指按下图像 图4-3未加红外滤光片的图像加了红外滤光片的效果如图所示:图4-4加了红外滤光片的图像得到了光斑后需要进行二值化和阈值调节,再把键盘上每个字符的坐标用测试函数找出来,然后将每个字符的坐标作为基准坐标并存放到软件中,系统运行的时候,当有按键事件发生时,系统在通过坐标测试函数提取坐标,提取出来的坐标与坐标进行比对,在误差允许的范围内输出基准坐标的对应字符。其工作流程图如图所示:图4-5软件部分工作示意图2.3阈值调节程序阈值调节是一个测试程序,主要是在前期用作寻找合适的光斑大小,如下图所示是一个比较合适的光斑大小,如果想获得合适的光斑就需要使用此测试程序来调节阈值。这个阈值调节功能就是一个输入的阀门,用这个阀门来控制获取图像的质量。图4-6调节过程图2.4键盘坐标程序与阈值测试程序一样,它们也是一个预先准备好的程序,将激光投影器固定在一字线性激光发射器和摄像头中间后,在投影模型上模拟按键。按下时,相机捕捉到红外线反射。二进制之后,在TFT上显示为白点。然后调用程序检查光斑的像素坐标。多次按下后,取坐标的平均值作为按键的固定坐标,在实际使用过程中,如果得到的点坐标是固定坐标,则确定按键被按下。每个按键的大体位置基本确定,以键盘第三行为例,如下为按键位置确定的坐标系程序:KeyBoard_SendData(177,10,x,y,detia_x,detia_y,'t');//tabKeyBoard_SendData(178,22,x,y,detia_

温馨提示

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

评论

0/150

提交评论