آردوینو آموزش آردوینو پروژه های آردوینو پکیج سنسور آردوینو

آموزش ساخت مدار پارکینگ هوشمند با برد آردوینو Arduino و سرو موتور

Smart-parking-with-arduino-srf04-servo-motor-digispark
نوشته شده توسط آرش کدخدایی

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

 


۱ – اتصالات مدار پارکینگ هوشمند


  • پین Echo از ماژول آلتراسونیک اول به پایه ۶ آردوینو پرو مینی
  • پین Trig از ماژول آلتراسونیک اول به پایه ۷ آردوینو پرو مینی
  • پین Echo از ماژول آلتراسونیک دوم به پایه ۸ آردوینو پرو مینی
  • پین Trig از ماژول آلتراسونیک دوم به پایه ۹ آردوینو پرو مینی
  • پین CLK ماژول سگمنت به پایه ۴ آردوینو پرو مینی
  • پین DIO ماژول سگمنت به پایه ۵ آردوینو پرو مینی
  • پایه‌های ۱۰،۱۱،۱۲ به ال ای دی‌های اول تا سوم
  • پین سرو موتور به پایه ۳ آردوینو پرو مینی

 

اتصالات مدار پارکینگ هوشمند با آردوینو و Servo motor - دیجی اسپارک

 


۲ – کدنویسی پارکینگ هوشمند


کد آردوینو Arduino

قبل از آپلود مطمئن شوید کتابخانه SevenSegmentTM1637 روی آردوینو نصب میباشد. جهت دانلود این کتابخانه به صفحه محصول ماژول سگمنت ۷Segment 4 Digit با تراشه TM1637 مراجعه کرده و در قسمت دانلودها، فایل را دانلود کنید. چنانچه شیوه نصب کتابخانه در آردوینو را نمی‌دانید. به پست آموزش نصب کتابخانه در آردوینو مراجعه کنید. همچنین درجه‌های سروو موتور را داخل برنامه به درجه‌های دلخواه خود تغییر دهید تا راهبند بصورت صحیح باز و بسته شود.

 

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر شوید.

 

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

پروژه پارکینگ هوشمندبا آردوینو پرومینی - دیچی اسپارک

 


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


برد آردونیو پرو مینی Pro Mini

ماژول التراسونیک HC-SR04

سروو موتور Servo Motor

ماژول سگمنت TM1637

۳ عدد ال ای دی

 

 

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

 


پروژه و دریافت بن ارسال رایگان


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

 

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

 

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

آرش کدخدایی

یک تازه کار علاقه مند به تکنولوژی :)

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

۳۷ دیدگاه

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

    • سلام
      قسمت هایی که از myservo استفاده شده است را بسته به کاری که شما نیاز دارید تغییر دهید و هر پینی که برای رله تعریف میکنید استفاده کنید و در قسمت مورد نظر رله را تحریک کنید.

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

  • سلام من مدار رو بستم اما سرو موتور حرکت نمی کنه ولی تمام قسمت های مدار کار میکنه
    باید چی کارکنم؟؟

    در زمان اتصال اولیه سرو موتور یه دور کامل میزنه

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

    • با سلام
      کاربر گرامی پیرو پیگیری بنده با مدیریت، ایمیل شما در سایت ثبت نشده است. کلیه مراحل اجرای کار سالم می‌باشد. لطفا با همان ایمیلی که اقدام به تهیه اشتراک کرده‌اید، ثبت نظر بفرمایید تا موارد قابل پیگیری باشند.

  • سلام خسته نباشید ببخشید میخواستم بدونم پین ها vcc کلیه قطعات رو باید به کجا وصل کنم و اینکه منبع تغذیه جیه و این مدار؟

  • و یه سوال دیگه داشتم اینکه الان من مدار رو بستم طبق شکل فقط نمیدونم باید چجوری به لبتاب وصلش کنم تبدیل رو خریدم الان کدوم پایه های اردوینو رو چجوری وصل کنم به لب تال تا کدهارو اپلود کنم

      • سلام خیلی ممنون من مدار رو بستم اما موقع ا\لود کد این خطارو میده
        لطفا اگ میشه راهنمایی کنید
        Arduino: 1.8.8 (Windows 10), Board: “Arduino Pro or Pro Mini, ATmega328P (5V, 16 MHz)”

        Sketch uses 7856 bytes (25%) of program storage space. Maximum is 30720 bytes.
        Global variables use 292 bytes (14%) of dynamic memory, leaving 1756 bytes for local variables. Maximum is 2048 bytes.
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x18
        avrdude: stk500_recv(): programmer is not responding
        avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x18
        Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

        This report would have more information with
        “Show verbose output during compilation”
        option enabled in File -> Preferences.

        • سلام این خطارو برطرف کردم با مطالعه در بخش های سایتتون
          الان سه تا ال ای دی ها روشن شده و سگمنت و سروو موتور خاموش
          چیکار باید بکنم؟

          • مدار رو دقیقا طبق شکل که گذاشتید بستم
            اتصالاتم دقیقا مشابه توضیحات
            برد پرو مینی هست
            و تبدیل cp2102
            طبق توضیحات سایت رفتم وقتی موقع اپلود ریست رو زدم عبارتdone uploading ظاهر شد بعد ازینکه چراغ های ابی تبدیلم روشن شد
            اتصالات رو جابجا کردم یبار سروو موتور روشن میشه یبار سگمنت یبار الترا سونیک ها
            واقعا نمیدونم باید چیکار کنم
            سوالم اینه الان بالای بردپرومینی در شکل دوتا نقطه رو متصل کردید یکیش ک زمین اونیکی هم ریست؟درسته؟
            ایای از vcc برد هم باید اتصالی بزنم؟
            و اینکه پایه منفی ال ای دی هارو ب پایه های برد زدم درسته؟
            و در شکل یه مقاومت هست اون مقدارش چنده؟
            باید باشه یا نه؟

    • سلام
      تابع millis زمان شروع به کار بورد تا اکنون را به میلی ثانیه به ما میدهد که ما از آن استفاده میکنیم تا یک محدودیت زمانی برای رد شدن وسیله از التراسونیک ها تعریف کنیم

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