标签: 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.
答案 0 :(得分:0)
我假设您正在使用SC-RS04模块,因为这正是Arduino最常用的。
根据datasheet,距离在Arduino将从模块中重现的回波脉冲的持续时间中编码。
要计算脉冲宽度,您需要设置两个中断。
一个是RISING中断,用于捕获脉冲的开始。中断处理程序将使用millis函数记录脉冲开始的时间。
另一个是FALLING中断,用于记录脉冲结束。此中断处理程序将使用毫秒函数和先前记录的时间来计算延迟,并从该持续时间开始计算距离。如果距离低于特定阈值,它将调用您的逻辑。
阅读有关设置中断的here。