جدول المحتويات:
فيديو: لوكالينو يتتبع Roomba IRobot ، خرائط البيئة ويسمح بالتحكم: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
من أجل بناء جسر WiFi-UART ، يمكنك التحقق من مستودع جيثب هذا:
لها أساس جيد لتبدأ به. تأكد من قراءة الإرشادات جيدًا ، لأن جهاز Roomba VCC أثناء الشحن يزيد حتى 20 فولت! إذا قمت بإضافة ESP8266 بدون محول باك مناسب يعمل حتى 20 فولت وتحويل لأسفل إلى 3.3 فولت ، فسوف تتلف المرساب الكهروستاتيكي الخاص بك.
تأكد أيضًا من استخدام مفتاح تغيير المستوى (على سبيل المثال ، باستخدام مقسم الجهد) لتحويل مستويات المنطق 5V UART من Roomba إلى 3.3V ، والتي يستخدمها ESP.
تفصيل آخر مهم هو أن محول باك يجب أن يحتوي على 300 مللي أمبير ، لكن noch أقل أو أكثر بكثير (اعتمادًا على محول باك نفسه). هناك بعض الأشياء التي يمكن أن تفعل أكثر من ذلك بكثير ، ولكن تتسبب في تعطل Roomba لأنها تجتذب الكثير من التيار أثناء بدء التشغيل. اكتشفنا أن منظم الجهد المتدرج Pololu 3.3V و 300mA (D24V3F3) يعمل بشكل مثالي. تسببت الإصدارات البديلة التي لديها 500mA / 600mA في تعطل واجهة Roomba UART. كان جهاز Roomba يتفاعل بشكل أساسي عند الضغط على الزر ، ولكن ليس بناءً على الأوامر عبر واجهة UART. بمجرد حدوث ذلك ، كان علينا إزالة بطارية Roomba وإعادة تشغيل جهاز Roomba على البارد مع توصيل جسر WiFi-UART. ومع ذلك ، فقط D24V3F3 يعمل بشكل جيد.
بصرف النظر عن تلك التفاصيل الفنية ، يجب عليك إضافة أوامر إضافية إلى الكود ، والتي يمكنك العثور عليها في مواصفات واجهة Roomba المفتوحة. ستحتاج إلى إضافة جميع الأوامر التي تريد أن يتفاعل جهاز Roomba معها (على سبيل المثال ، للخلف ، للأمام ، والسرعة ، وما إلى ذلك).
أمثلة داخل اردوينو IDE:
goForward باطلة {char c = {137، 0x00، 0xc8، 0x80، 0x00} ؛ // 0x00c8 == 200 Serial.print (c) ؛ }
goBackward باطلة {char c = {137، 0xff، 0x38، 0x80، 0x00} ؛ // 0xff38 == -200 Serial.print (c) ؛ }
spinLeft باطل () {char c = {137، 0x00، 0xc8، 0x00، 0x01} ؛ Serial.print (ج) ؛ }
spoidRight () {char c = {137، 0x00، 0xc8، 0xff، 0xff} ؛ Serial.print (ج) ؛ }
إذا كنت تكتب بلغة lua ، فستبدو مختلفة بعض الشيء ، سيبدو مثال على منعطف إلى اليسار كما يلي:
if (_GET.pin == "LEFT") ثم اطبع ('137') ؛ --VOR
tmr.delay (100) ؛
طباعة ('00') ؛ - السرعة = 200 = 0x00C8 -> 0 و 200
tmr.delay (100) ؛
طباعة ('200') ؛ -- سرعة
tmr.delay (100) ؛
طباعة ('254') ؛ - نصف القطر = 500 = 0x01F4 = 0x01 0xF4 = 1244
tmr.delay (100) ؛
طباعة ('12') ؛ -- منعطف أو دور
نهاية
تأكد من أنه يتعين عليك تصحيح وصف الواجهة المفتوحة لجهاز Roomba الخاص بك. هناك نوعان من المواصفات المتاحة على الأقل للواجهة المفتوحة.
لسلسلة Roomba 5xx:
لسلسلة Roomba 6xx: https://anrg.usc.edu/ee579/spring2016/Roomba/iRobo …
بمجرد إنشاء جسر WiFi-UART الخاص بك واختبار الأوامر التي قمت بخطوة كبيرة إلى الأمام. يوضح هذا الفيديو أن التطبيق والنهج يعملان. كنا كسالى بعض الشيء ، تفتقد واجهة الويب إلى جميع أوامر التحكم الأخرى ، مثل الأمام والخلف والسرعة واليمين واليسار وما إلى ذلك ، ولكن يمكنك إصدار الأوامر عبر http. على أي حال ، إنه مجرد دليل على أن جهاز التحكم عن بعد في Roomba يعمل مع قطعة سهلة من الأجهزة والبرامج باستخدام ESP8266.
الآن بما أنه يمكنك التحكم في جهاز Roomba الخاص بك عن بُعد من تطبيق كمبيوتر شخصي ، فإن الشيء الوحيد المفقود هو الترجمة الداخلية. نحتاج إلى هذا لإغلاق حلقة التغذية الراجعة ، لأن هدفنا كان توجيه الروبوت إلى اتجاه معين. هيا بنا نقوم بذلك.
الخطوة 3: قم بإعداد نظام التعريب الداخلي الخاص بك
لإغلاق حلقة التغذية الراجعة ، نستخدم نظام التعريب الداخلي. نحن نستخدم Localino لهذا الغرض. يتكون نظام لوكالينو من "نقاط إرساء" و "علامات". يتم وضع المراسي في مواقع ثابتة داخل الغرفة وتحديد موضع العلامة المتحركة (التي يتم وضعها في Roomba). تتم معالجة الموقع في تطبيق كمبيوتر شخصي. هذه ميزة كبيرة ، لأنه يمكنك أيضًا التحكم في Roomba من نفس جهاز الكمبيوتر! هناك كود مصدر مجاني متاح من موقع Localino ، وهو مكتوب بلغة python وهناك أيضًا دفق متوفر في الوقت الفعلي يوفر إحداثيات XYZ للعلامة. يتوفر datastream عبر شبكة UDP ، ولكن يمكنك أيضًا إضافة MQTT أو أي أشياء خيالية أخرى تريدها. إذا كنت تعرف لغة Python ، فهناك الكثير من المكتبات التي تساعدك.
في هذا الفيديو ، تم توضيح توطين Roomba. لذلك لدينا 4 مراسي مثبتة في الغرفة في مواقع ثابتة ، مما يسمح بتحديد المواقع ثلاثية الأبعاد لـ Roomba. بشكل عام ، سنحتاج فقط إلى 3 مراسي ، لأن Roomba ربما لن يتحرك في المحور Z ، وبالتالي سيكون 2D كافياً. ولكن نظرًا لوجود المراسي على ارتفاع سدادات التيار المتردد الرئيسية (وهو ما يقرب من 30 سم فوق سطح الأرض) ، فإن الإعداد ثنائي الأبعاد قد يتسبب في أخطاء قليلة في تقدير الموقع. لذلك قررنا أن يكون لدينا 4 نقاط ارتكاز وأن نحدد موقعها في صورة ثلاثية الأبعاد.
الآن بما أن لدينا موقع Roomba ، فإن خطوتنا التالية هي التحكم في Roomba من نفس التطبيق. الفكرة هي استخدام الحقيقة الأساسية وتقدير مسار التنظيف المثالي للروبوت. باستخدام Localino ، يمكننا إغلاق حلقة التغذية الراجعة والتحكم في الروبوت من تطبيق الكمبيوتر الشخصي.
ملاحظات الإعداد
ضع مثبتات Localino داخل الغرفة في مواضع x و y مختلفة وثلاثة منهم في نفس الموضع z. ضع واحدًا من كل أربعة مراسي على ارتفاع مختلف z لكل غرفة. تأكد من وجود تغطية جيدة من علامة Localino ، والتي سيتم نقلها مع جهاز Roomba.
تحتوي جميع أدوات التثبيت على معرف مرساة فريد ، والذي يتم عرضه على الرمز الشريطي الخاص بـ Localino ويمكن قراءته باستخدام أداة "التكوين المحلي".
لاحظ المواضع في X و Y و Z ومعرفات الارتساء. هذا مطلوب لبرنامج Localino Processor ويجب تعديله في ملف "localino.ini" في المجلد "LocalinoProcessor"
يجب أن تشير المراسي لأعلى أو لأسفل في Z (عندما تكون منطقة XY مغطاة) ، ولكن ليس في اتجاه المنطقة المغطاة. يجب أيضًا عدم تغطية المراسي بالمعدن أو أي مادة أخرى مزعجة للإشارة اللاسلكية. إذا لم يكن ذلك ممكنًا ، فيجب أيضًا وجود فجوة هوائية معينة بين أي مادة والمثبت.
…المزيد قادم.
الخطوة 4: تكييف برنامج Python
ابقوا متابعين. المزيد قادم.
موصى به:
اصنع كتاب خرائط باستخدام خرائط جوجل: 17 خطوة (بالصور)
اصنع كتاب خرائط باستخدام خرائط Google: في اليوم الآخر كنت أبحث في محل بيع الكتب عن دليل شارع لمقاطعة DuPage ، IL لأن صديقتي تعيش هناك وتحتاج إلى خريطة شارع مفصلة. لسوء الحظ ، كان الشخص الوحيد الذي كان لديهم قريبًا هو مقاطعة كوك (مثل
الاستهلاك الكهربائي ومراقبة البيئة عبر Sigfox: 8 خطوات
الاستهلاك الكهربائي ومراقبة البيئة عبر Sigfox: الوصف سيوضح لك هذا المشروع كيفية الحصول على الاستهلاك الكهربائي للغرفة على توزيع طاقة ثلاثي المراحل ثم إرسالها إلى خادم باستخدام شبكة Sigfox كل 10 دقائق. كيفية قياس القوة؟ حصلنا على ثلاثة مشابك حالية من
بناء جهاز استشعار البيئة الداخلية: 4 خطوات
بناء جهاز استشعار البيئة الداخلية: في الوقت الحاضر ، يهتم الناس أكثر بالجودة الداخلية في المكان الذي يعيشون فيه لأنه يرتبط ارتباطًا وثيقًا بصحتهم. تتضمن أهمية التمتع بنوعية حياة أفضل معرفة أن لديك حالة معيشية أفضل. أنا أيضًا جزء جدًا
ARUPI - وحدة التسجيل الآلي منخفضة التكلفة / وحدة التسجيل الذاتي (ARU) لعلماء البيئة في Soundscape: 8 خطوات (بالصور)
ARUPI - وحدة التسجيل الآلي منخفضة التكلفة / وحدة التسجيل الذاتي (ARU) لعلماء البيئة في Soundscape: كتب هذا التوجيه أنتوني تيرنر. تم تطوير المشروع بمساعدة كبيرة من Shed in the School of Computing، University of Kent (كان السيد Daniel Knox مفيدًا جدًا!). سيوضح لك كيفية إنشاء تسجيل صوتي آلي
طبقة مستشعر إنترنت الأشياء اللاسلكي الجديدة لنظام مراقبة البيئة المنزلية: 5 خطوات (بالصور)
طبقة مستشعر IOT اللاسلكية الجديدة لنظام مراقبة البيئة المنزلية: يصف Instructable طبقة مستشعر IOT لاسلكية منخفضة التكلفة تعمل بالبطارية من أجل Instructable سابقًا: نظام مراقبة البيئة المنزلية LoRa IOT. إذا لم تكن قد شاهدت هذا Instructable سابقًا ، فإنني أوصي بقراءة المقدمة