جدول المحتويات:

Raspberry Pi + Xbee RC Transmitter: 5 خطوات
Raspberry Pi + Xbee RC Transmitter: 5 خطوات

فيديو: Raspberry Pi + Xbee RC Transmitter: 5 خطوات

فيديو: Raspberry Pi + Xbee RC Transmitter: 5 خطوات
فيديو: Custom Xbee remote with Raspberry Pi 2024, شهر نوفمبر
Anonim
Raspberry Pi + Xbee RC مرسل
Raspberry Pi + Xbee RC مرسل

سيوضح لك هذا التوجيه ما فعلته لإنشاء جهاز الإرسال Raspberry Pi Zero + Xbee RC الخاص بي

الخطوة 1: Raspberry PI و Xbee RC Transmitter

الخطوة 2: تكوين Raspberry Pi UART

مرحبا يا من هناك!

يعد Raspberry Pi (جميع الاختلافات) متعدد الاستخدامات للغاية وهو الآن حجر الزاوية لنظام بيئي للعديد من الوظائف الإضافية سهلة اللحام والتي تجعل هذه الأجهزة في متناول اليد حقًا. لسوء الحظ ، الشيء الوحيد الذي يفتقده Raspberry Pi (حاليًا) هو لوحة اختراق أو واجهة GPIO جاهزة للاستخدام لأجهزة راديو XBee (ZigBee). تعد أجهزة XBee طريقة رائعة للتواصل بين جميع أنواع الأجهزة دون الكثير من بروتوكولات التقطيع والتقطيع أو تنسيقات البيانات وتجعل من السهل جدًا دمج أجهزة USB وإرسال بياناتها إلى الأجهزة البعيدة الأخرى. للبدء ، ابدأ بأي إصدار من Raspberry Pi. في Instructable ، استخدمت Raspberry Pi zero ، وقمت بتكوين وحدة التحكم التسلسلية لتحرير UART باستخدام Instructable.

الخطوة 3: اكتب نص Python لقراءة قيم وحدة التحكم في اللعبة

يتفاعل هذا الجزء من كود Python مع الأحداث التي أثيرت بواسطة وحدة التحكم في اللعبة وينقل قيمة الإدخال على عنصر التحكم الذي أدى إلى رفع الحدث. سيرسل هذا الرمز البيانات بأسرع ما يتم تعيين معدل البث بالباود على أجهزة راديو XBee. في هذا المثال ، تم ضبط أجهزة الراديو على 57600 ولكن يمكن ضبطها على أعلى معدل للباود. وحدة التحكم في اللعبة هي وحدة تحكم ألعاب Logitech USB. الرمز المستخدم أدناه:

استيراد pygame

استيراد المسلسل

مخرج = ""

ser = serial. Serial {

المنفذ = '/ dev / ttyAMA0' ،

معدل البود = 57600 ،

التكافؤ = serial. PARITY_NONE ،

توقفات = مسلسل. STOPBITS_ONE ،

bytesize = serial. EIGHTBITS،

المهلة = 1

}

pygame.init ()

تم = خطأ

أثناء الإنجاز == خطأ:

جويستيك = pygame.joystick.joystick (0)

جويستيك. init ()

# معالجة الحدث

للحدث في pygame.event.get ():

إذا كان event.type == pygame. JOYAXISMOTION:

sOut = "المحور:" + str (event.axis) + "؛ القيمة:" + str (event.value)

طباعة (مخرج)

ser.write (مخرج)

ser.flush ()

مخرج = ""

إذا كان event.type == pygame. JOYHATMOTION:

sOut = "Hat: + str (event.hat) +" ؛ القيمة: "+ str (event.value)

طباعة (مخرج)

ser.write (مخرج)

ser.flush ()

مخرج = ""

إذا كان event.type == pygame. JOYBUTTONDOWN:

sOut = "زر لأسفل:" + str (event.button)

طباعة (مخرج)

ser.write (إخراج)

ser.flush ()

مخرج = ""

إذا كان event.button == 8:

طباعة ("إنهاء")

فعل = صحيح

إذا كان event.type == pygame. JOYBUTTONUP:

sOut = "Button Up:" + str (event.button)

طباعة (مخرج)

ser.write (مخرج)

ser.flush ()

مخرج = ""

ser.close ()

pygame.quit ()

الخطوة 4: الخاتمة

يستخدم التصميم النهائي لهذا الهاتف بطارية هاتف إضافية لتشغيل Raspberry Pi ، الذي يشغل وحدة التحكم في الألعاب XBee و Logitech. في مشروع مستقبلي ، سأضيف غطاء بلاستيكي مكون من فراغ والذي سيحيط Raspberry PI Zero و XBee Radio وإمدادات الطاقة ، وكلها متصلة بوحدة التحكم في اللعبة في حزمة واحدة لطيفة وأنيقة. يجعل بناء جهاز الإرسال RC هذا من السهل جدًا إرسال بيانات التحكم إلى أي شيء تقريبًا. في بنائي التالي ، سأرسل البيانات إلى روبوت سداسي الأرجل أنقذته من النوايا الحسنة. آمل أن تجد هذه التعليمات مفيدة. بناء سعيد!

الخطوة 5: قم بتوصيل جهاز Raspberry Pi Zero بجهاز راديو XBee

قم بتوصيل جهاز Raspberry Pi Zero بجهاز راديو XBee
قم بتوصيل جهاز Raspberry Pi Zero بجهاز راديو XBee

كما هو موضح في الرسم التخطيطي ، قم بتوصيل Pi GPIO pin 1 (3.3v) بدبوس XBee 1. قم بتوصيل Pi GPIO pin 6 (Gnd) إلى XBee pin 10 و Pi GPIO Pin 8 (TX) إلى XBee pin 3 (Din). يمكنك أيضًا استخدام لوحة اندلاع XBee والتي ستطلب منك توصيل Pi GPIO pin 2 (5v) بالدبوس 5v على لوحة الاختراق

موصى به: