51单片机接超声测距传感器然后控制LED灯的暗灭 10
不用测出太精确的距离,大概就是检测到一米以内有没有反射就延时输出低电频。然后我先测了反射信号是的电压,我想通过反射电压的大小写程序控制LED的暗灭,没有思路该怎么写,求指...
不用测出太精确的距离,大概就是检测到一米以内有没有反射就延时输出低电频。然后我先测了反射信号是的电压,我想通过反射电压的大小写程序控制LED的暗灭,没有思路该怎么写,求指导!
展开
展开全部
哦,超声波反射的不是电压,是波形,也就是收到的发送出去返回来的波形,通过这个发送与接受到波形的时间差计算出距离的,所以,你可以通过这个距离去控制LED的暗灭,或者通过距离的远近,然后利用单片机的PWM,控制LED灯的暗灭或者逐渐亮灭也可以哦。
更多追问追答
追问
那么你能帮我写一小段主程序,我看一看,现在没有思路
追答
嗯,我给你一段超声波测距的子程序吧:
time=TH0*256+TL0;
TH0=0;
TL0=0;
S1=(time*1.86);
S=(10*(100*M-S1))/N;
MED_S2=S-MED_S1;
if(abs(MED_S2)>=5)
{S=S;}
else
{S=MED_S1;}
其中S就是距离。
展开全部
超声测距是通过判断发出超声信号到接收到超声信号之间的时间差来计算距离的,并不是反射信号的电压,所以你理解的这个原理还是有问题的。
更多追问追答
追问
我现在理解了 , 但是我需要写程序控制,我该怎么写
不知道怎么下手
能麻烦写一个麽
追答
发送超声信号的时候开启定时器计时,收到超声信号立即关闭定时器,在定时器里面对一个全局变量累加,就可以计算出从发出信号到收到信号的时间,这个时间乘以声速然后再除以2那就是到实际障碍物距离,然后判断这个距离是否达到你设定的条件,如果达到,那么就执行相应的操作就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询