ساخت فاصله سنج بسیار دقیق
امروزه شیوه های متفاوتی برای اندازه گیری فاصله در صنعت بکار گرفته می شود، که یکی از آن شیوه ها، که در این پروژه از مبحث آموزش آردوینو بکار گرفته شده است، اندازه گیری فاصله یا ساخت فاصله سنج با امواج فراصوت (آلتراسونیک) می باشد. در این فاصله سنج ها (فاصله یابی با امواج اولتراسونیک)، ابتدا امواج را در جهت مورد نظر ارسال می کنیم. این امواج پس از برخورد با موانع موجود در مسیر، باز می گردند. با محاسبه زمان رفت و برگشت امواج ارسالی و مشخص بودن سرعت امواج اولتراسونیک، می توان فاصله را تعیین کرد.
امواج اولتراسونیک یا UT چیست؟
امواج اولتراسونیک از نظر فیزیکی، مانند صوت، جزو امواج مکانیکی طول طبقه بندی می شوند. به عبارت دیگر برای انتشار این امواج، ذرات در راستای انتشار موج، نوسان می کنند. طبیعی است که برای انتشار امواج صوتی (Sonic/Sound Waves) به محیطی از ماده (جامد، مایع یا گاز) نیازمندیم و این امواج در خلا، جایی که هیچ یک از انواع ماده وجود ندارند، منتشر نمی شوند. تفاوت امواج اولتراسونیک و صوت در این است که فرکانس امواج اولتراسونیک بالای 20KHz و فراتر از محدوده شنیداری انسان می باشد و به همین دلیل اولتراسونیک یا فراصوت نام گرفته اند.
برای ارسال امواج اولتراسونیک در محیط باید از فرستنده و برای دریافت این امواج باید از گیرنده مخصوص استفاده کنیم. در مقایسه با امواج صوتی، می توان فرستنده را به بلندگو و گیرنده را به میکروفون تشبیه کرد. معمولا هر یک از گیرنده ها و فرستنده های اولتراسونیک برای کار در فرکانسی خاص ساخته می شوند و بنابراین باید فرستنده و گیرنده های سازگار با هم (یعنی با فرکانس کاری برابر) به کار روند. معمولا در فاصله سنج ها با امواج اولتراسونیک، از فرستنده ها و گیرنده هایی با فرکانس کاری 40KHz استفاده می شود.
ماژول اولتراسونیک HY-SRF 05
طبق توضیحاتی که تا به الان داده ایم، برای اینکه بتوانیم توسط امواج اولتراسونیک فاصله را اندازه گیری کنیم، ابتدا باید توسط یک مدار نوسان ساز فرکانس 40KHz را برای سنسور فرستنده اولتراسونیک ارسال کنیم و سپس فرکانس دریافتی در سنسور گیرنده اولتراسونیک را توسط یک مدار تقویت کننده جهت محاسبه زمان ارسال و دریافت سیگنال، تقویت کنیم. به طور حتم برای ساخت فرکانس 40KHz و تقویت کننده، نیاز به دو مدار نوسان ساز و مدار تقویت کننده داریم، که ساخت آن ها کاری زمانبر و دشوار است. اما نگران نباشید!
ماژول اولتراسونیک SRF05 علاوه بر داشتن دو سنسور فرستنده و گیرنده اولتراسونیک 40KHz ، دارای مدار نوسان ساز و تقویت کننده نیز می باشد که همگی آن ها بر روی یک برد بسیار کوچک در ابعاد 2 در 4/5 سانتی متر قرار گرفته اند، که این موضوع باعث شده کار با آن و راه اندازی ماژول بسیار راحت شود. همچنین ماژول اولتراسونیک SRF 05 یک ماژول بسیار کامل و البته ارزان قیمت می باشد که توسط آن می توان فاصله ای تا حداکثر 5 متر را اندازه گیری نمود.
لیست قطعات مورد نیاز
برد آردوینو Arduino UNO R3 مدل DIP | 1 عدد |
ماژول آلتراسونیک SRF05 مناسب اندازه گیری فاصله | 1 عدد |
LCD کاراکتری مدل 16×2 با Backlighting آبی | 1 عدد |
برد بورد (پروجکت برد) مدل GL | 1 عدد |
سیم جامپر برد بوردی مدل دو سر نری (سری 40تایی) | 1 عدد |
توضیحات ساخت مدار پروژه
برای آزمایش پروژه آردوینو و شروع برنامه نویسی ابتدا لازم است سخت افزار پروژه بسته شود، به همین خاطر ابتدا طبق نقشه شماتیک زیر، ال.سی.دی کاراکتری و ماژول اولتراسونیک SRF05 را به برد آردوینو Arduino Uno اتصال دهید. همچنین در ادامه می توانید فیلم آموزشی و توضیحات بیشتری در رابطه با نحوه اتصال LCD کاراکتری و ماژول به برد آردوینو مشاهده کنید.
نحوه اتصال LCD کاراکتری به برد آردوینو
ال.سی.دی های کاراکتری به صورت کلی دارای 16 پایه هستند که در این پروژه برای اتصال آن به برد آردوینو کافی است طبق جدول زیر اتصالات را انجام دهید. همچنین لازم به ذکر است پایه های 7 و 8 و 9 و 10 در LCD کاراکتری به جایی متصل نمی شوند.
نحوه اتصال ماژول اولتراسونیک SRF05 به برد آردوینو
ماژول اولتراسونیک SRF05 به صورت کلی دارای 5 پایه است، که در این پروژه برای اتصال آن به برد آردوینو کافی است طبق جدول زیر اتصالات را انجام دهید. همچنین لازم به ذکر است در این پروژه پایه های OUT در ماژول اولتراسونیک SRF05 به جایی متصل نمی شود.
برنامه آردوینو در نرم افزار آردوینو
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 |
#include <LiquidCrystal.h> LiquidCrystal lcd(8, 9, 10, 4, 5, 6, 7); double duration = 0; double distance = 0; void setup() { lcd.begin(16,2); lcd.print("hello, world!"); analogWrite(11, 120); analogWrite(3, 255); pinMode(12, OUTPUT); pinMode(13, INPUT); delay(2000); } void loop() { delayMicroseconds(2); digitalWrite(12 , LOW ); delayMicroseconds(10); digitalWrite(12 , HIGH); duration = pulseIn(13 , HIGH); distance = (duration / (58)); lcd.print("distance:"); lcd.print(distance); lcd.print("cm"); lcd.setCursor(0, 2); lcd.print(" electronics 98 "); delay(500); lcd.clear(); } |
سلام دوست عزیز
بله می توانید یک ماژول بلوتوث به برد آردوینو متصل کنید و داده های مربوط به فاصله را از طریق آن ارسال نمایید، البته برای انجام اینکار باید تسلط به زبان برنامه نویسی آردوینو و راه اندازی ماژول بلوتوث داشته باشید تا بتوانید کدهای پروژه را توسعه دهید. همچنین می توانید برای یادگیری نحوه کار با ماژول بلوتوث، پروژه زیر را مطالعه کنید:
کنترل لامپ LED با اپلیکیشن موبایل و ماژول بلوتوث HC-05 توسط برد آردوینو
پس اگه که شما کد برنامه نویسی بلوتوث دارید لطفا ارایه بدید
لینک ارائه شده در پاسخ قبلی را مطالعه نمایید.
پس همون کدها برای ارایه اطلاعات به برد بدم
یه سوال دیگه ببخشید خیلی سوال مپرسم فقط اینکه باید سیم تهذیه ال سی دی و سنسور را فقط به یک پایه اردینو وصل کنم اینم ۵ ولت است
سلام دوست عزیز
همانطور که در پاسخ قبلی گفته شد، لینک ارائه شده صرفا برای آشنایی شما برای راه اندازی ماژول بلوتوث با برد آردوینو ارائه شده و برای افزودن آن به این پروژه و توسعه این پروژه باید به زبان برنامه نویسی آردوینو تسلط کافی داشته باشید.
در پاسخ به سوال بعدی شما نیز، بله می توانید پایه VCC نمایشگر و سنسور را به پایه VCC یا 5V برد آردوینو متصل کنید.
اقا میشه serial.begin)9600(بزارم هرچی میزارم error میده اگه اقا میشه روی همین کدها برنامه نویسی همین سریال بدین و ارایه بدین
سلام دوست عزیز
لطفا سوالات خود را واضح بیان کنید و از بیان پرسش های تکراری بپرهیزید. برای اتصال ماژول بلوتوث به برد آردوینو تنها با یک خط کد نمی توانید اینکار را انجام دهید، شما ابتدا باید با نحوه راه اندازی ماژول بلوتوث با برد آردوینو آشنا شوید و سپس با یادگیری زبان برنامه نویسی آردوینو این پروژه را به شکل دلخواه خود توسعه دهید.
سلام وقتی که من آپلود کردم کد هارو همچین درست بود ولی بعد چند ثانیه روی ال سی دی کاراکتر های عجیبی میومد و باید دکمه قرمزه روی برد اردوینو رو فشار میدادم و باز اولش درست بود ولی چند ثانیه بعد همونجوری شد ممنون میشم مشکلم رو بگید 🙏
سلام دوست عزیز
بهتر است اتصالات ماژول SRF05 چک شود، و بررسی کنید که در همان چند ثانیه ابتدایی فاصله به درستی نمایش داده می شود یا خیر
سلام ببخشید من تازه کار با اردوینو رو آغاز کردم میخواستم بدونم اگه ما یک برنامه رو روی بورد پروگرام کردیم و میخوایم که برنامه دیگری یا پروژه دیگری رو روی بورد اردوینو پروگرام کنیم باید دکمه ریست رو فشار بدیم تا دیتای برنامه اول حذف شده و دیتای دوم رو پروگرام کنیم یا به صورت خودکار برنامه اول حذف میشه
ممنون میشم اگه راهنمایی کنید
سلام دوست عزیز
هر بار که شما برنامه جدیدی را بر روی برد آردوینو پروگرام می کنید برنامه قبلی به صورت خودکار حذف خواهد شد.
صفحه نمایش نشون نمده از چی می تونه باشه؟
با سلام خدمت شما آقای اکبری!
1-آیا حتما باید پایه های trig و echo ماژول آلتراسونیک را به پایه های pmw برد آردوینو متصل کنیم؟ یا به پایه های معمولی هم می توان متصل کرد؟
2- و همینطور آیا پایه “دستور”سروو موتور را هم باید به پایه pmw آردوینو متصل کرد یا آن را می توان پایه معمولی آردوینو وصل کرد؟
سلام دوست عزیز
1- می توانید هر یک از پایه های دیجیتال آردوینو را برای اتصال به پایه های Trig و Echo انتخاب کنید.
2- متوجه این سوال شما نشدم چراکه اصلا در این پروژه سروو موتور استفاده نشده است!!! اما در کل برای راه اندازی سروو موتور با آردوینو نیازی نیست حتما از پایه PWM استفاده کرد.