فهرست مطالب:

Build Machine Watcher: 9 مرحله
Build Machine Watcher: 9 مرحله

تصویری: Build Machine Watcher: 9 مرحله

تصویری: Build Machine Watcher: 9 مرحله
تصویری: BIERCE VS MALAK - Dark Deception Chapter 4 2024, نوامبر
Anonim
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher

نقطه شروع این پروژه کار بر روی یک پروژه مشخص برای یادگیری چند نکته در مورد تابلوهای میکروکنترلر بود.

ایده اولیه ایجاد یک شی فیزیکی بود که بتواند بر سیستم ادغام مداوم (VSTS | Azure DevOps) نظارت داشته و خرابی های ساخت نرم افزار را گزارش کند. به دلیل نگرانی های امنیتی بخش فناوری اطلاعات ، من از اتصال مستقیم یک دستگاه "غیر استاندارد" به شبکه سازمانی خودداری کرده ام.

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

یک برنامه رومیزی ویندوز VSTS Build Definitions را اسکن (بکشید). نتایج بیلد را تجزیه و تحلیل می کند و سپس یک فرمان به دستگاه فیزیکی ارسال می کند که قبل از نشان دادن پرچم قرمز یا سبز ، یک دنباله متحرک کوچک را اجرا می کند.

مرحله 1: قطعات مورد نیاز

لیست زیر همه موارد مورد نیاز را به طور خلاصه نشان می دهد:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Expension Shield (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 ماژول XBee S1 (https://www.adafruit.com/product/128).
  • 1 دانگل اکسپلورر XBee (https://www.sparkfun.com/products/11697).
  • 2 موتور سروو مداوم 5VDC با لوازم جانبی ثابت (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 منبع تغذیه 9VDC
  • 3 عدد LED.
  • 3 مقاومت 220 اهم
  • آستین جمع شونده حرارتی
  • 1 دکمه فشاری
  • مقاومت کششی 10KΩ برای بالا کشیدن.
  • خازن 100nF
  • سیمهای برق
  • تخته نوار (برای نصب دکمه)
  • چوب 5 میلی متر (50x50 سانتی متر).
  • چوب چوب مقطع مربع 5x5 میلی متر (1 متر).
  • مقوا.
  • پیچ 10 x قطر 2 میلی متر.
  • 4 پیچ به قطر 5 میلی متر
  • آهنربای قوی
  • ماژول چرخشی از قسمت متحرک داخلی یک چراغ چشمک زن استفاده مجدد کردم. می توانید هر چه می خواهید بگذارید فقط باید مراقب باشید که 2 قسمت متحرک بتوانند آزادانه بدون لمس یکدیگر حرکت کنند.

مرحله 2: ساخت جعبه

ساختن جعبه
ساختن جعبه

در واقع شما می توانید یک جعبه از هر شکل که می خواهید داشته باشید. موارد اصلی که باید قبل از شروع به آن فکر کنید این است که قطعات متحرک در کجا قرار دارند و اطمینان حاصل شود که آنها می توانند آزادانه بدون لمس یکدیگر حرکت کنند. نکته دیگر این است که دستگاه را کجا قرار می دهید؟ من یک آهنربا (قوی) به پایان رساندم تا بتوانم آن را به هر پایه فلزی بچسبانم. اگر می خواهید همان جعبه را بسازید ، می توانید دستورالعمل های موجود در فایل box_drawings.pdf را دنبال کنید.

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

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

مرحله 3: راه اندازی Arduino

راه اندازی آردوینو
راه اندازی آردوینو

مواردی که به برد افزودنی آردوینو متصل شده اند عبارتند از:

  • پین D2: دکمه فشاری
  • پین D4: چراغی که نشان می دهد سیستم روشن است.
  • D5 PIN: چراغ نشان می دهد که ما یک چرخه را اجرا می کنیم.
  • پین D6: چراغ LED نشان می دهد دستگاه پیام جدیدی دریافت کرده است.
  • D9 PIN: سیگنال پالس PWM برای سرو موتور حامل ژیروسکوپ.
  • D10 PIN: سیگنال پالس PWM برای سرو موتور که پرچم را کنترل می کند.
  • سوکت XBee: یک ماژول ZigBee.

شماتیک بالا نحوه اتصال همه موارد به برد را نشان می دهد.

برای LED ها ، مقاومت و سیمها مستقیماً روی آن جوش داده می شوند (از قطبیت مراقبت کنید). سپس همه چیز در یک آستین گرمایی جمع شونده بسته بندی می شود.

برای دکمه فشاری ، تمام قطعات (دکمه ، مقاومت و خازن) به طور مستقیم بر روی یک تخته نوار ماهواره ای کوچک جوش داده می شوند. سپس تخته نوار به طور مستقیم با دو پیچ (2 میلی متر) ثابت می شود

سرو موتورها با قدرت 5 ولت کار می کنند بنابراین می توانند مستقیماً به آردوینو متصل شوند. اگر از لایه هایی با ولتاژ بالاتر (12 ولت) استفاده می کنید ، باید یک لایه دیگر برای منبع تغذیه اضافه کنید.

برای ماژول های XBee ، هنگامی که پیکربندی شده اند تا با هم صحبت کنند (بخش بعدی را ببینید) ، می توان آنها را مستقیماً به سوکت ها متصل کرد.

نکات: LED ها و دکمه فشاری می توانند مستقیماً به پین های آردوینو متصل شوند زیرا ممکن است اوراق بهادار مورد نیاز را در داخل پیاده سازی کند. من فقط روش قبلی را انجام دادم زیرا این جنبه برای من چندان واضح نبود.

مرحله 4: نرم افزار - XCTU

نرم افزار - XCTU
نرم افزار - XCTU

همانطور که در بالا ذکر شد ، دو دستگاه XBee باید طوری پیکربندی شوند که با هم صحبت کنند. برای این کار باید از نرم افزار اختصاصی X-CTU از DIGI استفاده کنید. شما باید این مرحله پیکربندی را فقط یک بار انجام دهید. لطفاً روش توصیف شده در فایل xbee_configuration.pdf را دنبال کنید.

پس از انجام تنظیمات ، می توانید هر ماژول را روی سوکت آنها متصل کنید. یکی روی مبدل USB/سریال و یکی روی برد افزودنی آردوینو.

مبدل USB/سریال باید به طور خودکار توسط ویندوز 10 تشخیص داده شود. در غیر این صورت ممکن است مجبور باشید درایور را به صورت دستی نصب کنید

توجه داشته باشید:

استفاده از ماژول های XBee برای برقراری ارتباط سریال اولیه کمی بیش از حد است. در زمانی که پروژه را شروع کردم ، موفق نشدم دستگاههای ارتباطی سری ساده ای را پیدا کنم که به راحتی در ویندوز 10 قابل استفاده باشد (مسائل مربوط به راننده). همچنین فرصتی برای یادگیری چند نکته در مورد https://www.zigbee.org بود

مرحله 5: نرم افزار - طرح آردوینو

نرم افزار - Arduino Sketch
نرم افزار - Arduino Sketch

برای برنامه نویسی آردوینو از IDE که از وب سایت رسمی در دسترس است استفاده می کنیم.

منطق برنامه نسبتاً ساده است ، فقط روی پورت سریال پیش فرض هیئت مدیره برای حروف واحد ("a" ، "b" ، …) گوش می دهد. اگر کاراکتر دریافت شده با یک دستور شناخته شده مطابقت داشته باشد ، یک تابع فرعی دنباله مربوطه را پخش می کند.

دو دستور مفید اصلی عبارتند از: انیمیشن موفقیت (a) و انیمیشن خطا (b).

برای اینکه بتوانید کمی بیشتر با جعبه بازی (یا اشکال زدایی کنید) ، دستورات اضافی قابل اجرا وجود دارد. آن ها هستند:

  • ‘o’: LED ON را مجبور کنید که روشن باشد
  • "p": LED ON را مجبور کنید خاموش باشد
  • 'q': LED پیام جدید را مجبور کنید روشن باشد
  • 'r': LED پیام جدید را خاموش کنید
  • 's': LED Cycle را مجبور کنید روشن باشد
  • 't': LED Cycle را مجبور کنید خاموش باشد
  • ‘u’: سرو موتور موتور ژیروسکوپ را فعال کنید
  • 'v': سرو موتور موتور پرچم را فعال کنید.

علاوه بر فرمان سریال ، یک روال فرعی (handlePushButton) وجود دارد که با فشردن دکمه فشاری روی دستگاه فعال می شود. در این صورت انیمیشن خطا یا موفقیت به طور خودکار پخش می شود. این ویژگی اجازه می دهد تا بررسی کنید که دستگاه فیزیکی به درستی نصب شده است.

کد طرح آردوینو در فایل واحد bsldevice.ino قرار دارد. می توانید آن را مستقیماً با استفاده از IDE بارگذاری کنید.

مرحله 6: نرم افزار - برنامه رومیزی

نرم افزار - برنامه رومیزی
نرم افزار - برنامه رومیزی

هدف از برنامه دسکتاپ نظارت بر وب سایت Microsoft Azure DevOps (قبلا VSTS) و تشخیص موفقیت آمیز بودن خطا یا تشخیص آن است. هر بار که ساخت به پایان رسید ، برنامه رومیزی وضعیت بیلد را تعیین می کند و دستور مربوطه (‘a’ یا ‘b’) را به پورت سریال (COMx) ارسال می کند.

پس از راه اندازی برنامه ، اولین اقدام این است که پورت کام مناسب را انتخاب کنید که ماژول ZigBee به آن متصل است. برای تعیین پورت می توانید از Windows Device Manager (در قسمت Ports (بخش COM & LPT)) استفاده کنید. اتصال به Azure DevOps در هنگام راه اندازی با استفاده از اطلاعات کاربری فعلی به طور خودکار انجام می شود. همچنین می توانید هر دستور از پیش تعریف شده را به صورت دستی با استفاده از جعبه ترکیبی در سمت راست ارسال کنید.

همه منابع با نسخه حرفه ای Visual Studio 2017 ایجاد شده اند. به. NET Framework 4.6.1 نیاز دارد. این نسخه از Framework برای تسهیل اتصال/احراز هویت به وب سایت VSTS ترجیح داده می شود.

برای استفاده:

  • بایگانی bslwatcher_sources.zip را بارگیری کنید.
  • آن را روی دیسک خود استخراج کنید.
  • برای اطلاع از جزئیات ساخت فایل how_to_build.txt را بخوانید.

مرحله 7: اولین شروع

هنگام راه اندازی جعبه دو نکته اصلی را باید در نظر داشته باشید:

1- هیچ راهی برای سیستم وجود ندارد که بفهمد پرچم ها کجا هستند. سیستم فرض می کند که هنگام راه اندازی پرچم سبز بالا می رود.

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

www.arduino.cc/fa/Reference/ServoWrite

cmra.rec.ri.cmu.edu/content/electronics/boe…

مرحله 8: نتیجه گیری

این دستگاه کوچک به طور فیزیکی وضعیت سیستم ادغام مداوم شما را گزارش می کند.

از آنجا که "هوش" در برنامه دسکتاپ وجود دارد ، می توانید از جعبه برای نظارت بر هرگونه نرم افزار یا فرآیند دیگر (نامه ، سنسور دما …) استفاده کنید. فقط باید به یک API دیگر دسترسی داشته باشید و تصمیم بگیرید که "خوب" یا "بد" چیست. اگر از رنگهای قرمز و سبز استفاده نکنید ، حتی می توانید معنی "پیام" را تغییر دهید.

همچنین می توان پیشرفت هایی را در جعبه خود ایجاد کرد:

  • از باتری استفاده کنید.
  • از پروتکل ارتباطی دیگری استفاده کنید.
  • سنسورها را اضافه کنید تا بدانید کدام پرچم در بالا قرار دارد.

امیدوارم این پروژه برای شما جالب بوده باشد.

با تشکر از خواندن تا اینجا.

مرحله 9: پیوست

برخی از پیوندهای مورد استفاده برای ایجاد این پروژه:

وب سایت آردوینو:

وب سایت DIGI:

نرم افزار XCTU:

برخی اطلاعات استفاده شده از دیگران:

arduino.stackexchange.com/questions/1321/se…

stackoverflow.com/questions/10399400/best-w…

www.mon-club-elec.fr/pmwiki_reference_ardui… (به زبان فرانسه)

jeromeabel.net/

وب سایت MSDN به طور کلی:

docs.microsoft.com/fa-us/dotnet/framework/…

توصیه شده: