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

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

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

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

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

 

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

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

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

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

Tilt Switch

Shock Sensor

SMD Color

 

هدف پروژه

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

مراحل کار

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

 

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

 

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

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

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

 

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

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

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

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

 

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

 

کدنهایی

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

 

 

 

 

حمایت از meisam

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

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

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک