יום טוב לכולם! מאמר זה יוקדש לאוהבי האלקטרוניקה, הרובוטיקה, כמו גם לאנשים עם מבט לא סטנדרטי על הדברים שמסביב!
אז עכשיו אנסה לתאר את תהליך היצירה, ההרכבה בצורה ברורה ככל האפשר הרובוט עם ה מלית, כלומר על ארדואינו! בוא נלך!
מה שאנחנו צריכים:
לולאה תלת-חוטית (3 חלקים). רצוי לקחת אותנטיות יותר.
חוטים רגילים
פוטנציומטרים
נגדים (220 אוהם)
כפתור
תא מצברים
טיפוס לחם
ובכן, כמובן, את עצמי arduinka
וגם לוח הרחבה אליו - משהו בסגנון MultiservoShieldלשלוט במספר גדול של סרוו
וכל עוד בנאי, שיהווה את הבסיס לרובוט שלנו, ולכן רצוי לבחור "חזק"
מהכלים שתצטרך:
סט מברגים, מפתחות וכו '.
וכן ברזל, הלחמה ושטף
ובכן, בואו נתחיל!
שלב מס '1. ייצור המסגרת הראשית
כדי להתחיל, אסף את "שתי האותיות H". זה נראה כך:
ואז קצת בנייה שעליה שלנו הרובוט יעמוד. זה בכלל לא הכרחי כמו בתמונה - לפי שיקול דעתך .. התברר כך:
אנו מתקינים את ה- "N" שלנו על התמיכה
מלמטה אנו מהדקים את הברגים
בצד ה- H השני אנו מתקנים את הסרוו הראשון שאחראי על סיבוב ראשי הרובוט העתידי שלנו
מסתבר משהו כמו הבא:
כמעט המסגרת מוכנה! נותר להדק את שני המבנים הללו בעזרת לוחות מתכת ולהעניק לרובוט גובה!
שלב 2: יצירת מסגרת לאוזני רובוט עתידיות
לשם כך עלינו להרכיב שני מבנים דומים ולתקן את סרוו עליהם, כמוצג באיור:
ואז, באמצעות ברגים ואומים, התחבר למסגרת הראשית. יתברר את הדברים הבאים:
נוף למעלה:
ובכן, אב טיפוס מסוים של הרובוט כמעט מוכן! קדימה ..
שלב 3. עושה עיניים ואת כל הראש של הרובוט שלנו!
לשם כך השתמשתי במכשיר הישן מהאינטרקום. באופן אישי, היא מזכירה לי פנים! ראה עוד ..
אנו מייצרים שני חורים ומהדקים את צינור ה סרוו לסיבוב
אנו מדביקים מיד את נורות הלד בצדדים ומלחמים להם את החוטים
השתמשתי ברזים:
שלב 4 להכין אוזניים
אנו נשתמש בכובעים רגילים מקופסאות קטנות
הידק גם את כסאות הנדנדה לשירות
כעת אנו מתקנים באומץ את חלקי גוף הרובוט בשרתים
ככה:
נוף למעלה:
גב:
באופן עקרוני, תוכלו ליהנות כעת מהרובוט, אך אנו מסבכים את המשימה .. נפנה את עיניו ואת אוזניו של הרובוט באמצעות פוטנציומטרים וה arduinka שלנו.
שלב מספר 5 אלקטרוניקה
בשילוב הארדואינו עם המגן הרב-שירותי, אנו מכניסים לולאה תלת-חוטית מכל סרוו לפינים 9, 10, 11 (אוזן שמאל, אוזן ימין, סנט, אם אתה שם את הרובוט מולנו)
ואז על הלוח אנו מתקינים פוטנציומטר, כפתור, נגדים .. זה ייראה ככה, מכוער כמובן, אבל העיקר עובד)
פרטים נוספים!
כיצד להתקין את הכפתור:
איפה שהחוט הלבן הוא כוח, האדום הוא הכניסה הדיגיטלית של המיקרו-בקר מס '6, והנגד הולך לאדמה (חוט צהוב)
כיצד להתקין פוטנציומטר:
חוט אדום - כוח, צהוב - אדמה, לבן - כניסה אנלוגית של בקר מיקרו מספר 0 (אנו מחברים פוטנציומטר אחר באותו אופן, רק כניסה אנלוגית של בקר מספר 1)
אנו גם מתקינים נגדים עבור נוריות LED על הלוח:
זרם יסופק מ- 3 ו -5 סיכות של הארדואינו, ויגיע דרך החוטים הצהובים והשחורים ודרך הנגדים יעלו לקרקע (בקר GND)
ובכן, בעצם הכל, סיימנו עם אלקטרוניקה! נותר רק להוריד את הבא סקיצה ולשחק עם הרובוט !!
# כלול
# כלול
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
לא חתום m2 = 0;
לא חתום m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
int h1 = 0;
int h = 0;
הגדרת ביטול ()
{
myservo1.attach (9); // אוזן שמאל
myservo2.attach (10); // אוזן ימין
myservo3.attach (11); // עיניים
pinMode (6, קלט); // כפתור
pinMode (3, פלט); // אורות עיניים PWM
pinMode (5, פלט);
}
לולאה חלילה ()
{
בעוד (A == 0) // לולאת בקרה ידנית של הרובוט
{
b = digitalRead (6);
אם (! b) k1 = 1;
אם (b == 1 && k1 == 1)
{
עיכוב (10);
b = digitalRead (6);
אם (b == 1 && k1 == 1)
{
A הוא 1;
k1 = 0;
}
}
p1 = int (analogRead (A0) / 6);
p2 = int (analogRead (A1) / 6);
myservo1.write (p1);
myservo2.write (p1);
myservo3.write (p2);
analogWrite (3, i);
analogWrite (5, i);
אם (מיליס ()> = m1 + 70 && h1 == 0)
{
i = i + 4;
m1 = מיליס ();
אם (i> 250) h1 = 1;
}
אם (מיליס ()> = m1 + 70 && h1 == 1)
{
i = i-4;
m1 = מיליס ();
אם (i == 0) h1 = 0;
}
}
בעוד (A == 1) // מחזור עבודה אוטונומי של הרובוט
{
digitalWrite (13.0);
b = digitalRead (6);
אם (! b) k1 = 1;
אם (b == 1 && k1 == 1)
{
עיכוב (10);
b = digitalRead (6);
אם (b == 1 && k1 == 1)
{
A הוא 0;
k1 = 0;
}
}
analogWrite (3, i);
analogWrite (5, i);
אם (מיליס ()> = m1 + 70 && h1 == 0)
{
i = i + 4;
m1 = מיליס ();
אם (i> 250) h1 = 1;
}
אם (מיליס ()> = m1 + 70 && h1 == 1)
{
i = i-4;
m1 = מיליס ();
אם (i == 0) h1 = 0;
}
אם (מיליס ()> = m2 + 15 && h == 0)
{
myservo1.write (r1);
myservo2.write (r2);
myservo3.write (r3);
r1 = r1 + 1;
r2 = r2-1;
r3 = r3 + 1;
אם (r1 == 110) h = 1;
מ"ר = מיליס ();
}
אם (מיליס ()> = m2 + 15 && h == 1)
{
myservo1.write (r1); // 110
myservo2.write (r2); // 70
myservo3.write (r3); // 110
r1 = r1-1;
r2 = r2 + 1;
r3 = r3-1;
אם (r1 == 70) h = 0;
מ"ר = מיליס ();
}
}
}
הקוד די גדול, אבל תאמינו לי שזה שווה את זה!
בקצרה, מה התוכנית הזו עושה:
יש לנו כפתור שאחראי על 2 מצבי מערכת: או שאנחנו שולטים ברובוט ידנית, או שהוא מבצע את התנועות שכבר נרשמו מראש. כאשר לוחצים על כפתור, המדינות משתנות עבורנו, ובקוד 2 מחזורים משתנים בינם לבין עצמם, בהם הפקודות המתאימות נרשמות. העיניים של הרובוט שלנו נדלקות בהדרגה, נעשות בהירות יותר ובהירות ואז מתפוגגות. זו הסיבה שכינבנו את נוריות הלד לפינים התומכים ב- PWM - אפנון רוחב הדופק.
תמונות של הרובוט:
קטן הקלטת וידאו, איך ומה מסתובב בסוף:
לסיכום, אני רוצה לומר שכמובן שניתן להביא את הרובוט הזה לזמן ממושך, אך זהו הטעם של כל אדם. עשה זאת! להמציא! התפתח! בהצלחה לכולם!