ماژول فاصله سنج التراسونیک HC-SR04
در این بخش تیم الکترونیک و برنامه نویسی الکترونیک ۹۸, اقدام به طراحی و انتشار پروژه ای کاربردی و حرفه ای با عنوان, اندازه گیری دقیق فاصله به کمک سنسور آلتراسونیک HC-SR04, برای شما علاقه مندان به پروژه های میکروکنترلر AVR کرده است. در این پروژه به کمک سنسور آلتراسونیک Ultrasonic مدل HC-SR04 فاصله بین مدار با مانع مورد نظر، را با دقت یک میلی متر اندازه گیری می کنیم و مقدار اندازه گیری شده را توسط میکروکنترلر ATmega8 بر روی یک ال سی دی کاراکتری نمایش می دهیم.
نقشه شماتیک پروژه اندازه گیری فاصله به کمک ماژول HC-SR04
شرح عملکرد پروژه
اساس کار این پروژه بر اساس اندازه گیری زمان رفت و برگشت سیگنال صوتی است که از بلندگوی (Transmitter) سنسور آلتراسونیک Ultrasonic پخش و توسط میکروفون (Receiver) آن دریافت می شود. با توجه به سرعت ثابت صوت در هوا که 340 متر بر ثانیه است، اگر از لحظه ارسال صدا زمان گیری شروع و پس از برخورد صدا به مانع و برگشت آن، زمان گیری را متوقف کنیم، با محاسبه زمان رفت و برگشت و سرعت ثابت صدا، می توانیم فاصله را اندازه گیری کنیم.
برنامه نوشته شده در نرم افزار BASCOM-AVR به زبان بیسیک BASIC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
$regfile = "m8def.dat" $crystal = 8000000 '-------------------------------------------- Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.5 , E = Portc.4 , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 Config Portd.4 = Output Trigger Alias Portd.4 Trigger = 0 '-------------------------------------------- Config Portd.5 = Input Config Portd.7 = Output Led Alias Portd.7 '-------------------------------------------- Dim A As Word Dim S As Single '-------------------------------------------- Const K = 0.1725 Waitms 50 Cursor Off Cls Lcd "Sensor HC-SR04" Locate 2 , 1 Lcd "electronics 98" '-------------------------------------------- Led = 1 : Waitms 100 Led = 0 : Wait 3 '-------------------------------------------- Do Trigger = 1 Waitus 15 Trigger = 0 Waitus 10 Pulsein A , Pind , 5 , 1 S = A * K Cls Lcd Fusing(s , "###.#") If S < 20 Then Sound Portb.0 , 200 , 500 Led = 1 Waitms 20 Led = 0 End If Waitms 100 Loop End |
این کد هایی رو که تو بسکام کپی میکنم ارور شماره 1 و 222 میده.
نیازی به کپی این کدها در نرم افزار bascom-avr نیست لطفا فایل پروژه را دانلود کنید و از پوشه code برنامه نوشته شده با فرمت .bas را توسط نرم افزار bascom-avr اجرا کنید. اگر باز هم اخطار دریافت کردید حتما به این دلیل است که نرم افزار bascom-avr شما نسخه اورجینال یا کرک شده نیست. بهتر از ورژن های جدید bascom-avr استفاده نکنید چراکه به خوبی کرک نشده اند.
سلام خسته نباشد میشه به جای HC-sr04از ماژول فاصله سنج SRF05استفاده کرد؟
سلام دوست عزیز
دیتا شیت هر دو ماژول رو دانلود کنید ببینید اگه مشخصه های ورودی و خروجی هر دو ماژول شبیه هم هستند می تونید استفاده کنید.
سلام تنظیمات فیوز بیت برای این پروژه چطوری باید باشه؟این مدار رو روی بردبرد بسته م از 5 سانتی متر پایین تر رو اندازه نمیگیره کمی هم بشتر نشون میده
سلام دوست عزیز
تنظیمات فیوز بیت های مربوط به کریستال باید بر روی کریستال داخلی 8 مگاهرتز تنظیم بشه. با مدار به کار رفته در این پروژه نمی توان توسط سنسورهای آلتراسونیک فاصله های خیلی نزدیک را اندازه گیری کرد. مگر اینکه فرکانس کاری میکروکنترلر avr را بر روی کریستال خارجی با مقدار بالا تنظیم کنید و برنامه میکروکنترلر را از لحاظ الگوریتم محاسبه فاصله کمی تغییر دهید.
سلام با تشکر از سایت خوبتون لطفا دسترسی به پروژه هاتونو راحت تر کنید
الکترونیکی
سلام.خسته نباشید.میخواستم بدونم این مدار تا چند سانتی متر رو اندازه میگیره؟
سلام دوست عزیز
حداکثر دو متر
باسلام در خط 38 بعد از sound یک ویرگول داره که باید حذف بشه تا مدار کار کنه اگه حذف نشه ارور میده باتشکر
سلام دوست عزیز
با تشکر از اطلاع شما، بله یک ویرگول به دلیل اشتباه تایپی در هنگام نوشتن برنامه در متن اضافی تایپ شده بود که ویرایش و حذف گردید.
سلام امکانش هست در خصوص برنامه نوشته شده تو بسکام توضیح بدین ؟
خط به خط که بفهمیم هرکدوم از کمیت ها چی هستن