תוכן עניינים:
- שלב 1: פטל PI ומשדר RC Xbee
- שלב 2: הגדר את ה- UART של Raspberry Pi
- שלב 3: כתוב סקריפט Python לקריאת ערכי בקר המשחק
- שלב 4: מסקנה
- שלב 5: העבר את ה- Raspberry Pi Zero לרדיו XBee
וִידֵאוֹ: משדר RC פטל + Xbee: 5 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
מדריך זה יראה לך מה עשיתי ליצירת משדר Raspberry Pi Zero + Xbee RC משלי
שלב 1: פטל PI ומשדר RC Xbee
שלב 2: הגדר את ה- UART של Raspberry Pi
שלום!
ה- Raspberry Pi (כל הווריאציות) הם מאוד תכליתי והם עכשיו אבן הפינה של מערכת אקולוגית של הרבה תוספות קלות להלחמה שהופכות את המכשירים האלה ממש נוחים. לרוע המזל, הדבר היחיד שחסר ל- Raspberry Pi (כרגע) הוא לוח פריצה או ממשק GPIO מהפכני למכשירי רדיו XBee (ZigBee). התקני XBee הם דרך מצוינת לתקשר בין כל מיני מכשירים ללא הרבה פרוטוקולי חיתוך וחיתוך או פורמטים של נתונים ולהקל מאוד על שילוב התקני USB ולשלוח את הנתונים שלהם להתקנים מרוחקים אחרים. כדי להתחיל, התחל עם כל גרסה של ה- Raspberry Pi. במדריך זה השתמשתי באפס Raspberry Pi והגדרתי את המסוף הטורי כדי לפנות את ה- UART באמצעות הוראה זו.
שלב 3: כתוב סקריפט Python לקריאת ערכי בקר המשחק
חלק זה של קוד פייתון מגיב לאירועים שהעלה בקר המשחק ומעביר את ערך הקלט על הפקד שהעלה את האירוע. קוד זה ישלח נתונים במהירות כמו קצב השידור שהוגדר ברדיו XBee. בדוגמה זו מכשירי הרדיו מוגדרים ל- 57600 אך הם יכולים להיות מוגדרים לקצב השידור הגבוה ביותר שלהם. בקר המשחק הוא בקר משחקים מסוג Logitech USB. הקוד המשמש נמצא להלן:
לייבא משחק משחקים
ייבוא סדרתי
sOut = ""
ser = serial. Serial {
port = '/dev/ttyAMA0', קצב שידור = 57600, parity = serial. PARITY_NONE, stopbits = סידורי. STOPBITS_ONE, bytesize = serial. EIGHTBITS, פסק זמן = 1
}
pygame.init ()
עשה = שקר
בזמן שנעשה == שקר:
ג'ויסטיק = pygame.joystick.joystick (0)
joystick.init ()
עיבוד אירוע
לאירוע ב- pygame.event.get ():
אם event.type == pygame. JOYAXISMOTION:
sOut = "ציר:" + str (event.axis) + "; ערך:" + str (event.value)
הדפסה (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
אם event.type == pygame. JOYHATMOTION:
sOut = "Hat: + str (event.hat) +"; ערך: " + str (event.value)
הדפסה (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
אם event.type == pygame. JOYBUTTONDOWN:
sOut = "לחצן למטה:" + str (event.button)
הדפסה (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
אם event.button == 8:
הדפס ("עוזב")
עשה = נכון
אם event.type == pygame. JOYBUTTONUP:
sOut = "כפתור למעלה:" + str (event.button)
הדפסה (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
שלב 4: מסקנה
המבנה הסופי של זה משתמש בסוללת טלפון עזר להפעלת ה- Raspberry Pi, המפעילה את בקר המשחקים XBee ו- Logitech. בפרויקט עתידי אוסיף כיסוי פלסטיק שנוצר ואקום שיצרף את ה- Raspberry PI Zero, רדיו XBee ואספקת החשמל, כולם מחוברים לבקר המשחק בחבילה אחת יפה ומסודרת. מבנה משדר RC זה מקל על שליחת נתוני בקרה כמעט לכל דבר. במבנה הבא שלי אני אשלח את הנתונים לרובוט הקספודי שחילצתי מרצון טוב. מקווה שתמצא את ההדרכה מועילה. בניין שמח!
שלב 5: העבר את ה- Raspberry Pi Zero לרדיו XBee
כפי שמוצג בתרשים, חבר את פין פיו GPIO 1 (3.3v) לפין XBee 1. חבר את פין פיו GPIO 6 (Gnd) לפין XBee 10, ופין פיפיו GPIO 8 (TX) לפין XBee 3 (דין). תוכל גם להשתמש בלוח פריצה של XBee שיחייב אותך לחבר את פין פיו GPIO 2 (5v) לסיכה של 5v בלוח הפריצה.
מוּמלָץ:
כיצד להוריד קוד MicroPython ל- XBee 3: 18 שלבים (עם תמונות)
כיצד להוריד קוד MicroPython ל- XBee 3: MicroPython היא שפת תכנות בהשראת Python 3.0 שעובדת על בקרי מיקרו, כגון XBee 3. MicroPython יכולה לסייע בהפחתת כמות האספקה וההיקף הכללי של הפרויקט שלך, ולהקל על העניינים בהרבה. . עם זאת, אני מסכים