תוכן עניינים:
- שלב 1: כותרות סיכות הלחמה ליציאות הקלט/פלט הנוספות של הארדואינו
- שלב 2: הוסף את ספריית הג'ויסטיק של Arduino ל- IDE שלך
- שלב 3: הברק את הקוד אל הארדואינו
- שלב 4: בצע את החיווט
- שלב 5: כרוך את המקלט
- שלב 6: התאם את הקוד לנסיבות שלך
- שלב 7: כייל את הג'ויסטיק החיקוי
וִידֵאוֹ: R/C לגשר USB: 7 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
ממיר אותות PPM ממקלט רדיו לעמדות ג'ויסטיק
השתמש בו כדי לשחק את המשחקים האהובים עליך וסימולטור טיסה עם משדר הרדיו R/C שלך. הוראה זו משתמשת בארדואינו מ- LittleBits ומקלט DSMX בתוספת קטע קוד פשוט לביצוע ההמרה הזו.
אתה תצטרך
- כּוֹחַ
- ארדואינו
- כבלי USB
- כותרות סיכה
- כבל מגשר
- מקלט רדיו עם פלט PPM.
שלב 1: כותרות סיכות הלחמה ליציאות הקלט/פלט הנוספות של הארדואינו
על מנת להפעיל את המקלט (RX), יש להוסיף כותרות סיכות ל- Arduino. זה גם יהפוך את החיווט בין ה- Bit ל- RX להרבה יותר קל. למידע נוסף, ראה
שלב 2: הוסף את ספריית הג'ויסטיק של 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
מוּמלָץ:
Plug & Play USB MIDI CONTROLLER USB (שדרוג NEOPIXEL RING): 12 שלבים
DIY MIDI CONTROLLER USB Plug & Play (שדרוג NEOPIXEL RING): MAO נלהב ומוסיקה אלקטרונית אבל גם לראות שאפשר ליצור ממשק Midi בהתאמה אישית שהכנתי שלי 6 פוטנציומטרים ו -12 כפתורים (הפעלה / כיבוי) אך כדי להקשות על המקום. שזה כבר הייתי רוצה להוסיף אינדיקציה ויזואלית
תיקון בעיה של יציאה/מנהלי התקנים USB טורי USB של Mac Lilypad: 10 שלבים (עם תמונות)
תיקון בעיית יציאה/דרייבר USB סידורי USB של Mac Lilypad: נכון לשנת 2016, האם ה- Mac שלך בן פחות משנתיים? האם שדרגת לאחרונה למערכת ההפעלה החדשה ביותר (יוסמיטי או משהו חדש יותר)? האם ה- USB/MP3 של MP3 של Lilypad כבר לא עובדים? שלי המדריך יראה לך כיצד תיקנתי את ה- USB של ליליפאד. השגיאה שנתקלתי בה קשורה
נוריות USB USB זולות פשוטות וזולות (ודברים אחרים): 16 שלבים
סופר פשוט וזול LED USB LED (ודברים אחרים): שלום וברוכים הבאים להוראה הראשונה שלי :) אני בטוח שכולנו מקימים ומאכלסים מחדש את המייסדים שלנו לאחר הנגיף, אז אני חושב שהגיע הזמן שאנו יוצרים כולנו למדנו ליצור USB משלנו ולא להסתמך על סוללה שמתרוקנת בקלות
כיצד ליצור כונן הבזק מסוג USB באמצעות מחק - מארז כונן USB מסוג DIY: 4 שלבים
כיצד ליצור כונן הבזק מסוג USB באמצעות מחק | מארז כונן USB מסוג DIY: הבלוג עוסק ב " כיצד להכין כונן הבזק מסוג USB באמצעות מחק | מארז כונן USB DIY " אני מקווה שתאהב את זה
יציאת USB של NODEMcu לא עובדת? העלה את הקוד באמצעות USB למודול TTL (FTDI) בשני שלבים בלבד: 3 שלבים
יציאת USB של NODEMcu לא עובדת? העלה את הקוד באמצעות מודול USB ל- TTL (FTDI) בשני שלבים בלבד: נמאס לך להתחבר לחוטים רבים ממודול USB ל- TTL ל- NODEMcu, עקוב אחר ההוראות להעלאת הקוד רק בשלב 2. אם יציאת ה- USB של NODEMcu לא עובד, אז אל תיבהל. זה רק שבב הנהג ה- USB או מחבר ה- USB