蒙娜丽莎的眼睛第二篇:
驱动超声波模块,点阵取模
材料清单:
NUCLEO-F410开发板
HC-SR04超声波模块
8*8带驱动点阵
8欧小喇叭
JQ6500-16P语音模块
杜邦线若干
01.超声波
上次开篇先点了一个灯,这次跟着大神开始继续下一步。要驱动超声波模块必须对这个模块有个基本的了解,当然要去做的就是查看数据手册了。手册讲的很清楚,给个10us的高电平信号,然后模块会发送信号出去同时检测是否有反回信号。如果有的话ECHO输出高电平时间即是发射到反回的时间。
先写毫秒和微秒级的延时,仿照大佬的代码就可以实现。这主要是为驱动超声波模块的第一步来做准备的。
之后我们需要做的是先给超声波模块一个触发信号,同时计时开始检测到返回值之后得到高电平时间,通过计公式来算出距离。
测试距离=(高电平时间*声速(340M/S))/2
具体的模块连接引脚可以根据自己的接线来定义,依旧按照大神的代码操作。这里注意要将触发TRIG等功能的代码自己补充写完整。
感谢这篇以下两篇教程,我都有参考:
http://forum.eepw.com.cn/thread/298291/1
http://forum.eepw.com.cn/thread/301589/1
02.点阵取模
点阵用了MAX7219,它是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。一个方便的四线串行接口可以联接所有通用的微处理器。每个数据可以寻址在更新时不需要改写所有的显示。MAX7219同样允许用户对每一个数据选择编码或者不编码。整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。(来自手册)
看下原理图就知道怎么玩了:
这里面涉及到写初始化函数:
然后是取模不同图案:
看看显示效果吧: