آردوینو آردوینو Arduino Uno آموزش آردوینو شیلد Multifunction پروژه های آردوینو

آموزش شیلد مولتی فانکشن آردوینو ساخت فاصله سنج فراصوت با SRF05

Multifunction-Arduino-srf05-mega2560-digispark
نوشته شده توسط پریسا پوربلورچیان

وجود یک شیلد با ورودی و خروجی پرکاربرد از اهمیت ویژه‌ای برخوردار است. شیلد مولتی فانکشن آردوینو دارای ورودی و خروجی های متفاوتی است. نمایشگر سون سگمنت ۴ دیجیت بر روی شیلد، رابط سنسورهای دما، بیزر، ۴ کلید و … از جمله رابط‌های شیلد مولتی فانکشن آردوینو است. سه پورت دیجیتال و یک پورت آنالوگ به همراه ۴ پورت GND , VCC بر روی شیلد جهت سهولت برای استفاده طراحی شده است. در این آموزش با استفاده از ماژول SRF یک فاصله سنج فراصوتی دیجیتال به همراه نمایش عدد طراحی خواهیم کرد. در ادامه آموزش ساخت فاصله سنج srf05 با مرجع آردوینو به زبان فارسی ، دیجی اسپارک همراه باشید.

 

 

ماژول فاصله سنج SRF

ماژول آلتراسونیک فاصله سنج، اجسامی در مسیر سنسور را تشخیص و فاصله آن‌ها را محاسبه می‌کند. ولتاژ کاری سنسور تشخیص فاصله ۴٫۵ تا ۵٫۵ ولت DC است. فرکانس کاری سنسور  فاصله سنج ۴۰ کیلوهرتز می‌باشد. سنسور SRF05 دارای ۵ پایه به ترتیب VCC, Trig, Echo, Out, GND است. حداقل فاصله قابل تشخیص در مدل‌هایی با کیفیت مرغوب ۲٫۵ سانتی متر تا ۴٫۵ متر می‌باشد. پایه تریگر Trigger و اکو Echo در خروجی پالس دیجیتال ۱۰uS ایجاد می‌کنند. خروجی پایه اکو Echo بین ۰ تا VCC می‌باشد. رزولوشن اندازه گیری سنسور SRF در حدود ۰٫۳ سانتی متر است و زاویه اندازه گیری تا ۱۵ درجه است. جریان کاری سنسور SRF از ۱۰ تا ۴۰ میلی آمپر خواهد بود. پالس ۱۰uS به پایه تریگر Trigger ارسال شده و سپس سنسور به صورت اتوماتیک در خروجی فرکانس ۴۰ کیلوهرتز ارسال خواهد کرد. توسط پایه Echo مانیتورینگ خروجی انجام شده و هنگامی که خروجی Echo افزایش می‌یابد، تایمر فعال خواهد شد. سپس هنگامی که خروجی Echo کاهش یابد، مدت زمان سپری شده در تایمر ذخیره شده و در آخر از فرمول زیر جهت محاسبه فاصله استفاده خواهد کرد.

 

Distance (in cm) = (elapsed time * sound velocity (340 m/s)) / 100 / 2

 

اتصال شیلد مولتی فانکشن

  • شیلد مولتی فانکشن را طبق تصویر زیر بر روی برد آردوینو مگا Arduino Mega2560 قرار دهید. دقت کنید که پایه‌ها اشتباه قرار نگیرند.

شیوه اتصال شیلد مولتی فانکشن آردوینو به Arduino mega2560 - دیجی اسپارک

 

اتصال ماژول SRF05 به شیلد

  • پایه تریگر Trigger ماژول تشخیص فاصله SRF05 را به پایه ۵ شیلد مولتی فانکشن آردوینو Arduino MultiFinction Shield اتصال دهید.
  • پایه Echo ماژول تشخیص فاصله SRF05 را به پایه ۶ شیلد مولتی فانکشن آردوینو Arduino MultiFinction Shield اتصال دهید.
  • پایه VCC  ماژول تشخیص فاصله SRF05 را به پایه ۵ ولت شیلد مولتی فانکشن آردوینو Arduino MultiFinction Shield اتصال دهید.
  • پایه GND ماژول تشخیص فاصله SRF05 را به پایه GND شیلد مولتی فانکشن آردوینو Arduino MultiFinction Shield اتصال دهید.

 

فراخوانی کتابخانه آردوینو

برای راه اندازی سنسورها نیاز به فراخوانی سه کتابخانه Library در کد آردوینو Arduinoخواهیم داشت. چنانچه شیوه نصب کتابخانه در آردوینو را نمی‌دانید. به پست آموزش نصب کتابخانه در نرم افزار آردوینو مراجعه کنید. اگر هم شیوه نصب و راه اندازی نرم افزار آردوینو را نمی‌دانید. به آموزش کار با برد آردوینو و نصب نرم افزار آردوینو Arduino IDE مراجعه کنید.

 

  • کتابخانه MultiFunction

کتابخانه مولتی فانکشن جهت راه اندازی شیلد فراخوانی می‌شود. لینک دانلود کتابخانه multifunction در صفحه محصول شیلد مولتی فانکشن در قسمت دانلود قرار گرفته شده است. بر روی لینک کلیک کرده و کتابخانه مولتی فانکشن را دانلود کنید. سپس فابل را از حالت زیپ خارج کرده و در مسیر نصب آردوینو کپی کنید.

  • کتابخانه TimerOne

لینک دانلود کتابخانه تایمر TimerOne در صفحه محصول شیلد مولتی فانکشن در قسمت دانلود قرار گرفته شده است. بر روی لینک کلیک کرده و کتابخانه مولتی فانکشن را دانلود کنید. سپس فابل را از حالت زیپ خارج کرده و در مسیر نصب آردوینو کپی کنید.

  • کتابخانه Wire

کتابخانه wire به صورت پیش فرض در لیست کتابخانه های آردوینو قرار گرفته شده است. آن را فراخوانی کنید.

 

 

کد آردوینو فاصله سنج فراصوت

 

محدودیت در دسترسی کامل به این مجموعه آموزش

 

دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندس‌های دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید.

 

 

تحلیل کد آردوینو

کد را از طریق کلیدهای میانبری که برای انتقال کدها در نظر گرفته شده است، کپی و سپس به نرم افزار آردوینو Arduino انتقال دهید. جهت فعال کردن کلیدهای قرار گرفته بر روی شیلد باید در کد برنامه توسط دستور Switch هر یک از کلیدهای مورد نیاز را به صورت جداگانه تعریف کنید:

switch ( test ) {

  case 1 : 
    // Process for test = 1
    ...
    break;

  case 5 : 
    // Process for test = 5
    ...
    break;

  default : 
    // Process for all other cases.
    ...

}

حالت اول کلید S1 – A1

با فشردن کلید S1 سنسور تشخیص فاصله عمل کرده و سپس با قرار گرفتن شی در مسیر سنسور، فاصله را اندازه گیری کرده و سپس فاصله اندازه گیری شده را در سون سگمنت شیلد مولتی فانکشن Arduino نمایش می‌دهد. با هر بار دور و نزدیک کردن شی به سنسور تشخیص فاصله SRF، مقدار فاصله اندازه گیری شده از ۲٫۵  سانتی متر تا ۴ متر تغییر خواهد کرد.

حالت دوم کلید S2 – A2

با فشردن کلید S2 سنسور تشخیص فاصله غیر فعال شده و سپس بیزر قطع خواهد شد. برای فعال شدن مجدد سنسور کلید S1 را فشار دهید.

 

وسایل مورد نیاز

برد آردوینو مگا Arduino Mega2560

شیلد مولتی فانکشن آردوینو Arduino MultiFunction Shield

ماژول آلتراسونیک تشخیص فاصله SRF05

کابل فلت مادگی به مادگی

 

آموزش ساخت فاصله سنج فراصوت با آردوینو Mega2560 - دیجی اسپارک

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

پروژه

طی چند قسمت قبلی که طرح پروژه را پیاده سازی کردیم، با استقبال شما کاربران مواجه شدیم. در این سری برای اینکه گستره بیشتری از افراد بتوانند فرصت استفاده از بن خرید را داشته باشند؛ روال دیگری را در پیش گرفتیم. در این روش تصمیم گرفته‌ایم به ۱۰ نفر از کاربران بن خرید ارایه شود. برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و بسته به خلاقیتشان، مدار جدیدی ایجاد کنند. مثلا همین پروژه فاصله سنج را روی خودرو به عنوان سنسور دنده عقب قرار دهند. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ «#دیجی_اسپارک» و «#دانشجوکیت» و «#digispark» و «#daneshjookit» منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان از دانشجو کیت، لینک را ارسال کنید.

 

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۴۰ دیدگاه

  • سلام خانم مهندس
    از توضیحات کامل شما نهایت تشکر را دارم.
    چقدر زمان برای ارسال پروژه داریم؟

    • سلام
      از توجه شما ممنونم.
      محدودیت زمانی برای ارسال پروژه وجود ندارد ولی تنها به ۱۰ کاربر با توجه به اولویت ارسال فیلم و اشتراک گذاری بن تخفیف تعلق خواهد گرفت. پس فرصت را از دست ندهید.
      موفق باشید.

  • سلام خانم مهندس.عرض ادب.
    یک سوال داشتم.اگر به جای اردوینوی mega از اردوینوی uno استفاده شود با این برنامه ای که شما ارائه دادین میتوان ان را راه اندازی کرد یا خیر؟ باتشکر

    • سلام
      از توجه شما ممنونم.
      بله می‌توانید از آردوینو UNO استفاده کنید. تنها باید نوع برد را به درستی انتخاب کنید.

  • سلام خانم مهندس
    ممنون بابت توضیحات کامل شما.
    من شیلد مولتی فانکشن رو ندارم یعنی نتونستم پیدا کنم که خریداری کنم.
    می خواهم پروژه رو انجام بدم ولی این شیلد رو ندام نمیشه با استفاده از ال سی دی کاراکتری یا سون سگمنت
    این پروژه را طراحی و گفتین بسته به خلاقیتشان، مدار جدیدی ایجاد کنید. من مداری جدیدی باهاش طراحی و به اشتراک بزارم مشکلی نداره.

    • سلام
      خواهش میکنم، این موضوع خارج از قوانین می‌باشد ولی شما به علت اینکه تمایل به انجام پروژه دارید، مشکلی ندارد اجرا کنید و پس از اشتراک گذاری لینک را ارسال بفرمایید.
      دقت کنید که حتما لینک ارسال کنید.

  • سلام
    ببخشید بابت تاخیر در تاخیر در ارائه پروژه به علت دادن ولتاژ بالا به آردینو ی خودم سوخت و مجبور به خریداری یک برد آردینو دیگه شدم.
    این لینک پروژه
    https://www.aparat.com/v/lOsG7

    • سلام
      تشکر از اجرا و اشتراک گذاری پروژه شما
      بن خرید در حساب کاربری شما فعال شد. لطفا پس از استفاده از همین طریق اطلاع رسانی فرمایید. همچنین تجربه تان در خصوص سوختن آردوینو را دقیق تر برای آموزش دیگر کاربران از همین طریق اطلاع رسانی کنید.

      • سلام
        به چه علت آردینو من سوخت؟ به علت اینکه ولتاژ ۱۲ ولت ۲ آمپر دادم به پایه های vin و gnd که باعت سوختن این برد شد به علت smd بودن قطعات تعویض قطعات امکان پذیر نیست و همچنین اصلا معلوم هم نیست چه قطعه ای هم در بورد سوخته من قبلا با ۱۲ ولت ۵۰۰ میلی آمپر ولتاژ بورد رو تامین میکردم که مشکلی نبود ولی وقتی چندین قطه مثل ال سی دی کاراکتری و ال ای دی و رله به بورد وصل شد کمبود جریان باعت کم شدن نور ال سی دی کاراکتری شد که من به اشتباه با دادن ۱۲ ولت ۲ آمپر به بورد باعث سوختن بورد شدم.

        • سلام
          بن تخفیف بر روی ایمیل شما ارسال شده است. لطفا پس از استفاده از بن تخفیف از همین طریق اعلام نمایید.

  • با سلام. اگر بخواهیم سرعت حرکت دو موتور که به درایور L298N متصل هستند را توسط دو سنسور التراسونیک که هر سنسور یکی از موتور ها را کنترل میکند با توجه به کم یا زیاد شدن فاصله مانع نسبت به سنسور ها کم یا زیاد کنیم از چه کدی استفاده میشود؟

    • سلام مجدد
      کاربر گرامی لطفا رعایت بفرمایید و منتظر دریافت پاسخ باشید.
      کامنت شما در پست دیگر پاسخ داده شد.

  • سلام مجدد
    ۱-بن تخفیف ارسال شده؟
    ۲-و از کدوم قسمت حصاب کاربری توی دانشجو کیت می تونم از بن استفاده کنم
    با تشکر از شما

    • سلام
      کاربر گرامی لطفا پس از وارد شدن به صفحه رفرش کنید، پاسخ شما ارسال شده است.
      بن تخفیف بر روی ایمیل شما ارسال گردیده است. در هنگام ثبت سفارش در فروشگاه، بن تخفیف را وارد کنید.

      • سلام مجدد ببخشید بابت سوال های متعدد
        بنی که برای من ارسال کردید بن ارسال رایگان هست مگه تخفیف ۳۰ تومنی نیست.
        الان هم که خود دانشجو کیت ارسال رایگان رو برای همه لحاظ کرده پس این همه وقت سر اشتراک گزاری طراحی مدار و کدنویسی و… برا ۷۰۰۰ تومن ارسال بود اخه همه جا ۳۰ تومن برا کدنویسی پروژه دادید ولی اینجا اشراک گزاری و همچنین فیلم برداری و طراحی مدار جدید و کدنویسی رو ارسال رایگان دادید.

        شما بالا به دوست عزیز ارسلان گفتید که بنا به الویت در ارسال پروژه و اشتراک اون (بن تخفیف) تعلق خواهد گرفت که من هم اولین ارسال رو انجام دادم.

        • سلام
          کاربر گرامی ارسال رایگان برای هیچ کاربری فعال نیست و تنها با داشتن کد تخفیف می‌توانند استفاده کنند. لطفا پروژه ی تعریف شده برای این آموزش را با دقت مطالعه کنید. در سری جدید آموزش‌ها برای اینکه گستره بیشتری از کاربران بتوانند از فرصت بن تخفیف استفاده کنند، روال کار را تغییر داده‌ایم. در خصوص کامنت نفر قبل هم گفته شد، زمان ارسال پروژه نامحدود است ولی تنها به ۱۰ نفر برای هر پست بن تعلق خواهد گرفت.
          همچنین بن تخفیف ۳۰ هزار تومانی مخصوص آموزش‌هایی است که برای آن‌ها پروژه‌ای منحصر به فرد تعریف شده است و تنها به یک نفر تعلق خواهد گرفت. هنوز برای بسیاری از آموزش‌ها پروژه‌ی تعریف شده ارسال نشده است. با انجام آنها می‌توانید بن تخفیف ۳۰ هزار تومانی دریافت کنید. به عنوان مثال پروژه‌ی تعریف شده برای آموزش ساخت دربازکن RFID با برد آردوینو Door Lock بر پایه RFID RC522 را مطالعه کنید. سپس با انجام و ارسال آن بن تخفیف ۳۰ هزار تومانی تعلق خواهد گرفت.

              • سلام خسته نباشید
                من امروز توانستم هزینه ای که برای خریداری چیزی هایی که می خواستم از دانشجو کیت بخروم رو فراهم کنم که تا وارد سایت و اکانت خودم شدم متوجه این شدم که بن ارسال رایگان من و همچنین تخفیف های که بنا به فعالیت های خواسته شده در دانشجو کیت کردم تا تخفیف بدست بیارم منقضی شده اند حالا نمیشه برام این بن ارسال رایگان رو دوباره تا ۱ روز فعال کنید، ممنون میشم.
                اگه خواستین فعال کنید ممنون میشم رو این اکانت دیگم فعال کنید
                imanbandi6060@gmail.com
                تا فعالیت خواسته شده برای دریافت تخفیف که توش کردم از مبلغم کم کنه.و ارسال رایگان هم داشته باشه.

                • سلام
                  از توجه شما ممنونم.
                  در این مورد از طریق ارسال تیکت با فروشگاه هماهنگ کنید.

                    • سلام
                      پیرو پیگیری بنده، تیکت شما امروز یعنی تاریخ ۶ تیر ماه ۹۷ ( ۱۸/۶/۲۷) در ساعت ۱۵:۱۳ ارسال شده است!
                      منتظر دریافت پاسخ از طرف فروشگاه باشید.
                      لطفا و خواهشا موارد فروشگاه را فقط و فقط از همانجا پیگیری بفرمایید.

  • سلام و ممنون بابت آموزش های متعدد شما – بنده قصد دارم پروژه رو انجام بدم ولی به دلیل اینکه شیلد مولتی فانکشن رو مثل دوست عزیز ایمان ندارم چندین هفته هست که محصولاتی که در دانشجو کیت برای خرید گزاشته ام رو خریداری نکرده ام و فقط دنبال بن ارسال رایگان هستم مشکلی نداره با lcd کاراکتری این پروژه رو طراحی کنم چون نیاز خیلی زیادی به بن ارسال رایگان دارم، خیلی خیلی ممنون میشم.

    • سلام
      در این مورد اشکالی ندارد و می‌توانید از ال سی دی استفاده کنید. تنها به این نکته دقت داشته باشید که باید با هشتگ های گفته شده منتشر کنید.
      برای اطلاعات بیتشر در خصوص نحوه ی اشتراک پروژه، لینک زیر را مطالعه کنید.
      دریافت بن خرید از دانشجوکیت

        • سلام مجدد
          از ارسال پروژه کامل سپاسگزارم.
          بن تخفیف بر روی ایمیل شما ارسال خواهد شد. لطفا پس از استفاده از بن از همین طریق اعلام نمایید.

          • سلام خسته نباشید ممنون بابت بن، بنده از این بن ارسال رایگان استفاده کردم تا ۳ روز بعد از ثبت سفارش محصولات برام ارسال شد.
            نکته واسه بقیه که از این تجربه بنده استفاده کنند: (محصول دانشجو کیت که برد اردینو نانو بود که قیمت اون ۳۷ هزار تومن هست و برام ارسال شده بود اول که به کامپیوتر وصل کردم میگفت درایور نداره و من درایور های موجود در سایت دانشجو کیت و بقیه سایت های ایرانی و خارجی رو نصب کردم ولی موقعی که اردینو به کامپیوتر وصل میکردم اونو نمیشناخت و میگفت درایور نداره از هر راهی رفتم نتونستم بیارمش وکلافه شده بودم که ۳۷ هزار تومنم هدر رفته تا یک موضوع به فکرم اومد و گفتم که کابل مبدل اونو تعویض کنم شاید مشکل حل بشه و در نهایت با عوض کردن کابل درست شد پس اگر بهتون پیغام نداشتن درایور داد اول از صحت کابل خود اطمینان حاصل کنید بعد به دنبال نصب درایور های اون بروید.)

            • سلام
              از اینکه تجربه خود را با دیگر کاربران به اشتراک گذاشته اید، صمیمانه سپاسگزارم.
              امیدوارم برای کاربران مفید باشد و بتوانند از تجربیات شما استفاده کنند.

    • سلام
      از توجه و ارسال پروژه بسیار جذاب شما ممنونم.
      بن تخفیف ارسال رایگان پیشتاز از طریق ایمیل برای شما ارسال خواهد شد. پس از استفاده از آن، از همین طریق اعلام کنید.

  • عرض سلام و احترام
    ببخشید خانم پوربلورچیان بنده درگیر پروژه ای هستم که در آن قرار است طی شرایطی فقط و فقط امواج اولتراسونیک منتشر بشه
    و احساس می‌کنم برای چنین منظوری باید از پایه out سنسور srf05 استفاده کنم و در برنامه نویسی، آن را output در نظر بگیرم و با دستورات شرطی آن را low و high کنم
    ولی با این که به بسیاری از آموزش های داخلی و خارجی نگاهی انداختم و همچنین با توجه به دیتاشیت این سنسور، در هیچ پروژه ای دیده نشد که از پین out استفاده شود، چون همه ی دوستان از این سنسور فقط برای فاصله سنجی استفاده می‌کنند….

    حال اگر استفاده از این پین را اشتباه می‌دانید نظرتان راجب این مورد چیست که از پین های اکو و تریگر استفاده کنم و هر دو را output قرار بدهم و با همان دستورات شرطی این دو را low و high کنم؟

    به نظر شما نتیجه این که آیا با این روش ها اولتراسونیک منتشر می شود و یا خیر را باید با پروسسینگ مشاهده کنم و یا این که از ولتمتر استفاده کنم؟

    ویدیو این پروژه در صورت موفقیت آمیز بودن در سایت شما منتشر خواهد شد.

    سپاس فراوان

    • با سلام
      با توجه به دیتاشیت کالا و تجربه دیگر کاربران نظرات متفاوتی برای این پایه ارائه شده است.
      برخی معتقدند از این پایه برای وقفه میتوان استفاده کرد و برخی دیگر پایه out را بدون مود و حالت می‌دانند.
      پیشنهاد می‌شود یک مقاومت ۱٫۸ کیلو و یا ۲٫۲ کیلو بین trigger و echo قرار داده و سپس سیگنال را اندازه گیری کنید. بنده در حال بررسی این مورد هستم و نتایج را از همین طریق اعلام خواهم کرد.
      بررسی و اعلام کنید.

  • با سلام حداکثر عددی که در اون صفحه دیجیتالی نمایش داده شود آیا ۴۰۰۰ است چون آلتراسونیک srf05 است .

    ممنون میشوم راهنمایی کنید

    • با سلام
      این مورد بسته به رنج کاری سنسور مورد استفاده است. بازه عددی سنسور را از دیتاشیت مطالعه کنید.