جدول المحتويات:
- الخطوة 1: Raspberry PI و Xbee RC Transmitter
- الخطوة 2: تكوين Raspberry Pi UART
- الخطوة 3: اكتب نص Python لقراءة قيم وحدة التحكم في اللعبة
- الخطوة 4: الخاتمة
- الخطوة 5: قم بتوصيل جهاز Raspberry Pi Zero بجهاز راديو XBee
فيديو: Raspberry Pi + Xbee RC Transmitter: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
سيوضح لك هذا التوجيه ما فعلته لإنشاء جهاز الإرسال 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
كما هو موضح في الرسم التخطيطي ، قم بتوصيل 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 على لوحة الاختراق
موصى به:
كيفية تنزيل كود MicroPython على XBee 3:18 خطوات (بالصور)
كيفية تنزيل MicroPython Code Onto XBee 3: MicroPython هي لغة برمجة مستوحاة من Python 3.0 تعمل على المتحكمات الدقيقة ، مثل XBee 3. يمكن أن يساعد MicroPython في تقليل كمية المستلزمات والضخامة الإجمالية لمشروعك ، وتسهيل الأمور كثيرًا . ومع ذلك ، فأنا