תוכן עניינים:

Build Machine Watcher: 9 שלבים
Build Machine Watcher: 9 שלבים

וִידֵאוֹ: Build Machine Watcher: 9 שלבים

וִידֵאוֹ: Build Machine Watcher: 9 שלבים
וִידֵאוֹ: 🦅 Minecraft: World's SIMPLEST TNT Cannon (Tutorial) 2024, נוֹבֶמבֶּר
Anonim
בנה שומר מכונות
בנה שומר מכונות
בנה שומר מכונות
בנה שומר מכונות

נקודת המוצא לפרויקט זה הייתה עבודה על פרויקט בטון כדי ללמוד כמה דברים על לוחות מיקרו-בקר.

הרעיון הראשוני היה ליצור אובייקט פיזי שיכול לנטר מערכת אינטגרציה רציפה (VSTS | Azure DevOps) ולדווח על כשלים בבניית תוכנות. בשל חששות אבטחה ממחלקת ה- IT, סירבתי לחבר מכשיר "לא סטנדרטי" ישירות לרשת הארגונית.

סיימתי עם אדריכלות המוצגת בתמונה למעלה. ניתן לסכם את תהליך העבודה של הביצוע כדלקמן:

יישום שולחן עבודה של Windows סורק (משיכה) VSTS Build Definitions. הוא מנתח את תוצאות הבנייה ולאחר מכן שולח פקודה למכשיר הפיזי שמבצעת רצף אנימציה קטן לפני הצגת הדגל האדום או הירוק.

שלב 1: חלקים נחוצים

הרשימה הבאה מסכמת את כל הפריטים הדרושים:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 מגן הרחבה (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 דונגל של Explorer 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 אוהם.
  • שרוול תרמו נשלף.
  • כפתור לחיצה אחד.
  • נגד משיכה 10KΩ למשיכה למעלה.
  • קבל 100nF.
  • חוטי חשמל.
  • לוח רצועות (להרכבת הכפתור)
  • עץ 5 מ"מ (50x50 ס"מ).
  • מקטע עץ חתך מרובע 5x5 מ"מ (1 מ ').
  • קַרטוֹן.
  • בורג 10 X קוטר 2 מ"מ.
  • 4 בורג קוטר 5 מ"מ.
  • מגנט חזק.
  • מודול סיבוב. השתמשתי מחדש בחלק הנע הפנימי של אור מהבהב. אתה יכול לשים מה שאתה רוצה. אתה רק צריך לדאוג ש -2 החלקים הניידים יכולים לנוע בחופשיות מבלי לגעת ביחד.

שלב 2: בניית הקופסה

בונים את הקופסה
בונים את הקופסה

למעשה אתה יכול לקבל קופסה בכל צורה שתרצה. הדברים העיקריים שיש לחשוב עליהם לפני שמתחילים הם היכן יהיו החלקים הנעים וכדי להבטיח שהם יכולים לנוע בחופשיות מבלי לגעת יחדיו. נקודה נוספת היא היכן אתה מתכוון לשים את המכשיר? סיימתי עם מגנט (חזק) על מנת להדביק אותו לכל תמיכה מתכתית. אם ברצונך לבנות את אותה קופסה, תוכל לפעול לפי ההוראות שבקובץ box_drawings.pdf.

במקרה כזה אתה רק צריך לחתוך את כל החלקים השונים, ליצור את החורים עבור הסרומוטורים, הלדים, הכפתור והברגים ולבסוף להדביק את כל החלקים יחד. ברגע שהוא יבש, מעט שיוף וקצת צבע.

שני הדגלים יוצרו באמצעות קרטון אדום וירוק. כדי לתקן את תורן הדגל על מנועי הסרוואות אתה יכול להשתמש בחלקי ההרכבה המסופקים בעת רכישתם.

שלב 3: התקנת Arduino

התקנת ארדואינו
התקנת ארדואינו

הפריטים המחוברים ללוח הארכה Arduino הם:

  • PIN D2: כפתור הלחיצה.
  • קוד PIN D4: נורית LED המציינת שהמערכת דולקת.
  • PIN D5: הנורית אומרת שאנו מבצעים מחזור.
  • PIN D6: נורית ה- LED המציינת שהמכשיר קיבל הודעה חדשה.
  • PIN D9: אות הדופק PWM עבור מנוע הסרווא המטפל בג'ירו.
  • PIN D10: אות הדופק PWM עבור מנוע הסרוואי המטפל בדגל.
  • שקע XBee: מודול זיגבי אחד.

התרשים לעיל מראה כיצד כל הפריטים מחוברים ללוח.

עבור הלדים, הנגד והחוטים מרותכים עליו ישירות (דאגו לקוטביות). לאחר מכן הכל ארוז בתוך שרוול תרמו נשלף כלשהו.

עבור כפתור הלחיצה, כל החלקים (כפתור, נגד וקבל) מולחמים ישירות על לוח לוויין קטן. לוח הרצועה קבוע ישירות עם שני ברגים (2 מ מ)

הסרומוטורים פועלים עם הספק 5V ולכן ניתן לחבר אותם ישירות ל- Arduino. אם אתה משתמש בכבלים בעלי מתח גבוה יותר (12V), יהיה עליך להוסיף שכבה נוספת לאספקת החשמל.

עבור מודולי XBee, ברגע שהם מוגדרים לדבר ביחד (ראה סעיף הבא), ניתן לחבר אותם לשקעים ישירות.

הערות: נוריות הלחצן וכפתור הלחיצה היו יכולות להיות מחוברות ישירות לסיכות הארדואינו מכיוון שהן יכולות ליישם באופן פנימי את ניירות הערך הדרושים. פשוט עשיתי את הדרך הישנה מכיוון שההיבט הזה לא היה ברור לי במיוחד.

שלב 4: תוכנה - XCTU

תוכנה - XCTU
תוכנה - XCTU

כפי שצוין לעיל יש להגדיר את שני מכשירי XBee כך שידברו ביחד. לשם כך עליך להשתמש בתוכנת X-CTU הייעודית מבית DIGI. עליך לבצע שלב תצורה זה רק פעם אחת. אנא עקוב אחר ההליך המתואר בקובץ xbee_configuration.pdf.

לאחר ביצוע התצורה תוכל לחבר כל מודול לשקע שלו. אחד בממיר USB/סידורי ואחד בלוח הארכה Arduino.

ממיר USB/סידורי צריך להיות מזוהה אוטומטית על ידי Windows 10. אם לא, ייתכן שיהיה עליך להתקין את מנהל ההתקן באופן ידני

הערה:

שימוש במודולי XBee לביצוע תקשורת טורית בסיסית הוא מעט מוגזם. בזמן שהתחלתי את הפרויקט לא הצלחתי למצוא התקני תקשורת סדרתיים פשוטים שניתנים לשימוש בקלות ב- Windows 10 (בעיות מנהלי התקנים). זו גם הייתה הזדמנות ללמוד כמה דברים על

שלב 5: תוכנה - Arduino Sketch

תוכנה - Arduino Sketch
תוכנה - Arduino Sketch

כדי לתכנת את Arduino אנו משתמשים ב- IDE הנגיש מהאתר הרשמי.

ההיגיון של התוכנית די פשוט, הוא פשוט מקשיב ליציאה הטורקית המוגדרת כברירת מחדל של הלוח לאותיות בודדות ('a', 'b', …). אם התו שהתקבל תואם לפקודה ידועה, אז פונקציית משנה משחקת את הרצף המתאים.

2 הפקודות השימושיות העיקריות הן אנימציה להצלחה ('א') והנפיית שגיאות ('ב').

כדי שתוכל לשחק (או לאתר באגים) קצת יותר עם התיבה יש כמה פקודות נוספות שניתן לבצע. הם:

  • 'O': כפתור את נורית הפעלה ON
  • 'P': כפת את נורית ה- ON לכיבוי
  • 'Q': כפתור את נורית ההודעה החדשה להיות דולקת
  • 'R': כפה על נורית ההודעה החדשה להיות כבויה
  • 'S': כפה על נורית המחזור להיות דולקת
  • 'T': כפה על נורית ה- Cycle כבויה
  • 'U': הפעל את סרוווטוריית הג'ירו
  • 'V': הפעל את servomotor של הדגל.

בנוסף לפקודה הסדרתית ישנה שגרת משנה (handlePushButton) המופעלת בעת לחיצה על כפתור הלחיצה על המכשיר. במקרה זה הנפשת השגיאה או ההצלחה מופעלת אוטומטית. תכונה זו מאפשרת לבדוק שההתקן הפיזי הותקן כהלכה.

הקוד של מערכון Arduino נמצא בקובץ היחיד bsldevice.ino. אתה יכול להעלות אותו ישירות באמצעות IDE.

שלב 6: תוכנה - יישום שולחן עבודה

תוכנה - יישום שולחני
תוכנה - יישום שולחני

מטרת יישום שולחן העבודה היא לעקוב אחר אתר האינטרנט של Microsoft Azure DevOps (בעבר VSTS) ולזהות אם הגדרת Build מוצלחת או שגויה. בכל פעם שבנייה מסתיימת, יישום שולחן העבודה קובע את סטטוס הבנייה ושולח את הפקודה המתאימה ('a' או 'b') ליציאה הטורית (COMx).

לאחר השקת האפליקציה הפעולה הראשונה היא לבחור את יציאת ה- com הנכונה שעליה מחובר מודול ה- ZigBee. כדי לקבוע את היציאה תוכל להשתמש במנהל ההתקנים של Windows (תחת יציאות (קטע COM & LPT)). החיבור ל- Azure DevOps מתבצע באופן אוטומטי בעת ההפעלה באמצעות אישורי המשתמש הנוכחי. תוכל גם לשלוח כל פקודה מוגדרת מראש באופן ידני באמצעות התיבה המשולבת מימין.

כל המקורות נוצרו עם המהדורה המקצועית של Visual Studio 2017. זה דורש. NET Framework 4.6.1. גרסה זו של Framework עדיפה על מנת להקל על החיבור/אימות לאתר האינטרנט של VSTS.

להשתמש:

  • הורד את הארכיון bslwatcher_sources.zip.
  • חלץ אותו בדיסק שלך.
  • קרא את קובץ how_to_build.txt לפרטי build.

שלב 7: התחלה ראשונה

יש לזכור שני דברים עיקריים בעת הפעלת התיבה:

1- אין שום דרך שהמערכת תוכל לדעת בעצמה היכן הדגלים. המערכת מניחה כי בעת ההפעלה הדגל הירוק למעלה.

2- בעת הפעלת לוח Arduino שום דבר לא צריך לזוז. כאשר השתמשנו בסרווס רציף, מיקום האפס מוגדר כברירת מחדל ב- 90 בקובץ הסקיצות. אם מנוע סרוו מתחיל להסתובב או להרעיש. ייתכן שיהיה עליך להגדיר מחדש את מיקום האפס שלו. לשם כך פשוט כוונן את הפוטנציומטר בתוך החור הקטן בצד המנוע.

www.arduino.cc/en/Reference/ServoWrite

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

שלב 8: סיכום

המכשיר הקטן הזה ידווח פיזית על סטטוס מערכת השילוב המתמשך שלך.

מכיוון שה"אינטליגנציה "נמצאת ביישום שולחן העבודה, אתה יכול להשתמש בתיבה כדי לפקח על כל תוכנה או תהליך אחר (דואר, חיישן טמפרטורה …). אתה רק צריך לקבל גישה לממשק API אחר ולהחליט מה "טוב" או "רע". אם אינך משתמש בצבעי מוסכמה אדומים וירוקים אתה יכול אפילו לשנות את משמעות ה"מסר ".

ניתן להביא שיפורים גם לקופסה עצמה:

  • השתמש בסוללה.
  • השתמש בפרוטוקול תקשורת אחר.
  • הוסף חיישנים כדי לדעת איזה דגל נמצא למעלה.

מקווה שמצאת פרויקט מעניין.

תודה שקראתם עד כאן.

שלב 9: נספח

כמה מהקישורים המשמשים ליצירת פרויקט זה:

אתר האינטרנט של Arduino:

אתר 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/en-us/dotnet/framework/…

מוּמלָץ: