首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于口令识别的无线控制系统的设计2

基于口令识别的无线控制系统的设计2

2.2.2 指令发送方法
   
主机的另一个任务是指令发送。发送指令通过单独进程控制。该进程工作主要有:
    (1)首先调用Windows CE API函数CreateFile()打开串口。主机以独占的方式打开串口2。
    (2)之后通过调用API函数SetCommState()来设定串口波特率。主机设置串口波特率9600,数据位8位,停止位1位,无奇偶校验。
    (3)通过调用write()函数来写需要串口发送的指令。通过read()函数来读取串口发送过来的数据。
    (4)程序结束后,调用CloseHandle()函数来关闭串口。
    以上口令识别算法和指令发送已进行多次优化,满足系统对算法的要求。
2.2.3 智能车程序
   
智能车部分主要任务为接受指令和控制电机。
    程序从main函数开始后,首先初始化单片机内部寄存、配置串口、电机复位等。之后就等待串口数据的输入。该过程是一个接受指令、解析指令、执行指令、读取车状态、发送状态的一个循环。接受指令是单片机通过串口接受无线模块发送过来的指令数据。解析指令是指根据设定的协议,单片机判断指令数据完整性并提取关键数据。执行指令是指单片机根据关键数据执行相应代码,例如:向前走、停止、左转等。读取车状态是指单片机读取车上温度传感器的数据。发送状态是指小车打包状态数据并发送的过程。
2.3 通信设计
   
通信设计主要是通信协议的设计。作为应用在嵌入式系统中的通信协议,应该满足完整性、便捷性等。本文设计的通信帧结构如图4所示。


    传输的帧有七个字节组成,其中开头和结尾两个字节是帧头和帧尾。第二第三字节是目标地址,第四第五字节是数据。第六字节是校验位。在传输过程中发生的一些小错误。通过接受的帧的校验位来排除,有一定的抗干扰性。

3 实验与总结
3.1 实验结果
   
本文中取常用口令“前进”,“后退”,“左转”等8个单词为一组,进行实验。共设置三组实验。第一组试验中,测试系统口令识别的准确率,分别用说话者A,B,C,D四个人进行以上口令识别,实验结果中系统识别率达到了90%。第二组试验中,测试无线系统的传输距离。本文将无线模块接收端和客户端相分离,至到接收端无法接受到发送端的数据位置。实验结果是传送数据可以穿过一面墙,传输距离可到达30m。第三组实验为综合测试,即应用测试。试验中,测试者可以很方便的控制智能车运动和状态。
3.2 总结
   
口令识别的应用使人对机器人控制更加方便。本文在广泛应用的WinCE嵌入式平台上实现了智能车无线控制系统。实验结果表明,口令识别率达到了90%。在主机正确识别的口令中,智能车的误操作概率为零。与之前孤立的口令识别系统或控制系统相比,本系统首先应用方便,口令识别准确率高。其次,接口模块化,通过改变无线数据传送方式可以增加多个节点控制,便于管理。基于口令识别的无线控制系统具有很好的便捷性和扩展性。尤其是基于嵌入式的该系统,具有很广泛的应用前景。
返回列表