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

R/C לגשר USB: 7 שלבים
R/C לגשר USB: 7 שלבים

וִידֵאוֹ: R/C לגשר USB: 7 שלבים

וִידֵאוֹ: R/C לגשר USB: 7 שלבים
וִידֵאוֹ: Воткнул XIAOMI MI TV STICK в телевизор и получил... МОЙ ОТЗЫВ 2024, יולי
Anonim
R/C לגשר USB
R/C לגשר USB

ממיר אותות PPM ממקלט רדיו לעמדות ג'ויסטיק

השתמש בו כדי לשחק את המשחקים האהובים עליך וסימולטור טיסה עם משדר הרדיו R/C שלך. הוראה זו משתמשת בארדואינו מ- LittleBits ומקלט DSMX בתוספת קטע קוד פשוט לביצוע ההמרה הזו.

אתה תצטרך

  • כּוֹחַ
  • ארדואינו
  • כבלי USB
  • כותרות סיכה
  • כבל מגשר
  • מקלט רדיו עם פלט PPM.

שלב 1: כותרות סיכות הלחמה ליציאות הקלט/פלט הנוספות של הארדואינו

כותרות סיכות הלחמה ליציאות הקלט/פלט הנוספות של Arduino
כותרות סיכות הלחמה ליציאות הקלט/פלט הנוספות של Arduino

על מנת להפעיל את המקלט (RX), יש להוסיף כותרות סיכות ל- Arduino. זה גם יהפוך את החיווט בין ה- Bit ל- RX להרבה יותר קל. למידע נוסף, ראה

שלב 2: הוסף את ספריית הג'ויסטיק של Arduino ל- IDE שלך

הוסף את ספריית הג'ויסטיק של Arduino ל- IDE שלך
הוסף את ספריית הג'ויסטיק של Arduino ל- IDE שלך

תוכל למצוא את הספרייה ב- GitHub, https://github.com/MHeironimus/ArduinoJoystickLib… תודה, מתיו היירונימוס, שכתבת אותה.

רק ארדואינים מסוימים יכולים לחקות HID כמו ג'ויסטיק. מכיוון שהמיקרו -בקר של LittleBits הוא ארדואינו לאונרדו בלב, אתה מוכן ללכת.

שלב 3: הברק את הקוד אל הארדואינו

#include #define inputPin 16#להגדיר ערוצים 4 #define lo 800 // להתאים לפלט של RX#להגדיר hi 1600 // להתאים לפלט של RX#להגדיר מסנן 10int ערוץ [ערוצים]; int previousValue [ערוצים]; int counter = 0; ג'ויסטיק_ ג'ויסטיק (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_MULTI_AXIS, 0, 0, true, true, false, false, false, true, true, false, false, false); התקנת void () {Joystick.setXAxisRange (lo, היי); Joystick.setYAxisRange (הנה, היי); Joystick.setThrottleRange (הנה, היי); Joystick.setRudderRange (הנה, היי); Joystick.begin (); Serial.begin (9600); pinMode (inputPin, INPUT); } לולאת void () {if (pulseIn (inputPin, HIGH)> 3000) {עבור (int i = 0; i <= channel-1; i ++) {channel = pulseIn (inputPin, HIGH); } עבור (int i = 0; i <= channel-1; i ++) {if ((channel > 2000) || (channel <500)) {channel = previousValue ; } אחר {ערוץ = (previousValue +ערוץ )/2; מונה ++; }} Joystick.setXAxis (ערוץ [0]); Joystick.setYAxis (ערוץ [1]); Joystick.setThrottle (ערוץ [2]); Joystick.setRudder (ערוץ [3]); } if (counter> filter) {for (int i = 0; i <= channel-1; i ++) {Serial.print ("ערוץ"); Serial.print (i+1); Serial.print (":"); Serial.println (ערוץ ); previousValue = ערוץ ; } מונה = 0; }}

שים לב שהקוד שמגשר בין אות ה- R/C לבין ה- USB HID המחקה מגיע בצורתו הפשוטה ביותר. הפונקציה המשמשת כאן - pulseIn - היא פונקציה חוסמת. קרא כאן, וכאן, כיצד ליישם גישה שאינה חוסמת באמצעות הפרעות.

שלב 4: בצע את החיווט

עשה את החיווט
עשה את החיווט
עשה את החיווט
עשה את החיווט

חבר כבל מגשר / כבלי DuPont בין ה- Bit ל- RX. המחברים בקצה הכבלים הללו צריכים להיות נקביים. אנו מחברים GND (כחול), VCC (חום) ואות (כתום) מיציאת ה- PPM של ה- RX ל- GND, VCC ו- d16 בארדואינו.

שלב 5: כרוך את המקלט

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

שלב 6: התאם את הקוד לנסיבות שלך

יש לשנות את הקבועים hi and lo בשרטוט Arduino כדי לשקף את הפלט בפועל של המקלט בו אתה משתמש.

#define lo 800

#define היי 1600

האותות בתוך דופק ה- PPM נעים באופן אידיאלי בין 1000μs ל- 2000μs. ה- RX המשמש בתפוקות הניתנות להוראה זה בערך בין 800 ל 1600 והוא שונה במקצת בכל ערוץ. כדי לברר איזה טווח יש למקלט שלך, פתח את הצג הסידורי ב- Arduino IDE כדי לראות את פלט ה- RX שלך. זה ייראה דומה לזה:

ערוץ 1: 728

ערוץ 2: 729 ערוץ 3: 703 ערוץ 4: 726 ערוץ 1: 1681 ערוץ 2: 1639 ערוץ 3: 1613 ערוץ 4: 1676

ברגע שיש לך מושג ברור יותר של הטווח שפלט ה- RX שלך, בחר בקירובים טובים עבור hi and lo ושנה את הקבועים בהתאם. לאחר מכן העלה שוב את המערכון לארדואינו.

שלב 7: כייל את הג'ויסטיק החיקוי

חבר את המכשיר למחשב שלך והשתמש בפונקציית הכיול של מערכת ההפעלה שלך כדי לכייל את הג'ויסטיק החיקוי. כלי טוב עבור לינוקס הוא jstest-gtk.

שיפורים נוספים

  • כתוב קוד שאינו חוסם (ראה שלב 3)
  • הגדר טווחים לכל ערוץ, לא באופן גלובלי (ראה שלב 6)

לקריאה נוספת

  • Redcon CM703
  • PPM

מוּמלָץ: