tanhuari 发表于 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的值显示到数码管上。

tanhuari 发表于 2015-4-3 15:05:53

莲子 发表于 2015-4-3 12:00 static/image/common/back.gif
从题主的问题描述,可以看出,主要是实现一个检测到物体计数的功能,我认为选用红外一体光电开关更简单。用 ...

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

莲子 发表于 2015-4-3 15:57:59

tanhuari 发表于 2015-4-3 15:05 static/image/common/back.gif
谢谢大侠给的思路,先定义变量、判断、累加、显示;但显示数目管Count这段的不知道怎么弄,求赐教!

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

喵了咪的薛定谔 发表于 2015-4-3 19:32:25

莲子 发表于 2015-4-3 15:57 static/image/common/back.gif
显示数字多余1位的话,这个得用到7段数码管的动态扫描,先将数字的个位、十位、百位分离出来,然后分别送 ...

是的,可以用BCD-七段译码寄存器IC,也可以用移位寄存器和段码表,甚至可以用共阴或者共阳的多位七段LED动态扫描。方法很多,搜一搜很多现成的例程。
页: [1]
查看完整版本: 【求】超声波检测障碍物、把检测的次数 显示在数码管上