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

ضوء الخيزران (المصباح المتصل): 3 خطوات
ضوء الخيزران (المصباح المتصل): 3 خطوات

فيديو: ضوء الخيزران (المصباح المتصل): 3 خطوات

فيديو: ضوء الخيزران (المصباح المتصل): 3 خطوات
فيديو: التحكم في مصابيح ليد بواسطة أردوينو + الكود البرمجي | اردوينو خطوة بخطوة للمبتدئين 2024, شهر نوفمبر
Anonim
ضوء الخيزران (مصباح متصل)
ضوء الخيزران (مصباح متصل)

أهلا ومرحبا!

ضوء الخيزران هو مصباح متصل يضيء عند تلقي إشعار على هاتف Android الذكي المتصل به. الهدف من هذه التعليمات هو إظهار مرحلة التصميم للمشروع: من هندسة الأجهزة ، إلى اتصال Bluetooth منخفض الطاقة (BLE) ومبنى تطبيق Android.

بالنسبة للمصباح الخاص بنا ، اخترنا نباتًا بلاستيكيًا لتصميم تزيين رائع. بالنسبة لهذا المشروع ، فإن الإخطارات التي يتم عرضها هي من التطبيقات التالية: المكالمات ، الرسائل القصيرة / رسائل الوسائط المتعددة ، facebook ، messenger ، instagram ، whatsapp ang gmail. يُنسب لون فاتح واحد لكل نوع من أنواع الإشعارات.

بالنسبة لهذا المشروع ، سوف تحتاج إلى:

  • uC مع وحدة BLE مدمجة: nFR51822 RedBearLab
  • 3 حلقة NeoPixel (12 RGB LED)
  • هاتف ذكي يعمل بنظام Android
  • بيئة تطوير أندرويد

لكل إخطار أولوية محددة ، حسب أهميته. على سبيل المثال ، يعد إشعار مكالمة واردة أكثر أهمية من إشعار Facebook. في هذه الحالة ، سيتم ربط لون LED بإشعار المكالمة الواردة.

الهاتف الذكي الذي قمنا بتطوير التطبيق عليه هو Samsung Galaxy A5.

الخطوة 1: جزء الجهاز

جزء الأجهزة
جزء الأجهزة

هندستنا بسيطة للغاية.

قم بتوصيل دبابيس NeoPixel Ring بلوحة nRF51822 على النحو التالي:

  • منفذ بيانات Inout الخاص بحلقة NeoPixel إلى المنفذ 3 الخاص بـ uC.
  • Vcc الخاص بحلقة NeoPixel إلى 3.3 فولت من uC.
  • GND الخاص بحلقة NeoPixel إلى GND الخاص بـ uC.

يمكنك ملاحظة أننا لا نستخدم دبوس بيانات الإخراج الخاص بحلقة NeoPixel. وذلك لأن دبابيس بيانات الإدخال الخاصة بحلقات NeoPixel الثلاثة التي نستخدمها في هذا المشروع كلها متصلة بنفس منفذ لوحة nRF51822 (دبوس 3).

الخطوة 2: جزء البرنامج

جزء البرمجيات
جزء البرمجيات
جزء البرمجيات
جزء البرمجيات
جزء البرمجيات
جزء البرمجيات

1. اتصال Bluetooth منخفض الطاقة:

في اتصال BLE ، يتبادل الخادم (وهو في حالتنا uC) والعميل (الهاتف الذكي) البيانات باستخدام معاملات الجات. في هذه المعاملات ، يتم تنظيم البيانات بشكل هرمي في أقسام تسمى الخدمات ، والتي تجمع الأجزاء ذات الصلة من الناحية المفاهيمية من بيانات المستخدم والتي تسمى الخصائص. في حالتنا ، يكون تغليف البيانات بسيطًا نظرًا لأن لدينا معلومات واحدة فقط لتمريرها من العميل إلى الخادم (انظر الصورة أعلاه).

  • على جانب الخادم: لتتمكن من استخدام لوحة nrf51822 كخادم BLE ، قم أولاً بتثبيت مكتبة "BLEPeripheral.h" على Arduino IDE. توفر هذه المكتبة وظائف جاهزة للاستخدام لإنشاء الخدمات والخصائص والإعلان.
  • من جانب العميل: لبدء اتصال BLE في Android Studio ، قم أولاً بتكوين أذونات BLE في ملف Manifest. بعد ذلك ، في ملف activity_main.xml ، أضف 4 أزرار: المسح ، وإيقاف المسح ، والاتصال ، وقطع الاتصال ، الأمر الذي سيسمح للتطبيق بالبحث عن أجهزة BLE القريبة ، وإيقاف الفحص ، والاتصال ، وقطع الاتصال بجهاز. في ملف main_activity.java ، قم بتنفيذ الوظائف المرتبطة بالأزرار السابقة: startScanning () ، stopcanning () ، connectToDeviceSelected () ، disconnectDeviceSelected (). أخيرًا ، قم بتنفيذ وظائف رد الاتصال التي يتم استدعاؤها عندما تتغير حالة العميل.

2. إدارة الإخطار

  • من جانب العميل (في Android Studio): للاستماع إلى الإشعارات الواردة من الهاتف الذكي ، قم بتنفيذ مستمع إعلام يتم تنشيطه عند حدوث إشعار في شريط الحالة. سيرسل مستمع الإشعارات "رسالة" ، تسمى نية ، إلى النشاط الرئيسي عند نشر إشعار أو إزالته. تحتوي هذه "الرسالة" على رمز إعلام يساعد في تحديد التطبيق الذي نشر الإشعار. لمعالجة الإشعار في النشاط الرئيسي ، قم بإنشاء جهاز استقبال البث الذي سيتلقى الرسالة من مستمع الإشعارات. بعد ذلك ، بناءً على رمز الإشعار ، يتم إرسال حرف مختلف إلى الخادم.
  • على جانب الخادم (في Arduino IDE): يتم عرض الإخطار الذي له الأولوية القصوى.

الخطوة 3: الخطوة 3: المرفقات

هنا ، ستجد كل مصدر الشفرة.

موصى به: