فهرست مطالب:
- مرحله 1: Raspberry PI و Xbee RC Transmitter
- مرحله 2: Raspberry Pi UART را پیکربندی کنید
- مرحله 3: برای خواندن مقادیر کنترل کننده بازی ، یک اسکریپت پایتون بنویسید
- مرحله 4: نتیجه گیری
- مرحله 5: Raspberry Pi Zero را به رادیو XBee وصل کنید
تصویری: Raspberry Pi + Xbee RC فرستنده: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
این دستورالعمل به شما نشان می دهد که من برای ایجاد فرستنده Raspberry Pi Zero + Xbee RC خود چه کار کردم
مرحله 1: Raspberry PI و Xbee RC Transmitter
مرحله 2: Raspberry Pi UART را پیکربندی کنید
سلام!
رزبری پای (همه تغییرات) بسیار متنوع هستند و اکنون سنگ بنای یک اکوسیستم از بسیاری از افزودنیهایی هستند که به راحتی لحیم می شوند و این دستگاه ها را واقعا مفید می کند. متأسفانه تنها چیزی که رزبری پای از دست می دهد (در حال حاضر) یک برد شکستن یا رابط کاربری GPIO کلیدی برای رادیوهای XBee (ZigBee) است. دستگاه های XBee یک راه عالی برای برقراری ارتباط بین انواع دستگاه ها بدون تعداد زیادی پروتکل یا قالب های داده و برش دستگاه ها و ادغام دستگاه های USB و ارسال داده های آنها به سایر دستگاه های از راه دور بسیار آسان است. برای شروع ، با هر نسخه از رزبری پای شروع کنید. در این دستورالعمل از رزبری پای صفر استفاده کردم و کنسول سریال را پیکربندی کردم تا UART را با استفاده از این دستورالعمل آزاد کند.
مرحله 3: برای خواندن مقادیر کنترل کننده بازی ، یک اسکریپت پایتون بنویسید
این بیت کد پایتون به رویدادهای مطرح شده توسط کنترل کننده بازی واکنش نشان می دهد و مقدار ورودی را بر روی کنترل که رویداد را ایجاد کرده است منتقل می کند. این کد داده ها را به همان سرعتی که سرعت baud در رادیوهای XBee تنظیم شده ارسال می کند. در این مثال رادیوها روی 57600 تنظیم شده اند اما می توانند در بالاترین میزان باود تنظیم شوند. کنترل کننده بازی کنترل کننده بازی Logitech USB است. کد مورد استفاده در زیر آمده است:
وارد کردن pygame
سریال واردات
sOut = ""
سریال = سریال. سریال {
port = '/dev/ttyAMA0' ،
باودرات = 57600 ،
برابری = سریال. PARITY_NONE ،
stopbits = سریال. STOPBITS_ONE ،
bytesize = سریال. EIGHTBITS ،
تایم اوت = 1
}
pygame.init ()
انجام شده = غلط
در حال انجام == false:
جوی استیک = pygame.joystick.joystick (0)
joystick.init ()
#پردازش مستقیم
برای رویداد در pygame.event.get ():
if event.type == pygame. JOYAXISMOTION:
sOut = "محور:" + str (event.axis) + "؛ مقدار:" + str (event.value)
چاپ (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYHATMOTION:
sOut = "کلاه: + str (event.hat) +" ؛ مقدار: " + str (event.value)
چاپ (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.type == pygame. JOYBUTTONDOWN:
sOut = "دکمه پایین:" + str (event.button)
چاپ (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
if event.button == 8:
چاپ ("ترک")
انجام شد = درست
if event.type == pygame. JOYBUTTONUP:
sOut = "دکمه بالا:" + str (event.button)
چاپ (sOut)
ser.write (sOut)
ser.flush ()
sOut = ""
ser.close ()
pygame.quit ()
مرحله 4: نتیجه گیری
نسخه نهایی این دستگاه از باتری تلفن کمکی برای تغذیه رزبری پای استفاده می کند که کنترلر بازی XBee و Logitech را تغذیه می کند. در یک پروژه آینده ، من یک جلد پلاستیکی با خلاء اضافه می کنم که Raspberry PI Zero ، XBee Radio و منبع تغذیه را در بر می گیرد ، که همه در یک بسته نرم افزاری زیبا و مرتب به کنترلر بازی متصل شده اند. این ساختار فرستنده RC ارسال داده های کنترلی را برای هر چیزی بسیار آسان می کند. در ساخت بعدی من ، داده ها را به یک ربات شش ضلعی که از Goodwill نجات داده ام ارسال می کنم. امیدوارم این آموزش مفید واقع شده باشد. ساختمان مبارک!
مرحله 5: Raspberry Pi Zero را به رادیو XBee وصل کنید
همانطور که در نمودار نشان داده شده است ، پایه Pi GPIO 1 (3.3v) را به پین XBee 1 وصل کنید. پایه Pi GPIO 6 (Gnd) را به پین XBee 10 و Pi GPIO Pin 8 (TX) را به پین XBee 3 (Din) وصل کنید. به همچنین می توانید از یک برد شکستن XBee استفاده کنید که از شما می خواهد پین Pi GPIO 2 (5 ولت) را به پین 5 ولت روی برد شکست متصل کنید.
توصیه شده:
نحوه بارگیری کد MicroPython Onto XBee 3: 18 مرحله (همراه با تصاویر)
نحوه بارگیری کد MicroPython Onto XBee 3: MicroPython یک زبان برنامه نویسی با الهام از Python 3.0 است که روی میکروکنترلرها مانند XBee 3. کار می کند MicroPython می تواند به کاهش میزان منابع و حجم کلی پروژه شما کمک کند و کارها را بسیار آسان کند. به با این حال ، من