آردوینو arduino, آموزش, پروژه آردوینو, توصیه شده, دسته‌بندی نشده, شروع

آموزش آردوینو پروژه ششم : سلام کپیتان! – قسمت اول

آموزش آردوینو راه اندازی سنسورها

آموزش آردوینو پروژه ششم

زمان بچگی، ما که کلاً اسم چندتا شغل رو بیشتر بلد نبودیم. اکثرمون در جواب اینکه “بزرگ شدی می‌خوای چه کاره بشی؟” معمولاً می‌گفتیم: خلبان هواپیما.  (البته به‌غیر از اون بچه‌های منحرفی که می‌خواستن آمپول زن بشن، یا حداقل بعد هر پرواز، مدت کوتاهی در واحد تزریقات فرودگاه مشغول فعالیت باشن!). قاعدتاً هیچ کدوم از ما و شمایی که این مطلب رو می‌خونید یا اصلاً پی گیر این آرزو نشدیم یا درصد کمی تلاش کردیم و موفق نشدیم. طبیعتاً الان که با این چشم‌هایی که توی مانیتور دیگه جونی براشون نمونده و موقع رانندگی هم آبجکت‌هایی که از روبروی ماشین رد میشن رو به زحمت تشخیص میدم(!)، دیگه دنبال خلبان شدن نیستم اما خب الزاماً که همه نباید خلبان ایرباس باشن، هر‌کسی به شیوه‌ی خودش!

 

تا الان دقت کردید چقدر این برد بورد‌ها شبیه هواپیما هستن؟ اصلاً شاید ار روز ازل قسمت ما این بوده که خلبان برد بورد بشیم! درسته که همین‌طوری برد بورد رو با دستتون بگیرید توی هوا بچرخونید و صدای هواپیما در بیارید هم شبیه خلبان‌ها میشید! اما یه چند تا آیتم ساده هم برای آموزش آردوینو بهش اضافه می‌کنیم تا حس بهتری بده!

آموزش آردوینو پروزه ششم، Tilt Sensor , Shock Sensor , SMD Color

ماژول‌های موردنیاز

برای قسمت اول، از سه تا ماژول از همون بسته‌ی کذایی استفاده می‌کنیم. به ترتیب از سمت راست معرفی می‌کنم، لیدیز اند جنتلمِنز:

Tilt Switch

Shock Sensor

SMD Color

 

هدف پروژه

هدف پروژه این هست که برای مطلع کردن خلبان از وضعیت اضطراری که به وجود اومده،از این سنسور‌ها استفاده کنیم. سنسور Tilt یک بیلبیلک (!) داخلش داره که به چپ و راست حرکت می‌کنه و طبیعتاً می‌تونه از طریق خروجی دیجیتالش به ما هم اطلاع بده. سنسور شوک هم لرزش و ویبره رو تشخیص میده و SMD Color هم که مفصلاً اینجا ازش استفاده کردیم.

مراحل کار

اول سنسور Tilt رو به تنهایی بر روی بورد نصب می‌کنیم. چون باید در راستای افق تراز باشه، طبیعتاً باید روی بورد قرار بگیره. پایه منفی به منفی، پایه وسط به 5 ولت و پایه S یا سیگنال هم خروجی این شیلد هست. مدار رو من به این صورت طراحی کردم و اون سیم متصل به سنسور هم برای اینه که این‌قدر وول نخوره و بشینه سرجاش!

 

آموزش آردوینو پروزه ششم، هواپیما با آردوینو مدار اولیه

 

خروجی سنسور رو به پایه‌ی دوم آردوینو متصل کردم. این شیلد وقتی اون گلوله سمت راست باشه، مقدار صفر و وقتی سمت چپ قرار بگیره، مقدار یک رو روی خروجی قرار میده؛ اما می‌تونید برای این اطمینان مقادیر رو (همو‌ن‌طور که قبلاً دیدیم) روی خروجی سریال نمایش بدیم. پس نمونه کد زیر رو برای مرحله‌ی اول می‌نویسیم:

خب تا همین‌جا هم حداقل تونستیم وضعیت تعادل هواپیما رو متوجه بشیم. اما برای اینکه به اطلاع خلبان برسونیم، SMD Color رو هم وارد بازی می‌کنیم. پین‌های شماره‌ی ۲ و ۳  آردوینو رو به‌عنوان رنگ سبز و قرمز، به پایه‌های SMD Color‌ متصل می‌کنیم. از اونجا که توی حالت تعادل، سنسور تیلد مقدار 0 رو بر می‌گردونه، معکوسش رو به پایه سبز و معادل خروجی‌اش رو به پایه قرمز متصل می‌کنیم. زمین هم که نباید فراموش بشه.

دقت داشته باشید که درسته داریم همون مقداری که سنسور تیلد میده رو به پایه قرمز منتقل می‌کنیم، اما نمی‌تونیم برای صرفه‌جویی به همون پایه‌ی ۱ متصلش کنیم؛ چون از نوع ورودی تعریف شده و اتصال سیم کناری روی مقدارش تأثیر می‌ذاره.

 

خب تا اینجا اگه خلبان تعادل رو به هم بریزه متوجه میشه؛ اما اگه توی شرایطی قرار بگیره که هواپیما شروع به لرزش کنه چی؟ برای اینکار شیلد سوم رو هم وارد بازی می‌کنیم:

نحوه‌ی اتصال پایه‌ها دقیقاً مشابه سنسور تیلد هست. پایه سیگنالش رو به پین شماره‌ی ۵ متصل می‌کنیم. برای روشن شدن چراغ باید یکم تغییر توی الگوریتمش ایجاد کنیم؛ چون دو نوع ورودی داریم. پس در‌صورتی‌که یکی از شرایط اضطراری فعال شد، چراغ قرمز رو روشن می‌کنیم حتی اگر دومی شرایط عادی داشته باشه، مثلا در حال لرزش نباشه، اما تعادل مناسبی هم نداشته باشه.

مدار به شکل زیر در اومد:

آموزش آردوینو پروزه ششم، هواپیما با آردوینو

 

کار کرد؟ نه خیلی درست. چون صد بار گفتم که وقتی ورودی رو فعال می‌کنیم اون وضعیت باقی می‌مونه. یعنی اگر شما یک بار چراغ سبز رو روشن کنید، خب همیشه سبز هست دیگه! پس در ابتدا باید خاموشش کنید تا بر اساس شرایط، روشن شدن اون مشخص بشه.

 

کدنهایی

کد نهایی به صورت زیر هست. برای تست لرزش هواپیما رو به سمتی بگیرید که شیلد Tilt باعث قرمز شدن چراغ نشه و گلوله به سمت پایین گیر کنه:

 

 

 

 

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *