بعضی از سنسور ها نمی توانند با سرعت بالای میکرو کنترلر همراه شوند و داده های جمع آوری شده را به میکرو کنترلر بدهند از این رو لازم هست که مقداری میکرو کنترلر منتظر بماند تا داده های مورد نیاز آماده شود و این داده ها را بتواند پردازش کند.
گاهی نیز برای نمایش اطلاعات نیاز هست اطلاعات مقداری آرام تر نمایش داده شود. از این رو مقدار دیلی بیشتر نیز می شود.
اولین delay که 2us هست برای این هست که مطمئن شویم پایه LOW هست. چون ممکن هست پین قبلش HIGH بوده. اگر این 2us را نذاریم میکرو این کار را خیلی سریعتر انجام می دهد و ممکن هست التراسونیک فرصت کافی برای فهمیدن اینکه پین HIGH یا LOW شده را نداشته باشد.
در مورد delay دوم که 10us هست، بر اساس دیتاشیت زمان مورد نیاز برای ارسال پالس امواج اولتراسونیک 10us هست. بنابراین پس از 10us دوباره پایه را LOW می کنیم و منتظر برگشت امواج ارسال شده می مانیم.
احتمالا قبلا شنیده اید که استفاده از delay در کد ار خوبی نیست، چون باعث می شود بقیه کد بلاک شود. اما delay های در حد میکروثانیه واقعا اختلالی ایجاد نمی کند. در نظر داشته باشید delay در حدی باشد که شناسایی وقایع مهم مثل فشرده شدن یک دکمه یا ... از دست نرود.