简单复盘一下做小项目时遇到的问题,下载地址在最后,有需要可以下载(在CSDN上我设置的是0C币下载,我发现好几次 会自己变??)
超声波模块SRF04
·引脚
VCC:电源端
ECHO:接收端(高电平持续时间为超声波发出到返回的时间)
TR:触发控制端,信号输入
NC(OUT):开关量输出(当报警模块使用)
GND:地线
·工作原理
***如果回波高电平时间在100us-18ms区间,若超过36ms,说明没有探测到物体***
系统首先完成初始化,发射端向目标发射超声波,接收端等待回声(有高电平),同时启动定时器计时,超声波在空气中传播的途中一旦遇到障碍物后就会被反射回来,当接收端收到反射波后就会给负脉冲到单片机,此时定时器停止计时。定时器能够准确的记录下超声波发射点至障碍物之间往返传播所用的时间t,设声速为c,可得距离测量值为:s=ct/2。测量结果显示在LCD上。
·程序
137~140行判断有没有超过36ms
143~147行判断是不是在小于18ms的区间
【举个栗子】137~140行判断有没有超过36ms 用计算器算
137行: while(ECHO) //接收端还是高电平时候
36ms=36000us(微秒) 36000 D= 8CA0 H ( 十进制转十六进制)
【BIN:2进制;OCT:8进制;DEC:10进制;HEX:16进制】 *比较两个数的大小 先从高位比较,到36ms时,TH0=0x8C;TL0=0xA0;
139行: if ( ( TH0 > 0x8c ) || ( TH0 == 0x8c && TL0 > 0xa0 ) ) break;
如果 当前TH0>0x8c (即当前时间>36ms)
或 当前时间的高位TH0与36ms时的TH0 ( 0x8c )相等,就在判断低位TL0,如果 当前TL0 > 0xa0 (即当前时间>36ms)
·时间计算(超声波发出到返回的时间)
result = ( TH0 << 8 ) + TL0; //result代表时间
变量类型: unsigned int result;
·距离计算:Now=(int)(High_Time*0.0175); //Now为测量的距离值,单位cm
变量类型: unsigned int Now;
通过记录超声波高电平时间得到的声波从发出到遇障碍物返回的时间来计算距离,声速采用340m/s,但在所需的测量范围内计算距离与实际测量距离有1~2cm的偏差。考虑到声速与温度有关,声速在空气中以340m/s传播的温度条件是15℃,因此经多次修改最后选用350m/s作为本次设计中声速的标准值,在8~76cm范围内计算距离与实际测量距离无偏差。
【在“笔记”的word文件里面搜索到其他人写的时间、距离计算的式子】
——————————————————————————————————————
蜂鸣器报警电路
·连接原理:
报警模块与单片机P1.7引脚相连,当此引脚输出低电平时PNP三极管导通,由于蜂鸣器所需的驱动电流较单片机输出电流相对比较大,因此要用三极管驱动,并加一个100欧姆的电阻作为限流电阻。图中二极管起续流作用,因为蜂鸣器本质上是感性元件,电流不能突变,因此必须有一个续流二极管提供续流,否则,在“电源-三极管-蜂鸣器”这条回路截止时,已经储存的电流无处可去,在蜂鸣器两端会产生几十伏尖峰电压,有可能损坏驱动三极管并干扰整个电路系统,有了续流二极管之后“二极管-蜂鸣器-地”组成的回路可消耗剩余电流,从而避免了断开时由于电感电流造成的反向冲击。三极管起着开关作用,基极为低电平时三极管导通,蜂鸣器发声。
项目实现的功能包括:
(1)两个按键用于设置距离阈值,以10cm为一档,对于阈值进行;
(2)超声测距模块SFR04用于测量距离,并将数据发送至单片机。
(3)距离阈值和距离信息用LCD1602显示。
(3)当距离低于阈值时,报警模块以5kHz频率发出警报;当距离低于阈值+10cm时,报警模块以1kHz频率发出警报;当距离大于等于阈值+10cm时,报警模块不发出声音。
资源内容包括:
资源下载地址:
下面是咸鱼地址嘻嘻 着急可以自提 1¥ 嘻嘻
https://market.m.taobao.com/app/idleFish-F2e/widle-taobao-rax/page-detail?wh_weex=true&wx_navbar_transparent=true&id=631989419017&ut_sk=1.X6kgq5AwkNYDAKBatEDf0vKo_12431167_1608379621900.Copy.detail.631989419017.4039191413&forceFlush=1
--------------------2020.12.14---------------------
大嘎不要留QQ邮箱了 万一被垃圾推送骚扰就不好了 发你百度网盘哦 (其实我自己觉得 上面文章中写的还算挺详细的 我做的时候遇到的问题基本都写了 大嘎可以先自己试一试练练手 希望补充新发现的问题哟 )