فهرست مطالب:

Raspberry Pi + Xbee RC فرستنده: 5 مرحله
Raspberry Pi + Xbee RC فرستنده: 5 مرحله

تصویری: Raspberry Pi + Xbee RC فرستنده: 5 مرحله

تصویری: Raspberry Pi + Xbee RC فرستنده: 5 مرحله
تصویری: 433MHz 500mW High Power Transceiver Module w RS232TTL Interface - Orange 2024, جولای
Anonim
Raspberry Pi + Xbee RC Transmitter
Raspberry Pi + Xbee RC Transmitter

این دستورالعمل به شما نشان می دهد که من برای ایجاد فرستنده 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 وصل کنید

Raspberry Pi Zero را به رادیو XBee وصل کنید
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 ولت روی برد شکست متصل کنید.

توصیه شده: