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

MrK Blockvader: 6 שלבים (עם תמונות)
MrK Blockvader: 6 שלבים (עם תמונות)

וִידֵאוֹ: MrK Blockvader: 6 שלבים (עם תמונות)

וִידֵאוֹ: MrK Blockvader: 6 שלבים (עם תמונות)
וִידֵאוֹ: Дизельная BMW 600л.с+ vs ВОЛГА на 900л.с+. ГОНКА ПО ВЗРОСЛОМУ 2024, אוֹקְטוֹבֶּר
Anonim
Image
Image
הדפסה תלת מימדית
הדפסה תלת מימדית

במהלך השנים, ראיתי הרבה פרויקטים מעניינים של רובוט רוברים רוברטיים ואני אוהב איך טכנולוגיית הדפסה תלת מימדית סייעה לקהילה הרובוטית לגדל יותר גיוון בעיצוב ובחירות חומרים. אני רוצה להוסיף תרומה קטנה לקהילה הרובוטית על ידי פרסום MrK_Blockvader ב- Instructable for the Maker Community.

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

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

אספקה

1 * ארדואינו ננו

1 * נהג מנוע DC

מנוע 2 * DC עם תיבת הילוכים

סוללת 1 * 650 mAh Venom LiPo

2 * 1/24 גלגלי משאיות RC

2 * נוריות לבנות

1 * חיישן מרחק

1 * חיישן צבע

1 * לוח פריצה nRF24

1 * לוח רדיו nRF24

1 * זמזם

1 * מתג

1* 26 אוג 'חוט שחור

1* 26 AUG חוט כחול

1* 22 AUG חוט שחור

1* 22 AUG חוט אדום

שלב 1: הדפסה תלת מימדית

אני משתמש במדפסת תלת מימד CEL Robox המודפסת בחומר פחמן לקלילות ועמידות. אצרף את קבצי STL למטה. אנא הערה אם יש לך שאלות בנוגע לתהליך ההגדרה וההדפסה בתלת מימד.

שלב 2: הכינו את ה- Arduino Nano

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

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

פרויקט זה כולל חיווט של לוח הפריצה nRF24, עשיתי זאת בפרויקט נפרד קורא NRF24 Wireless LED Box, כאן תוכלו למצוא את המידע כיצד לחבר את לוח הפריצה nRF24 לארדואינו.

הערה: אני משתמש בחוט עבה יותר 22AWG להפעלת ה- Nano וחוטים דקים 26 AWG כחולים ושחורים לכל מטרות האות האחרות. אני אוהב את 26 החוטים האלה בגודל AWG, הם גמישים אך עם זאת חזקים מספקים את הטוב משני העולמות.

עבודת הכנה Arduino Nano:

  1. הלחם את כותרת סיכת האות ל- Arduino Nano.
  2. הרטבת הסיכות הללו בעזרת הלחמה תהפוך את ההלחמה להרבה יותר קלה אחר כך.
  3. הלחמה קבוצה של חוט כחול ל- 5V כדי לספק כוח לכל החיישנים ונורות הלדים.
  4. הלחם קבוצה של חוט שחור ל- GND כדי לספק קרקע לכל החיישנים ונורות הלדים.

עבודות הכנה של לוח הפריצה NRF 24:

  1. הלחמה 5 חוטים ללוח הפריצה nRF24 לאותות.
  2. הלחמה 2 חוטים ללוח הפריצה nRF24 לצורך ההספק.
  3. בדוק את הקישור כדי לוודא כיצד לחבר את לוח הפריצה לארדואינו.
  4. הלחם את חוטי האות 5 מה- nRF24 ל- Arduino Nana.

עבודת הכנת זמזם:

  1. הלחמה חוט שחור לאחת מרגלי הזמזם לאדמה.
  2. הלחמה חוט כחול לרגל הבאזר לשליטה באותות.

עבודת הכנה לפוטוריסטור: (תרשים זמין)

  1. הלחמה חוט כחול לאחת מרגל הפוטורזיסטור למשך 5V.
  2. הלחם נגד 10K לרגל השנייה של הפוטורזיסטור.
  3. הלחמה חוט כחול בין הנגד 10K לבין הפוטורזיסטור לאות.
  4. הלחמה חוט שחור לנגד 10K לאדמה.

עבודות הכנה של נוריות LED:

  1. הלחמה חוט כחול מה- LED הימני החיובי אל ה- LED השמאלי החיובי.
  2. הלחמה חוט שחור מהנורית הימנית השלילית אל הנורית השמאלית השלילית.
  3. הלחמה חוט כחול לנורית הימנית החיובית לשליטה באותות.
  4. הלחמה חוט שחור לנורית הימנית השלילית לאדמה.

שלב 3: הכינו מנוע DC, נהג מנוע DC וחיישנים

הכינו מנוע DC, נהג מנוע DC וחיישנים
הכינו מנוע DC, נהג מנוע DC וחיישנים
הכינו מנוע DC, נהג מנוע DC וחיישנים
הכינו מנוע DC, נהג מנוע DC וחיישנים

ל- MrK_Blockvador יש כמה אפשרויות חיישן והחיישנים הנוספים אינם משפיעים על התפעול הכולל, אולם חיישן הצבע לא יוכל להתקין לאחר מנוע DC מודבק במקומו.

עבודת הכנת מנוע DC:

  1. הלחמה חוט שחור ואדום למנוע DC.
  2. עטפו את קצה המנוע בעזרת סרט לומד.
  3. מלא את האזור בדבק חם כדי לאטום את מחברי המנוע.

עבודות הכנה של נהג מנוע DC:

  1. הלחם את 6 חוטי האות על נהג המנוע.
  2. הלחם את חוט האות לפין הנכון ב- Arduino Nano.
  3. התקן את חוטי 12V כדי להניע את נהג המנוע מהסוללה. וודא שיש לך את החוטים מספיק ארוכים כדי להרימו מתחת לגב הרובוט.
  4. התקן את חוטי 5V כדי להניע את הארדואינו נאנו מהנהג המנוע.

עבודת הכנה של חיישן צבע (אופציונלי):

  1. הלחם את 2 החוטים לאות.
  2. הלחמה 2 חוט עבור כוח.
  3. הלחם את החוט 1 כדי לשלוט על ה- LED הבהיר במיוחד.

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

  1. הלחמה חוט כחול לאות.
  2. הלחמה חוט כחול נוסף ביציאה החיובית עבור 3V חיובי.
  3. הלחמה חוט שחור עבור על היציאה השלילית עבור הקרקע.

שלב 4: הרכבה

Image
Image
להרכיב
להרכיב

אחרי כל עבודת ההכנה, עכשיו זה הרגע שבו הדברים מתחברים.

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

תהליך הרכבה:

  1. הדבק חם את חיישן הצבע למארז והעבר את חוט חיישן הצבע בערוץ. (אופציונאלי)
  2. הדבק חם את מנועי ה- DC לשלדה, וודא שמנוע ה- DC יושב ישר עם השלדה.
  3. ראש הדבק של Blocvader למארז שלו וודא שכל החוטים עוברים.
  4. חיישן מרחק דבק חם. (אופציונאלי)
  5. נוריות דבק חמות לעיניים של בלוקוודור.
  6. הכנס את חוטי מנוע DC לנהג מנוע DC עד הסוף והברג היטב.
  7. הפעל את חוטי החשמל של 12V מהנהג DC למטה ומתחת לחלק האחורי של המארז למתג ההפעלה/כיבוי.
  8. וודא שכל החוטים מכל החיישנים ברורים לפני הדבקת נהג מנוע DC.
  9. העלה קוד בדיקה ופתור בעיות אם קיים.

שלב 5: קוד

Image
Image
מה הלאה?
מה הלאה?

קוד בסיסי:

הרובוט משתמש בפוטורזיסטור שלו ומזהה את רמת האור של החדר ומגיב אם יש שינוי ברמת האור לאורך זמן

לב הקוד:

לולאת void () {lightLevel = analogRead (Photo_Pin); Serial.print ("רמת אור:"); Serial.println (lightLevel); Serial.print ("אור נוכחי:"); Serial.println (Current_Light); if (lightLevel> = 200) {Chill_mode (); analogWrite (eyes_LED, 50); Serial.println ("מצב צמרמורת");} אם (lightLevel <180) {Active_mode (); analogWrite (eyes_LED, 150); Serial. println ("מצב פעיל");}}

ניתן לשלוט ברובוט באמצעות בקר ולעבור למצב אוטונומי חלקי באמצעות הבקר.

לב הקוד:

לולאת void () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // בדוק האם יש לקבל נתונים אם (radio.available ()) {radio.read (& data, sizeof (Data_Package)); אם (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} אם (data. C_mode == 1) {Trim_Value = 0; מצב אוטונומי ();} אם (data. C_mode == 2) {Trim_Value = 0; Chill_mode ();} if (debug> = 1) {if (data. R_SJoy_State == 0) {Serial.print ("R_SJoy_State = HIGH;");} if (data. R_SJoy_State == 1) {Serial.print ("R_SJoy_State = LOW;");} if (data. S_Switch_State == 0) {Serial.print ("S_Switch_State = HIGH;");} if (data. S_Switch_State == 1) {Serial.print ("S_Switch_State = LOW; ");} אם (data. M_Switch_State == 0) {Serial.println (" M_Switch_State = HIGH ");} אם (data. M_Switch_State == 1) {Serial.println (" M_Switch_State = LOW ");} סדרתי.print ("\ n"); Serial.print ("מצב רובר:"); Serial.println (data. C_mode); Serial.print ("L_XJoy_Value ="); Serial.print (data. L_XJoy_Value); Serial.print ("; L_YJoy_Value ="); Serial.print (data. L_YJoy_Value); Serial.print ("; R_YJoy_Value ="); Serial.print (data. R_YJoy_Value); Serial.print ("; Throtle_Value ="); Serial.println (data. Throtle_Value); עיכוב (ניפוי באגים*10); } lastReceiveTime = millis (); // כרגע קיבלנו את הנתונים} // בדוק אם אנו ממשיכים לקבל נתונים, או שיש לנו חיבור בין שני המודולים currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // אם הזמן הנוכחי הוא יותר משנייה אחת מאז שקיבלנו את הנתונים האחרונים, {// זה אומר שאיבדנו את reset resetData (); // אם החיבור נותק, אפס את הנתונים. זה מונע התנהגות לא רצויה, למשל אם למזל"ט יש מצערת למעלה ואנו מנתקים את החיבור, הוא יכול להמשיך לעוף אלא אם נאפס את הערכים}}

שלב 6: מה הלאה?

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

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

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

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

מוּמלָץ: