فهرست مطالب:

WiFi Mesh Synchronized LED Bars: 3 مرحله (همراه با تصاویر)
WiFi Mesh Synchronized LED Bars: 3 مرحله (همراه با تصاویر)

تصویری: WiFi Mesh Synchronized LED Bars: 3 مرحله (همراه با تصاویر)

تصویری: WiFi Mesh Synchronized LED Bars: 3 مرحله (همراه با تصاویر)
تصویری: 💦Blackview BV9200 HONEST Shockproof REVIEW 2024, جولای
Anonim
Image
Image
میله های وای فای مشبک LED هماهنگ شده
میله های وای فای مشبک LED هماهنگ شده
میله های وای فای مشبک LED هماهنگ شده
میله های وای فای مشبک LED هماهنگ شده
میله های وای فای مشبک LED هماهنگ شده
میله های وای فای مشبک LED هماهنگ شده

توسط CarlSTeleToyland بیشتر توسط نویسنده دنبال کنید:

انتخاب کننده رنگ از راه دور برای LED های خانه
انتخاب کننده رنگ از راه دور برای LED های خانه
انتخابگر از راه دور برای LED های خانه
انتخابگر از راه دور برای LED های خانه
LED های هماهنگ شده با محله گسترده
LED های هماهنگ شده با محله گسترده
LED های هماهنگ شده با محله گسترده
LED های هماهنگ شده با محله گسترده
چراغ LED دیجیتال دائمی تعطیلات روشنایی V2
چراغ LED دیجیتال دائمی تعطیلات روشنایی V2
چراغ LED دیجیتال دائمی تعطیلات روشنایی V2
چراغ LED دیجیتال دائمی تعطیلات روشنایی V2

درباره: سازنده از دوران کودکی با تمام علائم کلاسیک ، سازنده ربات ، و نرم افزار اینترنتی CTO/Tech Product Manager. اطلاعات بیشتر درباره CarlS »

این پروژه مجموعه ای از میله های LED با LED های دیجیتال قابل کنترل جداگانه (WS2812b "Neopixels") است. آنها اجازه می دهند انیمیشن ها در سراسر آنها بدون سیم کشی به یکدیگر انجام شوند. آنها برای اتصال به یکدیگر از یک شبکه WiFi استفاده می کنند و انیمیشن با داشتن نوارهای بیشتر یا کمتر در شبکه سازگار می شود.

الهام بخش این بود که یک جفت سرنشین طبل برای رژه کریسمس ماکت/باتوم تزئین کرده باشند. انیمیشن LED بین آنها همزمان می شود. LED ها همچنین می توانند به جای نوارها رشته ای باشند.

کاربرد دیگر برای نصب هنری LED است که در آن شما نمی خواهید یک سیم داده بین تمام LEDS های اطراف یک اتاق اجرا کنید - تنها کاری که آنها باید انجام دهند این است که به صورت جداگانه به برق متصل شوند.

برای این پروژه ، آنها به اینترنت متصل نیستند. آنها نقاط دسترسی وای فای خصوصی و سرورهای وب خود را راه اندازی کرده اند. بنابراین ، این پروژه به شبکه خارجی وابسته نیست و می تواند در مکان های دور اجرا شود. آنها با ولتاژ 5 ولت کار می کنند ، بنابراین می توان به راحتی از باتری های خارجی تلفن همراه تغذیه کرد!

مرحله 1: قطعات

قطعات
قطعات
قطعات
قطعات
قطعات
قطعات

قطعات زیر در پروژه برای هر نوار استفاده شده است:

  • یک نوار LED WS2812b ضد آب. من از 30 LED/متر استفاده کردم. نوارهای ضد آب معمولاً دارای نوار دو طرفه هستند که قبلاً به آنها متصل شده است ، بنابراین نصب آنها آسان است. شما به 1 متر در هر کانال نیاز دارید زیرا طول کانال ها یک متر است. LED های بیشتر در هر متر خوب است - فقط مطمئن شوید که منبع تغذیه ای متناسب داشته باشید. هر LED (5050) در این نوارها می تواند در صورت روشن بودن کامل تا 60ma استفاده کند.
  • محوطه پلاستیکی پروژه 60x36x25mm - این قسمت به اندازه کافی کوچک است تا بتواند D1 Mini را نگه دارد.
  • جک پنل 5.5mm x 2.1mm DC
  • منبع تغذیه 5 ولت - یک آمپر 2 ولت باید با 30 LEDS @ 0.06 آمپر هر کدام هنگام روشن بودن خوب باشد.
  • اگر می خواهید این پروژه را از باتری USB تغذیه کنید ، یک کابل USB تا 5.5 میلی متر در 2.1 میلی متر داشته باشید
  • یک برد D1 Mini ESP8266 - همچنین با قیمت کمتر ، اما با انتظار طولانی تر در دسترس است.
  • کانال آلومینیومی با روکش و سرپوش انتهایی برای نوارهای LED. پروفایل های زیادی برای انتخاب وجود دارد. این یکی به اندازه کافی برای نوارهای LED WS2812b (12 میلی متر) و مشخصات کم است.
  • نوار آلومینیومی - عرض کانال 17 میلی متر است ، بنابراین یک میله آلومینیومی با عرض 1/2 اینچ اندازه خوبی است. ضخامت آن 1/16 اینچ و طول هر میله ای که باید 6 اینچ داشته باشد.
  • نوار فوم دو طرفه - عرض 1/2 اینچ.
  • خازن 1000uF - برای هر نوار توصیه می شود ، برای جلوگیری از صعود ولتاژ به LED ها.
  • سیم اتصال. این سیم سیلیکونی 26 درجه بسیار انعطاف پذیر است و از کشیدن سیم های لحیم کاری روی نوار LED جلوگیری می کند. همچنین وقتی با آهن لحیم کاری آن را لمس می کنید ذوب نمی شود. من همچنین از سیم سروو استفاده کردم که بسیار انعطاف پذیر است ، اما سیم سیلیکونی سیم مورد علاقه جدید من است. شما فقط به ابعاد 6 اینچ از هر رنگ (قرمز ، مشکی ، زرد) نیاز دارید.
  • سیم های بلوز - زن قرمز ، مشکی و زرد برای اتصال به CPU استفاده می شود. اگر از نوع مطمئن هستید ، می توانید از این موارد بگذرید و سیم اتصال را مستقیماً به برد بچسبانید.
  • یک مقاومت 330 اهم برای کاهش نویز در خط داده نوار LED.
  • یک دیود سیگنال 1N4448 یا مشابه آن به پردازنده 3.3 ولت اجازه می دهد تا نوار LED 5 ولت را با اطمینان هدایت کند.
  • لوله کوچک کننده 3 میلیمتری - شما فقط به 5 اینچ از آن احتیاج دارید.

مرحله 2: میله ها را بسازید

میله ها را بسازید
میله ها را بسازید
میله ها را بسازید
میله ها را بسازید
میله ها را بسازید
میله ها را بسازید
میله ها را بسازید
میله ها را بسازید

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

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

من همچنین از قطره چسب UV برای قفل کردن سیم برق و هر قسمتی از نوار LED که خاموش نشود استفاده کردم.

در این پروژه به جای کنترل کننده های Particle Photon ، از تخته های WeMos D1 Mini بر اساس مجموعه تراشه ESP8266 استفاده شده است. اینها برای یک پروژه LED خوب و کوچک هستند. من از سربرگ های مردانه استفاده کردم تا جایی برای پرش کنندگان زن فراهم شود. معکوس اتصال دهنده ها در محفظه جا نمی شود. لحیم کاری این روش نیز آسان است. من همچنین از سیم جامد 20 درجه ای با اتصالات زنانه چین دار استفاده کرده ام ، و این نیز کار می کند ، اما تلاش بیشتری است.

این میله ها از همان روش LED فداکار برای اولین LED استفاده می کنند. در عمل ، واقعاً قابل توجه نیست. همچنین ، فاصله جزئی بین دو مورد اول نیز تقریباً قابل توجه نیست

اگر قصد دارید از گیره ها برای نصب کانال آلومینیومی استفاده کنید ، میله آلومینیومی که کانال را به جعبه پروژه متصل می کند ، می تواند مانع اتصال مستقیم گیره ها به دیوار شود ، بنابراین ممکن است لازم باشد برخی از واشرها یا مهره شل را در زیر قرار دهید. وجود دارد تا آنها را با 1/16 اینچ متوقف کنید.

مرحله 3: کد مش

Image
Image
کد مش
کد مش

هر یک از نوارهای LED کد یکسانی را اجرا می کند. اساس این پروژه کتابخانه بدون درد Mesh در https://gitlab.com/BlackEdder/painlessMesh است. این کتابخانه بیشتر کارهای سطح پایین ایجاد نقاط دسترسی ، سرورهای وب و غیره را انجام می دهد. هر نوار یک گره مش است.

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

در هنگام راه اندازی ، گره فرض می کند که کنترل کننده است ، اما سپس پیام changeNodes باعث ایجاد ارزیابی می شود. کمترین # شناسه تراشه در مش تبدیل به کنترل کننده می شود. این معمولاً یک یا دو ثانیه طول می کشد تا همه گره ها مستقر شوند و یک کنترل کننده واحد را در نظر بگیرند. شما می توانید تلاش بیشتری برای همگام سازی سریعتر (در اواسط پویانمایی) انجام دهید ، اما این پیامهای تغییر ناپذیر هستند ، بنابراین به هر حال کمی طول می کشد تا شبکه آرام شود. در عمل ، هنگامی که دوباره همگام می شوند ، بسیار محکم می مانند.

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

کد انیمیشن در سه مکان ظاهر می شود. اولین مورد تابع receCallback است ، جایی که نوار فرمان متحرک جدیدی را دریافت کرده است. این کار نسبتاً ساده است - فقط اندازه مرحله زمان بندی برای انیمیشن را تنظیم کرده و شمارنده ها را بازنشانی می کند. مکان دوم در تابع حلقه است. در آنجا ، کد بررسی می کند که آیا انیمیشن فعلی انجام شده است یا نه ، و به مرحله بعدی می رود. آخرین مکان برای کد انیمیشن ، تابع stepAnimation است که در آن تمام طراحی انجام می شود.

این سیستم از تایمر میلی ثانیه برای به روز رسانی استفاده می کند - از استفاده از عملکرد تاخیر اجتناب می کند زیرا برخی از کتابخانه ها را مسدود می کند. کد میلیس باید به درستی رول شود.

توجه داشته باشید که من با کتابخانه NeoPixel و بدون درد با بیش از یک LED مشکل داشتم ، بنابراین به FastLED تغییر کردم.

این کد در GitHib است ، و همچنین در اینجا ضمیمه شده است. شما تقریباً آن را روی تمام میله ها بارگذاری می کنید و آماده هستید تا به برنامه نویسی انیمیشن LED بپردازید!

توصیه شده: