APP下载

智能寝室的设计与制作

2017-03-27欧阳朝煌王治发沈丰逸刘芳

科技创新与应用 2017年7期

欧阳朝煌+王治发+沈丰逸+刘芳

摘 要:近年来随着科学技术的不断进步,“智能”逐渐走入人们的视野,同时也给人们生活中的产品带来机遇和挑战。使用热释电、摄像头、门禁IC卡检测学生的作息,遥控器、手机APP、触屏等输入信息,ARMcotex-M4处理器处理信息,安全数字输入输出卡存储信息,语音模块、显示模块输出信息,让“智能”融入学生生活的寝室,使学生的寝室拥有生命,带给我们无限的精彩。

关键词:ARMcotex-M4处理器;TFT显示;IC卡门禁;智能软硬件

1 智能寝室的设计目的

智能,不应该只处于实验室,而应该进入生活。而智能寝室这个设计就是通过电子硬件和微处理器编程技术,结合学生生活习惯,将智能应用到学生身边,减少学生生活烦恼,提升学生生活品质。本次课题研究的是如何将智能控制融入到学生生活习惯当中,通过床上压力传感器和微处理器的协调保证学生一定时间的睡眠,通过显示器和语音提示成为在学生离开寝室时的私人秘书,通过IC卡门禁系统保证在学生没带钥匙时照常进入寝室,夜间寝室灯光自适应调节保证学生作息。

2 智能寝室的系统构架(如图1)

ARMcotex-M4处理器建立多个任务,在uC/OS操作系统中的调度下,将热释电、摄像头、门禁IC卡、控器、手机APP、触屏、语音模块、显示模块等融入生活,让学生寝室进入智能化时代。

3 智能寝室的硬件设计

3.1 处理芯片

STM32系列单片机,基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-MX内核,拥有比8位单片机更高的数据处理速度,更丰富的外设。而且可以用STM公司提供的固件庫,简化了配置寄存器控制单片机的操作,使开发变得更简单。而且stm32还有SysTick系统时钟滴答专门提供给uC/OS作为基准时钟中断,实现系统的实时性。而且有DMA将数据从存储器到外设和存储器到存储器的双向传输,减轻了单片机CPU由于大量数据传输造成的工作负荷。

在本项目中使用STM32f407VET6作为主控芯片,其拥有最高高达168MHz的主频、512Kb的flah、192Kb的RAM,支持92个中断,其中每个IO口都可以用作中断,14个定时器,拥有大量的外设,包括USART、SPI、I2C、ADC、DAC、SDIO等,以及拥有中速USB、高速USB、以太网等外设的接口,内部集成RTC实时时钟,可以实现更多更复杂的操作。

另外用多个STC公司的STC12C5A60S2芯片作为从机。

3.2 语音解码芯片

在本课题中,需要用智能系统报告当前状态信息以及播放音乐,选用VS1003作为语音的播放与录制。其用于完成在摄像头录制视频的时候能够同时录制音频,当单片机的SPI传输音频数据至此模块时,能够实现语音的播放,实现语音提示、mp3播放的效果。

3.3 语音识别芯片

在本课题中,需要实现通过语音开关灯、语音让智能系统进入安防模式、录像模式等。选用ld3320作为本次课题的语音识别芯片,此芯片通过快速而稳定的优化算法,完成非特定人语音识别。

3.4 TFT液晶屏

在本课题中,需要用显示器实现显示课程信息、睡眠时间信息,以及通过触屏调节灯光亮度等功能。

3.5 摄像头模块

选用OV2640,OV2640是 200W 像素高清摄像头模块。该模块具有高灵敏度、低电压适合嵌入式应用的优点。

3.6 其他

超声波模块:用于检测开门角度。选用hc-sr04超声波模块,分辨率高达0.3cm,功耗低,使用简便。

温度传感器:用于检测室内和室外温度。选用18b20数字温度传感器,具有灵敏度高,体积小功耗低等优势。

4 系统软件设计

4.1 操作系统

在STM32使用的ARM Cortex处理器中,具有主堆栈MSP和进程堆栈PSP,具有PendSV和Systick中断,这些很明显是配合了uC/OS操作系统,于是我们选择了uC/OS作为本项目的嵌入式实时操作系统。

在系统上电后,我们首先要对操作系统进行初始化,包括任务控制块、空闲链表和就绪链表、任务堆栈,以及初始化事件控制块等。随后初始化硬件平台,包括stm32的时钟、DMA、SPI、IO口配置以及OV2640的初始化、RC522、NRF24L01、TFT等的初始化,还有内存管理初始化,然后传递任务指针、申请任务堆栈,创建多个任务,最后用OSStart开启多任务。

4.2 主机主要任务函数

4.2.1 灯光调节任务。为每个LED灯都建立一个结构体,以管理LED的亮灭、亮度、照明时间等,在多任务协同时,其他任务修改结构体参数,就可以控制LED。

4.2.2 门开关控制任务。通过其他任务发送过来的消息邮箱判定门为长关还是长开,通过NRF24L01发送命令到门控制从机以控制门的开关。

4.2.3 摄像头控制任务。通过其他任务发送过来的消息邮箱判定是否启动摄像,负责初始化OV2640以及将OV2640提供的数据传递到TF卡进行存储,同时开启或关闭VS1003的录音模式。

4.2.4 NRF24L01管理任务。由于NRF24L01发送或接受数据资源属于互斥信号量,只能由一个任务控制并使用。并且接受蓝牙、遥控器的指令,给其他任务发送消息或邮箱,让多任务协同。

4.2.5 TFT管理任务。此任务负责控制TFT显示的开关,以及通过TFT上的触摸屏,得到命令,刷新TFT显示,给其他任务发送消息或邮箱,让多任务协同。

4.2.6 LD3320管理任务。此任务接受从LD3320过来的语音识别数据,并将数据处理后给其他任务发送消息或邮箱,让多任务协同。

4.3 从机主要任务

4.3.1 门控制从机。负责得到测量超声波的距离数据,通过此数据判断门开关的角度,以控制电机的运行状态,并且收集主机发送过来的开光门指令,并按照指令运行。

4.3.2 风扇控制从机。通过热释电判断风扇前方是否有人,并接受主机发送过来的开关风扇的指令。

4.3.3 浴室灯控制。通过室外光敏判断外面光强,并将数据发送至主机,室内光敏判断浴室灯是否打开,通过红外光判断人的进出,负责打开浴室灯。

5 结束语

本课题从实际情况出发,将“智能”融入学生生活,使寝室富有生命,让寝室生活不再单调。通过团队成员的一起努力,经过软硬件调试的智能寝室成功正常运行。并且由于智能寝室在硬件上载入语音识别模块,让它拥有极强的可扩展性和易用性。

参考文献

[1]卢有亮.嵌入式实时操作系统μC/OS原理与实践(第2版)[M].电子工业出版社.

[2]殷志坚,刘玉莹,詹华群,等.电子技能训练[M].中南大学出版社.

[3]徐明华,邱加永,纪希禹.Java基础与案例开发详解[Z].