计数仅仅需要检测通断啊。
在通断检测中类似按键去抖就可以保证独立的检测。
伪代码:
if 遮挡住
{
while(还持续遮挡住)
}
计数器加1
不过其实这样的检测也可能误动作,比如对比较大的开口处(如可以并行通过的地方)就可能少计数。