极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10851|回复: 4

【求】超声波检测障碍物、把检测的次数 显示在数码管上

[复制链接]
发表于 2015-4-2 16:07:42 | 显示全部楼层 |阅读模式
材料:
Arduino uno 主板
超声波传感器1个数目管
如何【编程】
实现 当障碍物经过超声波传感器时,数码管显示1 次,当检测第二次障碍物经过时,显示2;以此类推....
感谢!
回复

使用道具 举报

发表于 2015-4-3 12:00:24 | 显示全部楼层
从题主的问题描述,可以看出,主要是实现一个检测到物体计数的功能,我认为选用红外一体光电开关更简单。用超声波的话,这个可以提供这样一个思路:因为超声波传感器有一个有效距离的(当物体离得太远是检测不到的),所以得约束一下。
以下是伪代码,提供一个思路
unsigned int count=0;
unsigned int distance=0;//超声波传感器测得的距离
if((超声波检测到物体)  &&  (distance在某一个范围内))
{
     count++;
}
将count的值显示到数码管上。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-4-3 15:05:53 | 显示全部楼层
莲子 发表于 2015-4-3 12:00
从题主的问题描述,可以看出,主要是实现一个检测到物体计数的功能,我认为选用红外一体光电开关更简单。用 ...

谢谢大侠给的思路,先定义变量、判断、累加、显示;但显示数目管Count这段的不知道怎么弄,求赐教!
回复 支持 反对

使用道具 举报

发表于 2015-4-3 15:57:59 | 显示全部楼层
tanhuari 发表于 2015-4-3 15:05
谢谢大侠给的思路,先定义变量、判断、累加、显示;但显示数目管Count这段的不知道怎么弄,求赐教!

显示数字多余1位的话,这个得用到7段数码管的动态扫描,先将数字的个位、十位、百位分离出来,然后分别送到数码管,代码得根据具体硬件来写。具体的你可以网上查查,教程挺多的。祝你好运~
回复 支持 反对

使用道具 举报

发表于 2015-4-3 19:32:25 | 显示全部楼层
莲子 发表于 2015-4-3 15:57
显示数字多余1位的话,这个得用到7段数码管的动态扫描,先将数字的个位、十位、百位分离出来,然后分别送 ...

是的,可以用BCD-七段译码寄存器IC,也可以用移位寄存器和段码表,甚至可以用共阴或者共阳的多位七段LED动态扫描。方法很多,搜一搜很多现成的例程。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 23:33 , Processed in 0.042609 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表