فهرست مطالب:

بامبو سبک (لامپ متصل): 3 مرحله
بامبو سبک (لامپ متصل): 3 مرحله

تصویری: بامبو سبک (لامپ متصل): 3 مرحله

تصویری: بامبو سبک (لامپ متصل): 3 مرحله
تصویری: ساخت مدار برای روشن کردن LED 3 V با برق 220V AC لامپ ها تو روشن کن. #like #led 2024, نوامبر
Anonim
بامبو سبک (لامپ متصل)
بامبو سبک (لامپ متصل)

درود و خوش آمد!

Light bamboo یک لامپ متصل است که هنگام دریافت اعلان در تلفن هوشمند Android که به آن متصل است ، روشن می شود. هدف از این دستورالعمل نشان دادن مرحله طراحی پروژه است: از معماری سخت افزار ، تا اتصال Bluetooth Low Energy (BLE) و ساختمان برنامه Android.

برای چراغ ما ، یک گیاه پلاستیکی را برای طراحی تزئین سرد انتخاب کردیم. برای این پروژه ، اعلان هایی که نمایش داده می شوند از برنامه های زیر هستند: تماس ، sms/mms ، فیس بوک ، پیام رسان ، اینستاگرام ، whatsapp و gmail. برای هر نوع اعلان یک رنگ روشن نسبت داده می شود.

برای این پروژه ، شما نیاز دارید:

  • uC با ماژول BLE یکپارچه: nFR51822 RedBearLab
  • 3 حلقه NeoPixel (12 LED RGB)
  • یک گوشی هوشمند اندرویدی
  • Android Studio

هر اعلان بسته به اهمیت آن دارای اولویت خاصی است. به عنوان مثال ، اعلان تماس ورودی مهمتر از اعلان فیس بوک است. در این حالت ، رنگ LED ها به اعلان تماس ورودی مرتبط می شود.

گوشی هوشمندی که برنامه را روی آن توسعه داده ایم ، سامسونگ گلکسی A5 است.

مرحله 1: بخش سخت افزار

قسمت سخت افزار
قسمت سخت افزار

معماری ما بسیار ساده است.

پین های NeoPixel Ring را به صورت زیر به برد nRF51822 وصل کنید:

  • پین داده ورودی NeoPixel Ring به پورت 3 uC.
  • Vcc از NeoPixel Ring تا 3.3 ولت uC.
  • GND از NeoPixel Ring به GND از uC.

می توانید توجه داشته باشید که ما از پین Output Data حلقه NeoPixel استفاده نمی کنیم. این به این دلیل است که پین های داده ورودی سه حلقه NeoPixel که ما در این پروژه استفاده می کنیم ، همه به یک پورت از برد nRF51822 وصل شده اند (پین 3).

مرحله 2: بخش نرم افزار

قسمت نرم افزار
قسمت نرم افزار
قسمت نرم افزار
قسمت نرم افزار
قسمت نرم افزار
قسمت نرم افزار

1. ارتباط بلوتوث کم مصرف:

در ارتباط BLE ، سرور (که در مورد ما uC است) و سرویس گیرنده (تلفن هوشمند) با استفاده از معاملات GATT داده ها را مبادله می کنند. در این معاملات ، داده ها به صورت سلسله مراتبی در بخش هایی به نام خدمات سازماندهی می شوند ، که بخش های مرتبط با مفهوم داده های کاربر را که ویژگی ها نامیده می شوند ، گروه بندی می کند. در مورد ما ، محفظه بندی داده ها ساده است زیرا ما فقط یک اطلاعات برای انتقال از سرویس گیرنده به سرور داریم (تصویر بالا را ببینید).

  • در سمت سرور: برای اینکه بتوانید از برد 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: پیوست ها

در اینجا ، تمام منبع کد را پیدا خواهید کرد.

توصیه شده: