新闻中心

EEPW首页>汽车电子>设计应用> 运动靶车停车入库的语音测距系统

运动靶车停车入库的语音测距系统

作者:刘宁 陈炜 时间:2015-04-27 来源:电子产品世界 收藏

  1.4 其他单元

本文引用地址://m.amcfsurvey.com/article/273194.htm

  其余单元功能如下,单元用来显示实验数据,便于系统调试。矩阵键盘单元用来实现按键输入;红外遥控单元负责整个系统的触发,一体化红外接收头与Int0连接,当用户按下遥控器按键时,Int0产生中断,发出语音播报指令。

2 软件编程

  2.1软件设计

  2.1.1 SPI相关命令

  SPI模式下,相关命令如表1所示。注意芯片管脚2连接一只蓝色LED,用以指示语音芯片工作状态,为使能此LED,所有的指令码bit4必须置1。

  2.1.2编程要点

  ISD1730采用flash作为存储器,内存地址0x00~0xff,其中0x00~0x0f为音效存储单元。实现语音播报,需预先录制距离数据,下列数组可以作为数据缓存:

  unsigned char code voic_mem[]={ //定义语音储存单元
  0x10,0x13,0x14,0x17, //语音"0"、"1"起始地址和结束地址
  0x18,0x1b,0x1c,0x1f, //语音"2"、"3"起始地址和结束地址
  0x20,0x23,0x24,0x27, //语音"4"、"5"起始地址和结束地址
  0x28,0x2b,0x2c,0x2f, //语音"6"、"7"起始地址和结束地址
  0x30,0x33,0x34,0x37, //语音"8"、"9"起始地址和结束地址
  0x40,0x43,0x44,0x47, //语音"百"、"十"起始和结束地址
  0x48,0x4b,0x4c,0x4f, //语音"点"、"米"起始和结束地址
  };

  ISD1730的语音录制有5种采样频率可选,采样频率越高,语音品质越好,但可录制的时间越短,采样频率取决于芯片管脚的外接电阻,录音时长、采样频率与振荡电阻的对应关系见表2。

  图2的接法设定采样频率为8kHz,根据ISD1730技术手册,采样频率为8kHz时,每一内存单元可录制125ms语音,实验时需要录制16段语音,程序规划每一语音片断占用4个内存单元,即每一语音片断占用0.5s时长。

  2.2测距编程要点

  距离测量与换算在 INT1 中断服务子函数中完成,该子函数启动计数器计算收到回波的时长,再根据传播速度计算得到测量距离,在此注意增加延时函数,确保测量完成。

传播速度易受温度影响,因此需增加温度测量以修正超声波传播速度,从而实现对测量距离的补偿。读取温度时应注意数据转换,将温度低8位和高8位转换为1个16位的数,其高5位是相同的,代表符号,低11位,是温度的二进制数,其中高7位是温度整数,低4位是温度小数;如果是负温度,则从温度寄存器读出的是补码,应将补码取反加1得到原码。

  DS18B20的小数位可以这样理解:发出读取温度寄存器命令后,DS18B20会返回9组数据,其中第一组数据的低4位代表温度小数部分,换言之,即是把1度分解为16个4位二进制数来表示,则温度小数部分的精度为1/16=0.0625。

3 应用与测试

  将本系统安装在运动靶车上,靶车入库时,按下遥控器,扬声器持续播报靶车与极限位置之间的距离,当距离达到要求时,即控制靶车停止运行。经实际测试,操作者用本系统在库区外即可完成距离测量,测量距离最远可达4米,效果令人满意。

红外遥控器相关文章:红外遥控器原理

LCD显示屏相关文章:lcd显示屏原理


万能遥控器相关文章:万能遥控器代码


lcd相关文章:lcd原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭