فهرست مطالب:

درخت کریسمس NeoPixel با کنترل بلوتوث: 5 مرحله
درخت کریسمس NeoPixel با کنترل بلوتوث: 5 مرحله

تصویری: درخت کریسمس NeoPixel با کنترل بلوتوث: 5 مرحله

تصویری: درخت کریسمس NeoPixel با کنترل بلوتوث: 5 مرحله
تصویری: ریسه کریسمسی 2024, نوامبر
Anonim

آیا فکر کرده اید که چگونه IoT (اینترنت اشیاء) را امسال به درخت کریسمس خود اضافه کنید؟ خوب ، کاملاً امکان پذیر است! من شخصاً این پروژه را "ArduXmas" می نامم و شامل یک نوار LED RGB NeoPixel است که توسط یک برد آردوینو از طریق بلوتوث کنترل می شود. این یک پروژه دوستانه مبتدی و یک معرفی عالی برای Arduino e IoT است ، بنابراین ابزارهای خود را تهیه کرده و اجازه دهید آن را بسازیم!

تدارکات:

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

  • آردوینو (من از نانو استفاده کردم ، اما هر نسخه ای کار می کند ، فقط مطمئن شوید که بورد خود را به درستی وصل می کنید)
  • نوار LED NeoPixel WS2812b
  • ماژول بلوتوث HC-06
  • منبع تغذیه 5 ولت 2 آمپر DC
  • جک/کانکتور پاور بشکه DC
  • صفحه فنولیتی برای نگهداری اجزاء
  • قاب محفظه
  • تلفن هوشمند Android با برنامه Blynk نصب شده است

مرحله 1: مدار

مدار
مدار
مدار
مدار
مدار
مدار

وسایل الکترونیکی این پروژه بسیار ساده است. آردوینو ، ماژول بلوتوث و نوار LED از منبع تغذیه 5 ولت تغذیه می کنند (مطمئن شوید همه GND ها به هم متصل شده اند). برد آردوینو از طریق پورت 5 ولت تغذیه می شود (توجه: تغذیه آردوینو با استفاده از پورت 5 ولت در صورت عدم دقت می تواند به برد شما آسیب برساند. مطمئن شوید که از منبع تغذیه تنظیم شده با 5 ولت استفاده می کنید و +5 ولت را با هم مخلوط نکنید. و سیمهای GND). جریان ارائه شده توسط منبع تغذیه شما بستگی به طول نوار LED شما دارد. من از 180 led با 40٪ وضوح کامل و 2 آمپر خوب استفاده می کنم ، اما همیشه مطمئن شوید که جریان لازم را تأمین می کنید (به یاد داشته باشید: هر LED RGB از حدود 20mA + 20mA + 20mA = 60mA استفاده می کند).

ماژول بلوتوث HC-06 به پین 0 و 1 (RX، TX) آردوینو متصل است ، فقط به یاد داشته باشید که برای استفاده از این ماژول ، پین RX HC-06 به TX آردوینو و پین TX HC-06 متصل به RX آردوینو اینها پین های اتصال سری برد هستند و برای دریافت دستورات از تلفن هوشمند استفاده می شوند. من یک سوئیچ برای روشن/خاموش کردن آسان ماژول اضافه کردم تا بتوانم هنگام برنامه نویسی برد آن را خاموش کنم ، در غیر این صورت کامپیوتر نمی تواند با آردوینو ارتباط برقرار کند.

در مدار ، پین خروجی داده که به نوار LED می رود پین دیجیتال 2 است ، اما می توانید هر پین PWM را انتخاب کرده و متناسب با کد آن را تغییر دهید (به یاد داشته باشید: نوارهای LED NeoPixel جهت سیگنال داده را دارند. همیشه به دنبال نمادهای پیکان در نوار شما).

به منظور ایجاد اتصالات ، من از یک صفحه فنولیت با سوراخ هایی استفاده می کنم تا بتوان آن را به راحتی لحیم کرد و سال آینده جدا کرد.

مرحله 2: محوطه

محوطه
محوطه
محوطه
محوطه
محوطه
محوطه

برای محفظه ، من فقط از یک منبع تغذیه نوت بوک قدیمی استفاده می کنم که به خوبی با اجزای آن متناسب است. همه چیز را با چسب حرارتی محکم کنید و سوراخ هایی را برای درگاه USB آردوینو ، سوئیچ HC-06 ، اتصال DC و اتصال نوار LED بگذارید.

مرحله 3: برنامه Blynk

برنامه Blynk
برنامه Blynk
برنامه Blynk
برنامه Blynk
برنامه Blynk
برنامه Blynk

برای ارتباط با آردوینو از برنامه Blynk استفاده می کنیم. با Blynk می توانید به راحتی واسط هایی برای ارسال اطلاعات از تلفن هوشمند به سخت افزار یا برعکس ایجاد کنید ، همچنین می توانید پورت های میکروکنترلر را بدون تغییر یک خط کد به طور مستقیم کنترل کنید!

سلب مسئولیت: متأسفانه این برنامه فقط برای گوشی های هوشمند اندرویدی کار می کند زیرا ویژگی بلوتوث هنوز در نسخه بتا است و هنوز برای IOS در دسترس نیست ، این بدان معناست که امکان صادرات پروژه به عنوان یک برنامه مستقل وجود نخواهد داشت.

برنامه خود را تنظیم کنید تا رمز احراز هویت پروژه خود را در صندوق ورودی ایمیل خود دریافت کنید (این تأیید بعداً در کد Arduino مورد نیاز خواهد بود). وب سایت Blynk یک آموزش گام به گام عالی در این مورد دارد ، آن را بررسی کنید:

برای این پروژه من از دو دکمه برای روشن کردن 2 انیمیشن نور از پیش کد شده استفاده می کنم. یک جزء RGB برای تنظیم رنگ نوار LED ؛ یک نوار لغزنده برای کنترل روشنایی و یک جزء بلوتوث برای اتصال به آردوینو. برای مشاهده نحوه پیکربندی هر جزء ، تصاویر را بررسی کنید. به پین های مورد استفاده برای این پروژه توجه کنید زیرا ما از پین های مجازی Blynk استفاده می کنیم ، این ویژگی خوبی است که اجازه می دهد داده ها را از برنامه به سخت افزار ارسال کنید. برای کسب اطلاعات بیشتر در مورد پین های مجازی:

مرحله 4: کد آردوینو

کد آردوینو
کد آردوینو

وقت آن رسیده است که کمی کد را انجام دهید! فایلی که من ارائه دادم ساختار اصلی اجرای پروژه را دارد ، اما می توانید آن را به دلخواه تغییر دهید. با این حال ، برای اینکه به درستی کار کند ، باید author char را با توکنی که در صندوق ورودی ایمیل خود دریافت کرده اید جایگزین کنید. همچنین به یاد داشته باشید که متغیرهای LED_PIN و LED_COUNT را با توجه به تنظیمات خود تغییر دهید.

رفتار LED ها توسط متغیر anim تعیین می شود که هنگام دریافت درخواست توسط برنامه تغییر می کند. شما می توانید هر اندازه که می خواهید برای انیمیشن ها اضافه کنید ، فقط عملکرد خود را به ساختار سوئیچ در تابع toggleAnimation () اضافه کنید و خواندن Virtual Pin مربوطه را در بالای کد اختصاص دهید.

انیمیشن در حال اجرا در حلقه () به یک تایمر در فواصل 100 میلی ثانیه متصل است. این ضروری است ، و من توصیه نمی کنم آن را تغییر دهید ، زیرا با دستور Blynk.run () تداخل ایجاد می کند و اگر کتابخانه Blynk درخواستهای زیادی را در مدت زمان کوتاهی تشخیص دهد ، اتصال قطع می شود.

توصیه شده: