نقل قول نوشته اصلی توسط magmagmary نمایش پست ها
این نظر مال یه بندا خدایی بوده:
روش کار با این سنسور به این صورت است که پایه Trig به مدت حداقل 10uS به سطح بالا کشیده می شود . با این کار ماژول از طریق فرستنده یک موج آلتراسونیک 40Khz را ارسال می کند ، و برد کنترل به محض دریافت بازگشت موج فراصوت توسط گیرنده ، پایه Echo را به سطح بالا خواهد برد. و از طریق رابطه زیر می توان فاصله را به دست آورد :Distance (M) = high level time (S) ( time between start sending signal and first receive ) * velocity of sound ( 340 ) (M/S) / 2در حقیقت شما یک پالس 10us به بالا ارسال می کنید و از لحظه ارسال منتظر پاسخ آن می مانید ، به محض دریافت پاسخ با ضرب کردن زمان بین ارسال و دریافت پاسخ در سرعت صوت و تقسیم آن بر 2 ( به علت اینکه زمان بدست آمده زمان رفت و برگشت موج است ) می توانید فاصله را بدست آورید.
خب درسته اینو قبول دارم زمان بین ارسال پاسخ و دریافتش ، نه مدت زمانی که در حال دریافت پاسخ بودیم
مثلا من میگم سلام این واژه سلام ، گفتن و شنیدنش 1 ثانیه طول میکشه حالا یه زمانی هم بین گفتنش و شنیدنش هست (زمان سفر موج)
الان مشکل من اینه که تابع pulseIn مدت زمان فعال بودن Echo رو برمیکردونه یعنی همون زمان لازم برای شنیدن واژه سلام که یک ثانیه هست نه زمانی که موج سفر کرده رو