Interrupt arduino when a particular value is read by a ultrasonic range finder

时间:2015-10-31 09:41:37

标签: arduino

I'm new to arduino and currently using Arduino Uno. I need to interrupt arduino when a specific value is read by ultrasonic range finder. Since i'm entirely new to this i dont know anything on interrupts in arduino, I'm expecting a clear answer.

1 个答案:

答案 0 :(得分:0)

我假设您正在使用SC-RS04模块,因为这正是Arduino最常用的。

根据datasheet,距离在Arduino将从模块中重现的回波脉冲的持续时间中编码。

要计算脉冲宽度,您需要设置两个中断。

一个是RISING中断,用于捕获脉冲的开始。中断处理程序将使用millis函数记录脉冲开始的时间。

另一个是FALLING中断,用于记录脉冲结束。此中断处理程序将使用毫秒函数和先前记录的时间来计算延迟,并从该持续时间开始计算距离。如果距离低于特定阈值,它将调用您的逻辑。

阅读有关设置中断的here