תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
הכנתי שפירית. השפירית מניפה את הראש עם חיישן מחוות ומנוע סרוו.
רכיבים
- ארדואינו UNO
- Seeed Grove - מחווה
- סרוו סיבוב רציף FS90R מיקרו
שלב 1: חוקה
זיהוי תנועת האצבע בעזרת חיישן המחווה ושליטה בכיוון הסיבוב של סרוו הסיבוב הרציף של 360 ° עם ארדואינו.
שלב 2: צור שפירית - ראש 1 -
הראש עשוי עם בורג M8 באורך 12 מ מ. בעת סיבוב הראש עם סרוו חותכים את המקל כדי לעצור בזווית קבועה חותכים את החוט באורך המתאים ומלחמים אותו בבורג.
שלב 3: צור שפירית - ראש 2 -
העיניים והפה נעשו עם חותמות תכשיטים נוצצות. אני כותב את הפה בעט.
שלב 4: צור שפירית - ראש 3 -
החיבור בין הראש לחזה (סרוו) בנוי מאגוז. חבר את הנוצות והאגוזים המחוברים לסרוו בעזרת דבק מיידי.
שלב 5: צור שפירית - גוף 1 -
הפוך את servomotor לחזה השפירית. בורג M6 דבוק באורך 60 מ מ כבטן.
שלב 6: צור שפירית - גוף 2 -
הברג את האגוזים שנוצרו קודם לכן לסרוו וקשר את נוצות הלוחות עם כפות רגלי החוט.
שלב 7: צור שפירית - גוף 3 -
חבר חוט עבה לסרוו כך שיתפס על סרגל החלפת הראש. אני מלחימה את רגלי החוט הדק לחוט העבה הזה (עבור נירוסטה).
שלב 8: צור שפירית - גוף 4 -
הברג את הראש לתוך האום והשפירית הושלמה. הפעל את הסרוו והפוך אותו.
שלב 9: סרוו סיבוב רציף של 360 מעלות
סרוו זה פועל עם ספריית סרוו שנכללה במקור ב- Arduino IDE, אך שונה במקצת ממנוע סרוו רגיל.
- עצירת סרוו עם קלט של 90 מעלות
- סובב עם כיוון השעון עם קלט 0 עד 89 מעלות. מהירות הסיבוב עולה יותר מ -90 מעלות.
- סובב נגד כיוון השעון עם קלט בין 91 ל -180 מעלות. מהירות הסיבוב עולה יותר מ -90 מעלות.
שלב 10: קוד ארדואינו
חבר חיישן סרוו ומחווה ל- UNO Arduino.
ספריית חיישן המחוות משתמשת בפריטים הבאים.
הסתכלתי על דוגמת הקוד paj7620_9gestures.ino.
המחווה גרמה לזה לזהות את כיוון השעון ואת כיוון האצבע.
8 פינים הדיגיטליים של Arduino מחוברים ל- GND כך שהסרוו מסתובב לאט בכיוון השעון, כך שניתן להפוך את בורג הראש לאגוז.
8 הפינים הדיגיטליים של Arduino משחררים את הפעולה הרגילה, וגילוי חיישן מחוות מתחיל. מזהה את סיבוב תנועת האצבע וזז בהתאם לסרוו.
#include #include "paj7620.h" #include Servo myservo; // צור אובייקט סרוו לשליטה בסרוו
התקנת void () {uint8_t error = 0; Serial.begin (9600); myservo.attach (A0); // מחבר את הסרוו על סיכה 9 לאובייקט סרוו pinMode (8, INPUT_PULLUP); error = paj7620Init (); // אתחול רשימות Paj7620 אם (שגיאה) {Serial.print ("שגיאת INIT, CODE:"); Serial.println (שגיאה); } אחר {Serial.println ("INIT OK"); } Serial.println ("אנא הזן את המחוות שלך: / n"); }
לולאת חלל () {uint8_t data = 0, data1 = 0, שגיאה; if (digitalRead (8) == LOW) {myservo.write (90 + 15); } else {error = paj7620ReadReg (0x43, 1, ונתונים); // קרא את Bank_0_Reg_0x43/0x44 לתוצאת מחווה. if (! error) {switch (data) {case GES_CLOCKWISE_FLAG: Serial.println ("בכיוון השעון"); myservo.write (90 - 20); עיכוב (800); לשבור; מקרה GES_COUNT_CLOCKWISE_FLAG: Serial.println ("נגד כיוון השעון"); myservo.write (90 + 20); עיכוב (800); לשבור; ברירת מחדל: myservo.write (90); לשבור; }}}}
שלב 11: מבצע
יש לי שפירית מתנדנדת בראש!