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

הפוך את מחוות המל"טים שלך לשליטה ב 10: 4 שלבים
הפוך את מחוות המל"טים שלך לשליטה ב 10: 4 שלבים

וִידֵאוֹ: הפוך את מחוות המל"טים שלך לשליטה ב 10: 4 שלבים

וִידֵאוֹ: הפוך את מחוות המל
וִידֵאוֹ: עומר אדם ואביב אלוש - לא לבד | מתוך פרויקט ותן חלקנו 2024, יולי
Anonim
Image
Image
הפוך את מחוות המל
הפוך את מחוות המל
הפוך את מחוות המל
הפוך את מחוות המל

מדריך זה הוא מדריך להפיכת מזל"ט ה- R/C שלך למזל"ט מבוקר מחוות בפחות מ -10 $!

אני אדם שמקורו בהשראת סרטי מדע בדיוני ומנסה להפוך את הטכנולוגיה המוצגת בסרט למציאות. הפרויקט הזה הוא השראה משני סרטים כאלה: "STAR WARS: The Empire Strikes Back" ו- "Project Almanac". בשני הסרטים אתה רואה אובייקט מעופף (ספינת כוכבים X ומזל"ט R/C) שנשלט על ידי תנועות ידיים בלבד. זה עורר בי השראה ליצור משהו דומה…

ברור שאין לי את X-wing, כך שלצערי אני צריך לעבוד עם ה- Mini R/C Quadcopter שלי.

אז התכנית היא - שיהיה במחשב הנייד שלי סקריפט לעיבוד תמונות שיחפש את היד שלי ברציפות ויעקוב אחר מיקומה במסגרת הווידאו. ברגע שהוא יקבל את קואורדינטות היד, הוא ישלח את האות המתאים למזל"ט וזה ייעשה באמצעות Arduino המחובר למחשב נייד יחד עם מודול משדר NRF24L01 2.4GHz שיכול לתקשר ישירות עם לוח המקלט של כל מזל"ט R/C..

אספקה

  • מחשב נייד/שולחן עבודה עם מצלמת אינטרנט ופייתון מותקן. (אני משתמש במחשב הנייד W indows שלי עם מצלמת האינטרנט המובנית שלו והריצת פייתון 2.7.14)
  • כל מזל"ט R/C הפועל בתדר 2.4Ghz. (JJRC H36 במקרה שלי)
  • Arduino UNO יחד עם כבל התכנות שלה. (אני משתמש בשיבוט שלו מכיוון שהוא זול יותר)
  • מודול משדר אלחוטי NRF24L01 2.4GHz אנטנה. (קניתי את זה מכאן תמורת 99 ₪ בלבד ($ 1.38))
  • לוח מתאם 3.3V למודול אלחוטי 24L01. (קניתי את זה מכאן תמורת 49 ₪ בלבד ($ 0.68))
  • חוטי מגשר זכר לנקבה x7

שלב 1: אסוף את החומרים המתכלים

אסוף את החומרים המתכלים!
אסוף את החומרים המתכלים!

שלב 2: חיבור מודול NRF עם Arduino

חיבור מודול NRF עם Arduino
חיבור מודול NRF עם Arduino
חיבור מודול NRF עם Arduino
חיבור מודול NRF עם Arduino
חיבור מודול NRF עם Arduino
חיבור מודול NRF עם Arduino
חיבור מודול NRF עם Arduino
חיבור מודול NRF עם Arduino

כעת, כשיש לך את כל החלקים, בואו נתחיל בחיווט של מודול ה- NRF עם הארדואינו.

  1. ראשית, הכנס את מודול NRF לחריץ המסופק במתאם. אתה יכול להתייחס לתמונה למעלה בשביל זה.
  2. לאחר מכן, קח חוטי זכר לנקבה וחבר את מתאם NRF ל- Arduino כדלקמן: (עיין בתרשים המעגל למעלה)

    • פין מתאם NRF - סיכת ארדואינו
    • VCC - 5V
    • GND - GND
    • CE - פין דיגיטלי 5
    • CSN - פין אנלוגי 1
    • SCK - פין דיגיטלי 4
    • MO - פין דיגיטלי 3
    • MI - פין אנלוגי 0
    • IRQ - לא בשימוש
  3. לאחר החיבור, חבר את Arduino למחשב האישי שלך באמצעות כבל USB לתכנות Arduino וכמעט סיימת.

שלב 3: בואו להיכנס לקידוד

בואו להיכנס לקידוד!
בואו להיכנס לקידוד!
בואו להיכנס לקידוד!
בואו להיכנס לקידוד!

עכשיו כאן מתחיל החלק הקשה … !!!

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

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

מעקב אחר ידיים:

מסווג Haar Cascade משמש למעקב ידיים בפרויקט זה. מפל Haar מאומן על ידי העלאת התמונה החיובית על פני קבוצה של תמונות שליליות. ונתונים מאומנים אלה נשמרים בדרך כלל בקבצי ".xml". ייתכן שתקבל קבצי Classifier של כמעט כל דבר באינטרנט או שאתה יכול אפילו ליצור אחד משלך כך. לפרויקט זה, מכיוון שהיינו צריכים להפוך אותו לשליטת מחוות ביד, השתמשתי במסווג אגרופים בשם "closed_frontal_palm.xml" שנעשה על ידי Aravind Nambissan לצורך זיהוי היד שלי. תוכל לבדוק קוד זה על ידי הפעלת קוד "hand_live.py" במאגר שלי.

בחירת קוד NRF24 שיתאים למזל"ט שלך:

אז על פי היצרן והדגם של המזל"ט שלך, אתה יכול להפנות למאגר Github - "nrf24_cx10_pc" שנעשה על ידי פרי צאו כדי לבחור את קוד ה- Arduino המתאים להפעלה שיתאים לתדירות שלו. הוא עשה הדרכה נחמדה לשלוט במזל"ט CX10 שלו באמצעות מחשב.

כשהשתמשתי במזל"ט JJRC H36, התייחסתי למאגר אחר של Github - "nrf24_JJRC_H36_pc" שהיווה מזלג של המאגר של פרי צאו שנעשה על ידי לואיס קורניק כדי לשלוט ב- JJRC H36 שלו באמצעות מחשב.

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

פישלתי את המאגר של לואיס ל- Github שלי אותו תוכל לשבט אם אתה עובד על אותו מזל"ט. עליך להעלות קוד "nRF24_multipro.ino" פעם אחת ב- Uno Arduino שלך כדי לגרום לזה להתאים למזל"ט שלך בכל פעם שאנו מריצים את סקריפט ה- Python שלנו.

בדיקת תקשורת סדרתית:

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

שילוב הכל בקוד אחד:

אז שילבתי את כל הקודים האלה על ידי מפתחים שונים והכנתי את הקוד שלי "handserial.py". אם אתה עושה בדיוק את אותו הדבר שאני עושה עם אותו מזל"ט בדיוק, תוכל להפעיל את הקוד הזה ישירות ואז תוכל לשלוט במזל"ט שלך פשוט על ידי הזזת אגרוף באוויר. הקוד עוקב לראשונה לאגרוף במסגרת הווידאו. בהתאם לקואורדינטת ה- Y של האגרוף, הקוד שולח את ערך המצערת למזל"ט וגורם לו לעלות או לרדת ובדומה בהתאם לקואורדינטות ה- X של האגרוף, הקוד שולח את ערך הטילון למזל"ט כדי לגרום לו ללכת שמאלה או ימינה..

שלב 4: הערת המחבר

ישנן 4 נקודות שהייתי רוצה לציין במיוחד בנוגע לפרויקט זה:

  1. כפי שצוין קודם לכן, קוד זה אינו מיוצר לחלוטין על ידי, אך אני עובד עליו באופן רציף ואעדכן את הקוד למעקב טוב יותר במאגר Github שלי. אז לכל שאלה או עדכון, אתה יכול לבקר במאגר או לצלצל לי באינסטגרם.
  2. נכון לעכשיו, אנו משתמשים במצלמת הרשת של המחשב הנייד אשר אינו מאפשר לקבל את נקודת המבט של המזל"ט, אך אם נדרש, ניתן להשתמש במצלמות המותקנות על המזל"ט גם למטרות מעקב. זה יעזור לקבל מבט טוב יותר ובסופו של דבר שליטה טובה יותר.
  3. עבור פרויקט זה, אני משתמש במזל"ט JJRC H36 שהוא אחד המזל"טים הזולים ביותר שקיימים בשוק ולכן הוא חסר יציבות ג'ירוסקופית. זו הסיבה שאתה עלול להרגיש שהתנועה בסרטון מתנדנדת, אבל אם אתה משתמש במזל"ט באיכות הגונה עם יציבות טובה, לא תתמודד עם בעיה זו.
  4. רציתי להתעסק עם Computer Vision ובקרת מזל"טים, ומכאן שהתחלתי בפרויקט הזה. אבל אחרי שעבדתי על ראייה ממוחשבת, אני מרגיש שזה לא הפתרון האופטימלי לשליטה על המזל"ט. לפיכך, אני מתכנן להכין מכשיר מסוג כפפה עם חיישן ג'יירו לשליטה במזל"ט בעתיד. אז הישארו מעודכנים לעדכונים…

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

זה הכל בינתיים.. נתראה בקרוב בפעם הבאה …

מוּמלָץ: