رفتن به محتوا

واریومتر پاراگلایدر با آردوینو (دستیار پرواز حرفه‌ای)

ابزار و گجت
۰ نظر
۱۴ نفر
کد ۴۷۱۲

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

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

از برنامه‌نویسی و مونتاژ گرفته تا چاپ سه‌بعدی قاب، همه چیز رو قدم‌به‌قدم بررسی می‌کنیم. پس قطعاتت رو آماده کن تا بریم یه دستیار پرواز بی‌نظیر برای خودمون بسازیم!

مرحله ۱

قطعات و نرم‌افزارهای مورد نیاز

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

  • نرم‌افزار Arduino IDE
  • کتابخونه‌های مربوط به سنسور فشار (مثل BMP180)، نمایشگر LCD با درایور I2C و کتابخونه مدیریت کلیدها

بعد از اینکه نرم‌افزار آردوینو رو نصب کردی، فقط کافیه فایل‌های فشرده مربوط به کتابخونه‌ها رو اکسترکت کنی و داخل پوشه libraries در محل نصب آردوینو قرار بدی تا همه‌چیز برای برنامه‌نویسی آماده بشه.

  • نرم‌افزار محیط توسعه آردوینو (IDE)
  • فایل‌های مربوط به راه‌اندازی سنسورها و نمایشگر

مسیر دقیق کپی کردن فایل‌ها تو ویندوز معمولا داخل Program Files و پوشه Arduino/libraries قرار داره.

مرحله ۲

نقشه سیم‌کشی و اتصالات

مرحله ۳

طراحی سیستم و برنامه‌نویسی

ایده اولیه این بود که فقط یه بوق‌زن (Beeper) ساده با یه نمایشگر کوچیک بسازیم که فقط تغییرات ارتفاع رو نشون بده. اما هرچی جلوتر رفتیم، امکانات جذاب‌تری بهش اضافه شد تا اینکه تبدیل شد به یه دستگاه حرفه‌ای با چند دکمه کنترلی که می‌تونه کارهای خیلی مهمی رو موقع پرواز انجام بده. تصاویری که می‌بینی، مربوط به مراحل توسعه و تست کدهای این دستگاهه.

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

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

قانون نانوشته الکترونیک میگه: وقتی چیزی بدون مشکل کار می‌کنه، دیگه بهش دست نزن! پس کدهایی که آماده شده دقیقا همون چیزیه که برای پرواز بهش نیاز داری. خیالت بابت عملکردش راحت باشه.

تو نسخه‌های جدیدتر کدهای برنامه، تغییرات جذابی اعمال شده. مثلا صدای هشدار کاهش ارتفاع خیلی نرم‌تر و دلنشین‌تر شده تا موقع پرواز روی اعصاب نباشه. به‌علاوه، مقادیر پیش‌فرض برای آستانه حساسیت (Threshold) هم گسترش پیدا کرده تا بتونی دستگاه رو بهتر کالیبره کنی. اعداد حساسیت برای زمان کاهش ارتفاع (نزول) شامل مقادیر 0.5-، 0.7-، 0.9-، 1.1- و 1.3- میشه.

برای آلارم سقوط یا افت شدید ارتفاع هم اعدادی مثل 2.5- تا 8.0- در نظر گرفته شده. تو نسخه 1.3 یه کلید میانبر هم برای خاموش و روشن کردن نور پس‌زمینه نمایشگر اضافه شده تا مدیریت مصرف باتری راحت‌تر بشه.

برای کنترل نور صفحه، کافیه با یه بار زدن دکمه اول وارد منو بشی، بعد همون دکمه رو نگه داری تا صدای بوق رو بشنوی؛ به همین سادگی نور نمایشگر تغییر می‌کنه. قابلیت‌های نرم‌افزاری دستگاه مدام در حال بهینه‌سازیه تا بهترین تجربه رو موقع کار باهاش داشته باشی.

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

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

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

مرحله ۴

مونتاژ قطعات داخل قاب

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

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

مرحله ۵

بررسی امکانات و منوی تنظیمات

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

تو صفحه اصلی، اطلاعات حیاتی مثل مقدار واریو (سرعت اوج‌گیری یا کاهش ارتفاع)، دمای هوا و زمان پرواز بهت نشون داده میشه. علاوه بر این، دستگاه می‌تونه بیشترین ارتفاعی که تجربه کردی یا بالاترین سرعت صعود و نزولت رو هم تو صفحه‌های جداگانه ذخیره و نمایش بده. منوی اصلی شامل 11 تا گزینه کاربردیه:

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

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

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

  • نمایش و تنظیم فشار مرجع
  • تنظیمات حساسیت صعود
  • تنظیمات حساسیت نزول
  • مدیریت هشدارهای نوری
  • مدیریت هشدارهای صوتی
  • شخصی‌سازی آلارم‌های خطر
  • تست ایمنی آلارم‌ها
  • تنظیم هشدارهای صوتی برای ارتفاع مشخص
  • هشدار عبور از محدوده ارتفاع پایین
  • سوئیچ بین مودهای کاری
  • تنظیمات نمایشگر

تمام این قابلیت‌ها کنار هم، یه دستیار هوشمند می‌سازن که تو آسمون همیشه حواسش به وضعیتت هست.

مرحله ۶

تست عملکرد و رفع باگ‌ها

قبل از اینکه واریومتر رو ببری تو آسمون، بهتره یه تست اولیه روی زمین انجام بدی. مثلا می‌تونی روشنش کنی و سوار آسانسور بشی! این‌طوری می‌تونی دقت سنسورها رو موقع بالا و پایین رفتن بسنجی و مطمئن بشی که کالیبره است.

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

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

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

مرحله ۷

طراحی و چاپ سه‌بعدی قاب اختصاصی

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

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

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

برای چاپ قاب، بهتره از آخرین نسخه طراحی شده (نسخه 1.2) استفاده کنی، چون تو این نسخه چند تا ارتقای خیلی عالی اعمال شده:

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

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

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

  • دسترسی سریع به محفظه باتری
  • طراحی یکپارچه و بهینه‌سازی نقاط اتصال
  • ارگونومی بهتر به خاطر کاهش ضخامت
  • رفع ایرادات نسخه‌های قبلی طراحی

این قاب، تیر نهایی برای داشتن یه واریومتر شخصی‌سازی‌شده و جذابه.

مرحله ۸

پیکربندی برای سنسور BME280

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

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

مرحله ۹

پیکربندی برای سنسور BMP280

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

یه نکته فنی خیلی مهم: اگه بعد از مونتاژ سنسور BMP280 متوجه شدی که هیچ دیتایی روی صفحه نمایش نشون داده نمیشه، نگران خراب بودن سنسور نباش! معمولا این مشکل به خاطر تفاوت آدرس I2C پیش‌فرض سنسورهاست. برای حل این مشکل، کافیه وارد فایل کتابخونه Adafruit_BMP280 بشی و آدرس اصلی رو از 0x77 به 0x76 تغییر بدی. با همین تغییر کوچیک، سنسور شناسایی میشه و شروع به ارسال دیتا می‌کنه.

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

مرحله ۱۰

ترکیب سنسور BMP280 و نمایشگر OLED و جمع‌بندی

اگه دوست داری دستگاهت ظاهر مدرن‌تر و مصرف باتری خیلی کمتری داشته باشه، می‌تونی به جای نمایشگرهای کاراکتری معمولی، از یه صفحه نمایش OLED سایز 16 در 2 استفاده کنی. برای این ترکیب هم کدهای اختصاصی نوشته شده تا دستگاه با بهترین پرفورمنس کار کنه. تو این نسخه، متغیرهایی تعریف شده تا نرخ به‌روزرسانی صفحه برای سازگاری بهتر با OLED بهینه بشه.

تغییرات دیگه‌ای هم تو این نسخه وجود داره:

  • بهینه‌سازی کدهای آپدیت تصویر برای جلوگیری از پرش‌های روی نمایشگر OLED
  • رفع مشکل تایپ و جابه‌جایی کاراکترها موقع وارد کردن اعداد در بخش تنظیمات فشار
  • حذف گزینه بی‌کاربرد تنظیم نور پس‌زمینه از منو (چون پنل‌های OLED نیازی به بک‌لایت ندارن)
  • اصلاح ریست شدن ارتفاع مبدأ در زمان روشن کردن دستگاه
  • اصلاح و دقیق‌تر شدن الگوریتم محاسبه بیشترین و کمترین مقادیر واریومتر
  • اضافه شدن یه قابلیت فوق‌العاده کاربردی: نشانگر درصد باتری در صفحه اصلی که برای باتری‌های لیتیوم‌یونی مثل 18650 عالیه
  • حذف کاراکترهای اضافه و تمیزتر شدن رابط کاربری روی صفحه

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

فایل‌های پیوست

ZIP BMP180.zip
ZIP LiquidCrystal_I2C_V112.zip
ZIP Bounce2-master.zip

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!