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

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

וִידֵאוֹ: אחיזה אוטומטית באמצעות חיישן לייזר ופקודות קוליות: 5 שלבים (עם תמונות)

וִידֵאוֹ: אחיזה אוטומטית באמצעות חיישן לייזר ופקודות קוליות: 5 שלבים (עם תמונות)
וִידֵאוֹ: מדריך ארדואינו - שיעור 5 - חיישן קולט לייזר 2024, נוֹבֶמבֶּר
Anonim
Image
Image
רשימת החלקים
רשימת החלקים

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

שלב 1: רשימת החלקים

רשימת החלקים
רשימת החלקים

בפרויקט קטן זה תזדקקו רק לחלק מהחלקים המפורטים להלן. כבקר השתמשתי ב- Arduino mega 2560 אבל אתה יכול גם להשתמש ב- UNO או בכל Arduino אחר. כחיישן מרחק השתמשתי בחיישן לייזר VL53L0X בעל דיוק טוב (בערך כמה מילימטרים) וטווח של עד 2 מטרים. בפרויקט זה אתה יכול להשתמש לבדיקת כל אחיזה וסרוו אך עליך להפעיל אותו ממקור חשמל נפרד, למשל: ספק כוח 5V או סוללת LiPo (7.4V או 11.1V) באמצעות ממיר הורדה המפחית את המתח עד 5V.

חלקים הדרושים בפרויקט זה:

  • חיישן ToF לייזר VL53L0X x1
  • סרוו דיגיטלי x1
  • Arduino mega 2560 x1
  • אחיזת מתכת רובוטית x1
  • לוח לחם x1
  • לחצן לחיצה מישוש x1
  • Bluetooth HC-06
  • התנגדות 10k x1
  • ספק כוח 5V/2A

גרסא מורחבת:

  1. מודול חיישן צג זרם CJMCU-219 x1
  2. לוח פיתוח נהגים LED WS2812 RGB x1

שלב 2: חיבור חלקים אלקטרוניים

חיבור חלקים אלקטרוניים
חיבור חלקים אלקטרוניים
חיבור חלקים אלקטרוניים
חיבור חלקים אלקטרוניים
חיבור חלקים אלקטרוניים
חיבור חלקים אלקטרוניים

האיור הראשון מציג את כל החיבורים הדרושים. בתמונות הבאות תוכל לראות את השלבים הבאים של חיבור מודולים בודדים. בהתחלה, לחצן הלחיצה היה מחובר לסיכה 2 של Arduino, ולאחר מכן סרוו לפין 3 ולבסוף חיישן מרחק הלייזר VL53L0X באמצעות אוטובוס I2C (SDA, SCL).

החיבורים של מודולים אלקטרוניים הם כדלקמן:

חיישן לייזר VL53L0X -> Arduino Mega 2560

  • SDA - SDA
  • SCL - SCL
  • VCC - 5V
  • GND - GND

סרוו -> Arduino Mega 2560

אות (חוט כתום) - 3

סרוו -> ספק כוח של 5V/2A

  • GND (חוט חום) - GND
  • VCC (חוט אדום) - 5V

לחצן לחיצה -> Arduino Mega 2560

  • פין 1 - 3.3 או 5V
  • סיכה 2 - 2 (ודרך הנגד 10k לאדמה)

בלוטות '(HC -06) -> Arduino Mega 2560

  • TXD - TX1 (19)
  • RXD - RX1 (18)
  • VCC - 5V
  • GND - GND

שלב 3: קוד מגה Arduino

קוד מגה Arduino
קוד מגה Arduino

הכנתי את הדוגמאות הבאות של Arduino הזמינות ב- GitHub שלי:

  • VL53L0X_gripper_control
  • שליטה ב- Voice_VL53L0X_gripper_controller

התוכנית הראשונה בשם "VL53L0X_gripper_control" מבצעת את משימת האחיזה האוטומטית של אובייקט שזוהה על ידי חיישן הלייזר VL53L0X. לפני הידור והעלאת התוכנית לדוגמא, וודא שבחרת ב"ארדואינו מגה 2560 "כפלטפורמת היעד כפי שמוצג למעלה (Arduino IDE -> כלים -> לוח -> ארדואינו מגה או מגה 2560). תוכנית Arduino בודקת בלולאה הראשית - "לולאת חלל ()" האם הקריאה החדשה מחיישן הלייזר הגיעה (פונקציה readRangeContinuousMillimeters ()). אם המרחק הנקרא מהחיישן "distance_mm" גדול מהערך "THRESHOLD_CLOSING_DISTANCE_FAR" או פחות מ- "THRESHOLD_CLOSING_DISTANCE_NEAR" אז הסרוו מתחיל להיסגר. במקרים אחרים הוא מתחיל להיפתח. בחלק הבא של התוכנית, בפונקציה "digitalRead (gripperOpenButtonPin)", מצב כפתור הלחיצה נשלט כל הזמן ואם הוא נלחץ, הלוחץ ייפתח למרות שהוא נסגר בשל קרבת האובייקט. (distance_mm הוא פחות מ- THRESHOLD_CLOSING_DISTANCE_NEAR).

התוכנית השנייה "Voice_VL53L0X_gripper_control" מאפשרת לך לשלוט על הלוח בעזרת פקודות קוליות. הפקודות הקוליות מעובדות על ידי אפליקציית BT Voice Control עבור אפליקציית Arduino מ- Google Play ונשלחות הלאה באמצעות Bluetooth ל- Arduino. תוכנית Arduino בודקת בלולאה הראשית - "void loop ()" האם הפקודה החדשה (תו) נשלחה מאפליקציית אנדרואיד באמצעות בלוטות '. אם יש תו נכנס מסדרת Bluetooth התוכנית קוראת את הנתונים הטוריים עד שהיא נתקלת בסיום ההוראה הקולית "#". לאחר מכן הוא מתחיל לבצע את הפונקציה "void processInput ()" ובהתאם לפקודה הקולית נקראת פונקציית בקרה ספציפית.

שלב 4: בדיקת אחיזה אוטומטית

בדיקת אחיזה אוטומטית
בדיקת אחיזה אוטומטית
בדיקת אחיזה אוטומטית
בדיקת אחיזה אוטומטית

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

שלב 5: אחיזה אוטומטית מופעלת באמצעות קול

Image
Image
אתגר אפילוג 9
אתגר אפילוג 9

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

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

  • פייסבוק
  • יוטיוב
  • האתר שלי

מוּמלָץ: