یکشنبه, آذر 18, 1403
ادامه منو
    خانهپروژه های اردوینو Arduinoپروژه با انواع LCDراه اندازی سنسور گاز MQ9 با آردوینو UNO

    راه اندازی سنسور گاز MQ9 با آردوینو UNO

    در این پست از سایت اِمیک, سنسور تشخیص گاز MQ9 را با استفاده از برد آردوینو UNO راه اندازی خواهیم کرد. سنسور گاز MQ9 قابلیت تشخیص گاز مونو اکسید کربن CO و گاز شهری LPG و گاز CH4 را دارد. قبلا این سنسور را با استفاده از میکروکنترلر AVR نیز راه اندازی کرده بودیم که برای مشاهده این پست اینجا کلیک کنید. این سنسور در بازار معمولا به صورت ماژول موجود هست و ما هم در این اموزش از ماژول طراحی شده با این سنسور استفاده خواهیم کرد, که کار را برای راه اندازی این سنسور بسیار راحت می کند. شکل این ماژول به صورت زیر است :

    MQ9-Module-emic

    همانطور که می بینید این ماژول دارای ۴ پایه است که دو پایه مربوط به تغذیه ماژول است (GND,VCC) و باید به ولتاژ ۵ ولت متصل کنید, همچنین دقت کنید که جریان مصرفی این ماژول ۱۸۰ میلی امپر می باشد. دو پایه دیگر خروجی انالوگ و دیجیتال ماژول است که بسته به نیاز می توان از خروجی دیجیتال (D0) یا خروجی انالوگ (A0) استفاده کرد. تغییرات ولتاژ خروجی در حالت آنالوگ  بین ۰ تا ۵V است, که با افزایش غلظت گاز ولتاژ خروجی بالاتر می رود. در این پروژه ی اموزشی ما از هر دو خروجی این ماژول استفاده خواهیم کرد.

    پروژه راه اندازی سنسور گاز MQ9 با آردوینو UNO :

    MQ9-Test-with-Arduino

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

    همانطور که در بالا گفته شد, در این پروژه ما از هر دو خروجی انالوگ و دیجیتال این ماژول استفاده خواهیم کرد. خروجی دیجیتال ماژول که با D0 مشخص شده, در زمانی که سنسور گازی را در محیط حس نکند برابر یک منطقی یا ۵ ولت است و زمانی که سنسور گاز را در محیط تشخیص دهد برابر ۰ منطقی (۰ ولت) می شود. حساسیت خروجی دیجیتال ماژول از طریق پتانسیومتری که در پشت برد ماژول است تنظیم می شود. در این پروژه ما به این دلیل خروجی دیجیتال ماژول را به پایه 0 برد اردوینو یونو متصل کرده ایم, تا اردوینو خروجی را برای ما برعکس کند, یعنی زمانی که خروجی ماژول ۱ منطقی است برد اردوینو پایه 1 خود را 0 کند و زمانی که خروجی ماژول 0 است برد اردوینو پایه 1 خود را ۱ منطقی کند. به این ترتیب زمانی که سنسور گازی را تشخیص داد, بازری که از طریق ترانزیستور و مقاومت به پایه 1 برد اردوینو متصل است فعال می شود و زمانی که گازی در محیط نبود (یا مقدار ان کم بود) بازر غیرفعال است. از انجایی که جریان خروجی پایه های برد اردوینو کم است و نمی تواند یک بازر را راه اندازی کند ما از یک مدار راه انداز شامل ترانزیستور و مقاومت استفاده کرده ایم.

    همانطور که گفته شد خروجی انالوگ ماژول در بازه ۰ تا ۵ ولت تغییر می کند که این تغییرات به غلظت یا میزان گاز موجود در محیط بستگی دارد. ما توسط مبدل اتالوگ به دیجیتال (ADC) برد اردوینو UNO این تغییرات را اندازه گیری می کنیم و به این ترتیب می توانیم میزان گاز محیط را اندازه گیری کرده و ان را به صورت درصدی روی LCD کاراکتری نمایش دهیم. 

     

    برنامه آردوینو :

    در زیر برنامه این پروژه را مشاهده می کنید که توضیحات خط به خط ان نوشته شده است, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید. 

     

    نکات :

    • برای تنظیم کنتراست LCD می توانید پین ۳ ان را به یک پتانسیومتر متصل کنید یا در غیر این صورت پین ۳ را به منفی تغذیه وصل کنید 
    • از بازر ۵ ولت استفاده کنید (در صورتی که از بازر با ولتاژ بیشتر می خواهید استفاده کنید نیاز به تغذیه جداگانه برای ان دارید)
    • برای تست پروژه حتما برد اردوینو را با اداپتور راه اندازی کنید (جریان دهی برد اردوینو در حالتی که با کابل usb متصل به کامپیوتر راه اندازی می شود بسیار کم است و جوابگوی برخی پروژه ها نیست)
    • برای اشنایی با دستورات مربوط به LCD کاراکتری اینجا کلیک کنید
    • برای اشنایی با دستورات و نحوه راه اندازی ADC در آردوینو اینجا کلیک کنید
    • برای اشنایی با دستورات مهم برنامه نویسی اردوینو اینجا کلیک کنید
    • برای اشنایی با نحوه پروگرام کردن برد اردوینو (ریختن برنامه روی برد) اینجا کلیک کنید

     

    کلیپ تست عملی پروژه :

    من برای تست پروژه از اونجایی که بازر نداشتم بجاش از یک LED استفاده کردم

     

    دانلود فایل ها

    پسورد فایل زیپ : www.emic.ir

     

     

    نظر یادتون نره…

    عابد رازانی
    عابد رازانیhttps://emic.ir/
    فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, در حال حاضر به تولید محتوای آموزشی و طراحی و انجام پروژه مشغول هستم.

    16 نظرات

    1. سلام و عرض ادب خدمت شما من این پروژه رو بدون ال سی دی تست کردم ولی قبل از این که گازی به طرف آن بیاید سنسور صداش در میاد چکار کنم؟

    2. سلام و عرض خسته نباشید
      من این سورس کد ها رو وارد برنامه،بدون تغییر وارد کردم
      اما وقتی گزینه تصحیح کردن رو میزنم،خطا میده.
      می خواستم که راهنماییم کنین.

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

    3. سلام
      وقت بخیر
      من همه اتصالات اردوینو به LCD رو چک کردم، همه چیز درسته
      اما رو ال یس دی هیجه نملیش نمی ده
      فقط سطر اول، تمام خونه ها پرمیشه
      می خواستم راهنمایی بکنید که من چیکار کنم؟؟

      • سلام, احتمالا مشکل از کنتراست ال سی دی هست. یک پتانسیومتر برای تنظیم کنتراست به ال سی دی متصل کنید. یا پایه 3 ال سی دی را با یک مقاومت 1 کیلو به منفی تغذیه متصل کنید.

    4. سلام
      وقت بخیر
      من همه اتصالات اردوینو به LCD رو چک کردم، همه چیز درسته
      اما رو ال یس دی هیجه نملیش نمی ده
      فقط سطر اول، تمام خونه ها پرمیشه
      می خواستم راهنمایی بکنید که من چیکار کنم؟؟

    5. سلام خسته نباشید خیلی ممنونم از پروژه بسیار عالی بود
      لطف میکنید راهنمایی کنید دو تا سنسور برای ورودی دیجیتال استفاده کنیم تا یک خروجی فعال بشه باید از چه دستوری استفاده کنیم ؟
      مرسی تشکر

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

    7. لطفا کد هاتونو تغییر بدین اشتباهات زیادی داره مثلا اینکه چپین های انالوگ اردوینو در قسمت ووید ستاپ نیاز به تعریف ورودی و خروجی ندارن و اینکه {} رو در ایف ها نذاشته اید.ممنون

      • دوست عزیز کدها هیچ مشکلی ندارد و کلیپ تست پروژه را می تونید در انتهای مطلب مشاهده کنید. شرط if زمانی که فقط یک دستور درون ان نوشته می شود نیازی به {} ندارد

    8. سلام من اینو ساختم ولی lcd چیزی نشون نمیده البته چن تا پروژه دیگرو هم تست کردم اونارو هم نشون نداد مشکلش چی میتونه باشه؟

      • سلام, کدهای پروژه را بدون تغییر روی اردوینو بریزید, نباید مشکلی وجود داشته باشه. اگر تا الان با اردوینو کار نکردید بهتره ابتدا چند پروژه ساده تر مثل چشک زن یا نوشتن متن روی lcd را راه اندازی کنید, ببینید که جواب می گیرید

          • ممکنه که ال سی دی کاراکتری را درست متصل نمی کنید دقت کنید که علاوه بر پایه های 1 و 2 که به تغذیه متصل می شوند پایه های 15 و 16 نیز باید به تغذیه وصل شوند و پایه 3 ال سی دی را هم باید به زمین متصل کنید

        • البته الان یه مشکل دیگه هم دارم اونم اینکه قبلا کامپیوتر برد آردوینو رو میشناخ ولی الان نمیشناسه چراغ l رو برد هن نورش کم و زیاد میشه

    ارسال دیدگاه

    لطفا نظر خود را وارد کنید!
    لطفا نام خود را اینجا وارد کنید

    spot_img