فهرست مطالب:

چراغ های قابل حمل مهمانی: 12 مرحله (همراه با تصاویر)
چراغ های قابل حمل مهمانی: 12 مرحله (همراه با تصاویر)

تصویری: چراغ های قابل حمل مهمانی: 12 مرحله (همراه با تصاویر)

تصویری: چراغ های قابل حمل مهمانی: 12 مرحله (همراه با تصاویر)
تصویری: آیا س*کس از پشت را دوست دارید ؟😱😂😂😱(زیرنویس فارسی) 2024, نوامبر
Anonim
Image
Image
ایده
ایده

پروژه های Tinkercad »

آیا می توانید به مهمانی نور بدهید و آن را سرگرم کننده تر کنید؟

این سوال بود. و پاسخ بله است (البته).

این دستورالعمل در مورد ساخت یک دستگاه قابل حمل است که به موسیقی گوش می دهد و تجسم موسیقی را از حلقه های متمرکز LED های Neopixel ایجاد می کند.

سعی شد دستگاه "رقص" شود ، یعنی به سرعت موسیقی برود ، اما تشخیص ضرب و شتم یک کار پیچیده تر از آنچه به نظر می رسد بود (بدون هدف جناس) ، بنابراین "رقصیدن" کمی ناخوشایند است ، اما هنوز آنجاست

دستگاه دارای بلوتوث است و به دستورات متنی پاسخ می دهد. من وقت نداشتم یک برنامه برای کنترل چراغهای مهمانی (Android یا iOS) بنویسم. اگر به وظیفه خود عمل می کنید - لطفاً به من اطلاع دهید !!!

اگر این دستورالعمل را دوست دارید ، لطفاً در مسابقه Make It Glow به آن رای دهید!

تدارکات

برای ساخت چراغ مهمانی به موارد زیر نیاز دارید:

  • STM32F103RCBT6 Leaflabs Leaf Maple Mini USB ARM Cortex -M3 Module for Arduino (پیوند اینجا) - مغز دستگاه. این دستگاههای نسبتاً ارزان بسیار قدرتمند هستند ، مشخص نیست که چرا باید به آردوینو برگردید.
  • MSGEQ7 Band Graphic Equalizer IC DIP-8 MSGEQ7 (پیوند اینجا)
  • ماژول بلوتوث HC-05 یا HC-06 (پیوند اینجا)
  • میکروفون Adafruit MAX9814 (پیوند اینجا)
  • یک سروو موتور استاندارد (پیوند اینجا) این است که می خواهید دستگاه شما "رقص" کند
  • CJMCU 61 Bit WS2812 5050 RGB LED Driver Development Board (پیوند اینجا)
  • TTP223 Touch Key Module Capacitive Settable Self-Lock/No-Lock Switch Board (پیوند اینجا)
  • Ultra Compact 5000 mah Dual USB Outputs Super Slim Power Bank (پیوند اینجا)

  • مقاومت ، خازن ، سیم ، چسب ، پیچ ، تخته نمونه سازی و غیره و غیره

مرحله 1: ایده

ایده
ایده

ایده این است که یک دستگاه قابل حمل داشته باشید که می تواند در نزدیکی منبع موسیقی قرار گیرد و تجسمات موسیقی رنگارنگی ایجاد کند. شما باید بتوانید رفتار دستگاه را از طریق دکمه ها (لمسی) و بلوتوث کنترل کنید.

در حال حاضر ، Party Lights دارای 7 تصویرسازی است (اگر ایده های بیشتری دارید به من اطلاع دهید!):

  1. دایره های رنگارنگ متحد المرکز
  2. صلیب مالت
  3. چراغ های تپنده
  4. شومینه (مورد علاقه شخصی من)
  5. چراغ های روشن
  6. درختان سبک
  7. بخش های جانبی

به طور پیش فرض ، دستگاه هر دقیقه تجسمات را دور می زند. با این حال ، یک کاربر می تواند انتخاب کند که با یک تجسم همراه باشد و یا به صورت دستی آنها را دور بزند.

تجربیاتی که پالت رنگ خود را می چرخانند نیز می توانند در صورت دوست داشتن یک ترکیب رنگ خاص "یخ زده" شوند.

و به عنوان چند کنترل دیگر ، کاربر می تواند حساسیت میکروفون را تغییر داده و حالت "رقص" سرو موتور را فعال یا غیرفعال کند.

مرحله 2: شماتیک و پردازش صدا

پردازش شماتیک و صدا
پردازش شماتیک و صدا
پردازش شماتیک و صدا
پردازش شماتیک و صدا
پردازش شماتیک و صدا
پردازش شماتیک و صدا
پردازش شماتیک و صدا
پردازش شماتیک و صدا

یک فایل شماتیک متغیر در بسته در Github در زیر پوشه "files" گنجانده شده است.

در اصل ، یک تراشه MSEQ7 پردازش صدا را انجام می دهد و یک سیگنال صوتی را به 7 باند تقسیم می کند: 63Hz ، 160Hz ، 400Hz ، 1kHz ، 2.5kHz ، 6.25kHz و 16kHz

میکروکنترلر از آن 7 باند برای ایجاد تجسم های مختلف استفاده می کند و اساساً دامنه باند مربوطه را در شدت نور LED و ترکیب رنگ ها ترسیم می کند.

منبع صدا میکروفون با 3 سطح کنترل افزایش است. بسته به میزان/بلند بودن منبع صدا ، می توانید با استفاده از یکی از دکمه ها تنظیمات افزایش را انجام دهید.

میکروکنترلر همچنین سعی می کند تشخیص "ضرب و شتم" را بر روی باند 63 باتری "باس" انجام دهد. من هنوز روی یک روش قابل اعتماد برای تشخیص و حفظ هم ترازی ضرباهنگ کار می کنم.

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

مرحله 3: چرخ LED

چرخ LED
چرخ LED
چرخ LED
چرخ LED
چرخ LED
چرخ LED

هسته اصلی تجسم یک 61 چرخ LED است.

لطفاً توجه داشته باشید که این قطعه به صورت حلقه های جداگانه ارائه می شود که باید آنها را کنار هم قرار دهید. من سیمهای مسی را برای خطوط برق (که همچنین حلقه ها را به خوبی در کنار هم نگه می دارند) و سیمهای نازک سیگنال استفاده کردم.

LED ها 0 تا 60 شماره گذاری می شوند که از LED بیرونی پایین شروع شده و در جهت عقربه های ساعت به سمت داخل حرکت می کنند. LED مرکز شماره 60 است.

هر تجسم متکی به آرایه های داده دو بعدی است که هر LED را در یک موقعیت خاص برای بخش تجسم هدف قرار می دهد.

به عنوان مثال ، برای حلقه های متحدالمرکز ، 5 بخش وجود دارد:

  • دایره بیرونی ، LED های 0 تا 23 ، 24 LED به طول
  • دومین حلقه بیرونی ، LED های 24 - 39 ، 16 LED به طول
  • دایره سوم (وسط) ، LED های 40 - 51 ، 12 LED به طول
  • دومین حلقه داخلی ، LED های 52 - 59 ، 8 LED به طول
  • داخل LED ، LED 60 ، 1 LED طولانی

تجسم 5 از 7 کانال صوتی را ترسیم می کند و LED ها را به تدریج با توجه به موقعیت آنها در نوار دایره ای متناسب با سطح صدا در باند روشن می کند.

سایر تجسم ها از ساختارها و قالب های مختلف داده استفاده می کنند ، اما ایده این است که همیشه تجسم هایی با آرایه های داده انجام شود ، نه چندان توسط کد. به این ترتیب می توان تجسم ها را بدون تغییر کد ، فقط مقادیر موجود در آرایه های داده ، با اشکال مختلف (LED های بیشتر یا کمتر ، نوارهای EQ بیشتر) تنظیم کرد.

به عنوان مثال ، ساختار داده برای تجسم 1 در طرح به این شکل است:

// تجسم 1 و 3 - کامل 5 دایره کانایت بایت TOTAL_LAYERS1 = 5؛ const byte LAYERS1 [TOTAL_LAYERS1] [25] = {// 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 {24 ، 0 ، 1 ، 2 ، 3 ، 4 ، 5، 6، 7، 8، 9، 10، 11، 12، 13، 14، 15، 16، 17، 18، 19، 20، 21، 22، 23}، {16، 24، 25، 26، 27 ، 28، 29، 30، 31، 32، 33، 34، 35، 36، 37، 38، 39}، {12، 40، 41، 42، 43، 44، 45، 46، 47، 48، 49، 50 ، 51}، {8، 52، 53، 54، 55، 56، 57، 58، 59}، {1، 60}}؛

مرحله 4: تجسم

تجسم سازی ها
تجسم سازی ها
تجسم سازی ها
تجسم سازی ها
تجسم سازی ها
تجسم سازی ها
تجسم سازی ها
تجسم سازی ها

تا کنون 7 تصویرسازی و یک انیمیشن مبتدی وجود دارد:

انیمیشن استارت آپ

هنگامی که دستگاه روشن است ، تقلیدی از آتش بازی نمایش داده می شود. این قرار بود یک سری آزمایشی LED و Servo باشد ، اما بعداً به نسخه متحرک چنین آزمایشی تبدیل شد

دایره های رنگارنگ متحد المرکز

چراغ ها به دور دامنه متحدالمرکز متناسب با دامنه باند معادله مربوطه می چرخند. جابجایی تصادفی بین ساعت و ضد ساعت و به آرامی چرخاندن رنگها بر روی چرخه رنگ 256

صلیب مالت

یک باند LED مرکزی است. نوار دیگر خطوط عمودی و افقی LED ها است و قسمت های باقی مانده هر کدام یک نوار EQ را نشان می دهند. همه بخشها در حالت آفست 128 رنگ می چرخند تا کنتراست باقی بماند.

چراغ های تپنده

هر دایره همه LED ها را برای یک باند اختصاصی معادل روشن می کند ، در حالی که به آرامی رنگ ها را با کمی جابجایی می چرخاند. نوارهای EQ به تدریج از یک دایره به دور دیگر منتقل می شوند و پیشرفت بیرونی ایجاد می کنند.

بخاری

نوارها بصورت نیم دایره ای از پایین به بالا روشن می شوند که با قرمز روشن و زرد در راه شبیه سازی آتش سوزان در شومینه شروع می شوند. گاه به گاه "جرقه" سفید روشن به طور تصادفی بالا می آید. هیچ چرخش رنگی وجود ندارد

چراغ های روشن

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

درختان سبک

قطعات در یک خط مستقیم از LED پایین به بالا و سپس به صورت جانبی در نیم دایره متحدالمرکز تقلید از درختان نخل روشن می شوند. چرخش رنگ.

بخش های جانبی

این نسخه ای از صلیب مالت قبلی است که تنها از 2 قسمت مورب استفاده شده است. فرض می شود شبیه به نماد امواج صوتی است.

مرحله 5: کنترل های دکمه را لمس کنید

دکمه های کنترل را لمس کنید
دکمه های کنترل را لمس کنید

4 دکمه حساس به لمس وجود دارد:

  1. از طریق تجسم ها دور بزنید و حالت فعلی را تا انتخاب دیگری ادامه دهید (به طور پیش فرض چرخه تجسم هر 30 ثانیه)
  2. رنگ بندی فعلی "انجماد" / "رفع یخ" - اگر ترکیب رنگ خاصی را می پسندید می توانید آن را فریز کنید - چرخش رنگ غیرفعال است و تجسم فقط با این پالت رنگ ادامه می یابد
  3. تنظیم حساسیت میکروفون
  4. «حالت رقص» را روشن / خاموش کنید

در حالت رقص ، دستگاه سعی می کند "ضرب" موسیقی در حال پخش را تشخیص داده و سر خود را مطابق با ضرباهنگ بچرخاند. تا اینجا "رقص" تا حد زیادی ناخوشایند است تا زیبا ، صادقانه بگویم.

مرحله 6: تشخیص رقص و "رقص" سروو

Beat Detection و Servo
Beat Detection و Servo

دستگاه دائماً در تلاش است تا "ضرب" آهنگ فعلی را به عنوان فاصله بین قله های متوالی باند 63 هرتز تشخیص دهد. پس از تشخیص (و فقط در صورت روشن بودن حالت رقص) ، دستگاه سروو موتور خود را فعال می کند تا به طور تصادفی با توجه به ضربات به چپ یا راست بپیچد.

هرگونه ایده روشن در مورد نحوه اطمینان بیشتر این مورد استقبال می شود!

'Music_Test_LED' طرح 7 باند EQ را به نحوی مناسب برای ترسیم با استفاده از Arduino IDE خروجی می دهد.

مرحله 7: اشکال سه بعدی

اشکال سه بعدی
اشکال سه بعدی
اشکال سه بعدی
اشکال سه بعدی
اشکال سه بعدی
اشکال سه بعدی

کل مجموعه چراغهای مهمانی از ابتدا با استفاده از Autodesk TinkerCAD طراحی شد.

طرح اصلی در اینجا قرار دارد. پوشه "files/3D" در github.com شامل مدلهای STL است.

این طرح نحوه مونتاژ دستگاه را نشان می دهد.

همه اجزا چاپ شده و سپس مونتاژ/چسبانده شده اند.

"گنبد" میزبان میکروکنترلر ، برد بلوتوث و میکروفون است. میکروکنترلر بر روی تخته 40 میلی متر در 60 میلی متر قرار می گیرد و توسط ریل های تعیین شده پشتیبانی می شود.

سروو در "پایه" گنبد قرار دارد ، در حالی که دکمه ها در پایه قرار دارند.

محفظه باتری به طور خاص برای نوع باتری ذکر شده در قسمت لوازم چاپ می شود. در صورت انتخاب استفاده از باتری متفاوت ، محفظه باید مطابق آن دوباره طراحی شود.

مرحله 8: منبع تغذیه

منبع تغذیه
منبع تغذیه
منبع تغذیه
منبع تغذیه

به نظر می رسد یک پاوربانک فوق العاده جمع و جور 5000 مگاهرتز دو خروجی USB فوق العاده باریک برای ساعت ها کارکرد برق کافی را تأمین می کند.

محفظه باتری به گونه ای طراحی شده است که از بقیه دستگاه جدا می شود و می توان آن را با یک باتری متفاوت جایگزین کرد.

دوشاخه USB در محل قرار گرفته و به صورت داغ چسبیده است تا باتری را در حین کشیدن به آن متصل کند.

مرحله 9: کنترل بلوتوث

کنترل بلوتوث
کنترل بلوتوث

یک ماژول HC-05 اضافه شده است تا راهی برای کنترل دستگاه به صورت بی سیم ارائه دهد.

وقتی دستگاه روشن است ، یک اتصال بلوتوث به نام "LEDDANCE" ایجاد می کند که می توانید تلفن خود را با آن جفت کنید.

در حالت ایده آل ، باید برنامه ای وجود داشته باشد که امکان کنترل PartyLights (انتخاب پالت رنگ ، شبیه سازی فشار دکمه ها و غیره) را فراهم کند. با این حال ، من هنوز چیزی ننوشته ام.

اگر به نوشتن یک برنامه Android یا iOS برای چراغ مهمانی علاقه دارید ، لطفاً به من اطلاع دهید!

برای کنترل دستگاه ، در حال حاضر می توانید از برنامه ترمینال بلوتوث استفاده کنید و دستورات زیر را ارسال کنید:

  • LEDDBUTT - جایی که "1" ، "2" ، "3" یا "4" فشار دادن دکمه مربوطه را شبیه سازی می کند. مثال: LEDDBUTT1
  • LEDDCOLRc - جایی که c یک عدد از 0 تا 255 است - موقعیت رنگ مورد نظر روی یک چرخه رنگ. دستگاه به رنگ LED مشخص شده تغییر می کند.
  • LEDDSTAT - یک عدد 3 کاراکتری شامل فقط 0 و 1 نشان می دهد:

    • موقعیت اول: '0' - رنگها نمی چرخند ، '1' - رنگها در حال چرخش هستند
    • موقعیت دوم: "0" - حالت رقص خاموش است ، "1" - حالت رقص روشن است
    • موقعیت سوم: '0' - میکروفون در حالت عادی است ، '1' - میکروفون در افزایش زیاد است

مرحله 10: برنامه را بر اساس Blynk کنترل کنید

کنترل برنامه بر اساس Blynk
کنترل برنامه بر اساس Blynk
کنترل برنامه بر اساس Blynk
کنترل برنامه بر اساس Blynk
کنترل برنامه بر اساس Blynk
کنترل برنامه بر اساس Blynk
کنترل برنامه بر اساس Blynk
کنترل برنامه بر اساس Blynk

Blynk (blynk.io) یک پلت فرم IoT سخت افزاری است. من از Blynk در سیستم آبیاری خودکار کارخانه IoT خود استفاده کردم و با سهولت و استحکام سکو تحت تأثیر قرار گرفتم.

Blynk از اتصال به دستگاه های لبه از طریق بلوتوث پشتیبانی می کند - دقیقاً همان چیزی که ما برای PartyLights نیاز داریم.

اگر قبلاً دانلود نکرده اید ، لطفاً برنامه Blynk را بارگیری کنید ، برنامه Blynk PartyLights را با استفاده از تصاویر ضمیمه این مرحله ضبط و ایجاد کنید. لطفاً اطمینان حاصل کنید که تخصیص های پین مجازی مانند عکس های صفحه نمایش است ، در غیر این صورت ، دکمه های برنامه به طور دلخواه کار نمی کند.

فایل "blynk_settings.h" شامل UID شخصی من Blynk است. وقتی پروژه خود را ایجاد می کنید ، یک پروژه جدید به شما اختصاص داده می شود تا از آن استفاده کنید.

طرح PartyLightsBlynk.ino را بارگذاری کنید ، برنامه را روشن کنید. با دستگاه بلوتوث جفت شوید و از مهمانی لذت ببرید.

مرحله 11: طرح ها و کتابخانه ها

طرح ها و کتابخانه ها
طرح ها و کتابخانه ها

طرح اصلی و فایلهای پشتیبانی کننده در Github.com در اینجا قرار دارد.

در طرح چراغهای مهمانی از کتابخانه های زیر استفاده شد:

  • TaskScheduler - چند وظیفه ای مشارکتی - در اینجا (توسعه یافته توسط من)
  • AverageFilter - فیلتر متوسط قالب - در اینجا (توسعه یافته توسط من)
  • Servo - Servo control - یک کتابخانه استاندارد آردوینو است
  • WS2812B -NEOPixel control - به عنوان بخشی از بسته STM32 ارائه می شود

این صفحه ویکی نحوه استفاده از بردهای STM32 با Arduino IDE را توضیح می دهد.

مرحله 12: پیشرفت های آینده

پیشرفت های آینده
پیشرفت های آینده

اگر این پروژه را شروع کنید ، می توانید چند مورد را در این طرح بهبود دهید:

  • به جای برد Maple Mini از ESP32 استفاده کنید. ESP32 دارای 2 CPU ، بلوتوث و پشته WiFi است و می تواند در 60 مگاهرتز ، 120 مگاهرتز و حتی 240 مگاهرتز کار کند.
  • طراحی کوچکتر - دستگاه حاصله بزرگ است. می تواند فشرده تر باشد (مخصوصاً اگر ایده رقص و سروو مربوطه را کنار بگذارید)
  • تشخیص ضربان می تواند بی نهایت بهبود یابد. به نظر می رسد آنچه برای ما انسان ها طبیعی است ، کار سختی برای کامپیوتر است
  • می توان تجسم های بسیار بیشتری را طراحی و اجرا کرد.
  • و البته ، می توان برنامه ای نوشت تا دستگاه را به صورت بی سیم با رابط کاربری خنک کنترل کند.

توصیه شده: