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

משדר RC פטל + Xbee: 5 שלבים
משדר RC פטל + Xbee: 5 שלבים

וִידֵאוֹ: משדר RC פטל + Xbee: 5 שלבים

וִידֵאוֹ: משדר RC פטל + Xbee: 5 שלבים
וִידֵאוֹ: תאום עכבות ומתאמי אנטנות 2024, נוֹבֶמבֶּר
Anonim
משדר RC פטל + Xbee
משדר RC פטל + Xbee

מדריך זה יראה לך מה עשיתי ליצירת משדר 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

חבר את ה- Raspberry Pi Zero לרדיו XBee
חבר את ה- 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 בלוח הפריצה.

מוּמלָץ: