فهرست مطالب:
تصویری: کنترل کننده Apple HomeKit WS2812B LED: 3 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
پروژه های زیادی بر اساس نوارهای LED WS2812B وجود دارد ، اما بیشتر آنها از ارتباط خانگی یا هر راه حل دیگری استفاده می کنند - بیشتر بر اساس MQTT - برای ارتباط با HomeKit.
برخی از پروژه ها از جلوه هایی از طریق Apple HomeKit نیز استفاده می کنند ، اما هیچ کدام از آنها HomeKit مستقل را بدون نیاز به پل پشتیبانی نمی کنند. من تقریباً 3-4 سال است که از HomeKit با LED های WS2812B استفاده می کنم و آنها بسیار خوب کار می کنند.
از آنجا که کد بسیار پیچیده است و من از کتابخانه های سفارشی زیادی استفاده کرده ام ، فایلهای سیستم عامل از پیش کامپایل شده ای ایجاد کرده ام. برای کسانی که علاقمند به ساخت پروژه های بومی HomeKit هستند ، کد منبع esp-homekit در اینجا موجود است.
اطلاعات اولیه:
- در حال حاضر فقط نوارهای LED WS2812B ، WS2812B ECO و WS2813 پشتیبانی می شوند!
- حداکثر تعداد LED برای صرفه جویی در RAM به 500 محدود می شود
- مبدل سطح منطقی مورد نیاز (برای تبدیل داده های 3.3V به 5V)
- منبع تغذیه 5 ولت با کیفیت خوب نیز لازم است
- اطلاعات بیشتر را می توانید در GitHub من پیدا کنید
- راهنمای Adafruit Übergu نیز می تواند کمک کند:-)
طراحی PCB:
من یک PCB ساده برای رانندگی LED های NeoPixel به روش مناسب توصیف شده در Adafruit's NeoPixel Überguide با استفاده از آخرین SN74HCT125N Logic Level Converter IC و خازن توصیه شده 1000uF طراحی کرده ام:-) در حال حاضر از این PCB با منبع تغذیه 5V 10A استفاده می کنم بدون هیچ گونه مشکل (دما):-)
همچنین من یک نسخه USB Type-C برای نوارهای کوتاهتر LED دارم!
شما می توانید PCB ها را از اینجا و اینجا سفارش دهید
در اینجا می توانید اطلاعات بیشتری در مورد PCB ها بیابید
امکانات:
- تغییر رنگ
- تغییر روشنایی
- تغییر دمای رنگ (نیازی به نوار RGBW نیست)
- WS2812FX Light Effects (بتا !!!)
- تنظیم شمارش LED WS2812B (در اولین بوت از 1 تا 500)
- ویژگی رفتار قدرت (رنگ پیش فرض / آخرین استفاده هنگام راه اندازی از طریق برنامه Eve)
- انتقال (سریع / پیش فرض / متوسط / آرام از طریق برنامه Eve)
- Child Lock (دکمه فعال/غیرفعال کردن را از طریق برنامه Eve فشار دهید)
- راهنمای کاربر قابل بارگیری (از طریق برنامه Eve)
- دکمه روشن / خاموش / تنظیم مجدد
تدارکات
برای ایجاد PCB سفارشی شما به آهن لحیم کاری ارزان قیمت یا ایستگاه لحیم کاری مانند این یا این دستگاه نیاز دارید. همچنین تفنگ لحیم کاری هوای گرم نیز مفید خواهد بود! برای بارگذاری کد ، احتمالاً باید یک آداپتور USB TTL نیز خریداری کنید.
قطعات لازم:
- NodeMCU یا Wemos D1 Mini
- IC مبدل سطح منطق
- نوار LED WS2812B
- JST 3 پین اتصال زن
- منبع تغذیه 5V 2-10A v1 یا منبع تغذیه 5V 2-10A v2
- کابل های بلوز
قطعات PCB:
- ESP12F/E
- ESP-01S (فلش 1 مگابایت)
- مقاومت SMD 0805
- خازنهای SMD 0805
- AMS1117-3.3
- دکمه لمسی
- هدر 2.54 میلی متری
- SN74HCT125N
- SMD 10.5x10.5 1000uF خازن
- کانکتور DC
- ترمینال پیچ 3 پین
- نگهدارنده فیوز
- فیوز
مرحله 1: نصب Firmware
می توانید سیستم عامل را از صفحه GitHub من بارگیری کنید
پنجره ها
برای Windows می توانید از ابزار بارگیری رسمی Firmware توسط Espressif استفاده کنید
تنظیم آدرس های فلش (0x2000) ، اندازه فلش (1MB/8mbit ، 4MB/32mbit) و حالت فلاش (DIO/QIO) مرحله بسیار مهمی است ، اما ممکن است این تنظیمات بر اساس ماژولی که استفاده می کنید تغییر کند! همچنین توصیه می کنم قبل از بارگذاری فایل های.bin فلش را پاک کنید!
تنظیمات:
- نرخ بادی 115200
- حجم فلش 4 مگابایت یا 32 مگابیت (بسته به ماژول شما)
- حالت فلش QIO (یا DIO ، بسته به ماژول شما)
- 0x0000 rboot.bin
- 0x1000 blank_config.bin
- 0x2000 ledstrip.bin
- 40 مگاهرتز
سیستم عامل مک
برای MacOS می توانید از این ابزار فلاشر استفاده کنید
تنظیمات:
- پاک کردن فلش - بله
- نرخ بادی 115200
- حجم فلش 4 مگابایت یا 32 مگابیت (بسته به ماژول شما)
- حالت فلش QIO (یا DIO ، بسته به ماژول شما)
- پرونده: ledstrip.bin
- 40 مگاهرتز
فلش دستی
ما باید esptool.py را روی Mac خود نصب کنیم تا بتوانیم ماژول ESP خود را فلش کنیم. برای کار با esptool.py ، به پایتون 2.7 ، پایتون 3.4 یا نصب جدیدتر پایتون بر روی سیستم خود نیاز دارید. توصیه می کنیم از آخرین نسخه پایتون استفاده کنید ، بنابراین به وب سایت پایتون بروید و آن را در رایانه خود نصب کنید.
با نصب Python ، پنجره Terminal را باز کرده و آخرین نسخه پایدار esptool.py را با pip نصب کنید:
pip نصب esptool
توجه: در برخی از نصب های پایتون ممکن است این فرمان کار نکند و خطایی دریافت خواهید کرد. اگر چنین است ، سعی کنید esptool.py را با موارد زیر نصب کنید:
pip3 install esptool python -m pip install esptool pip2 install esptool
پس از نصب ، esptool.py را در فهرست پیش فرض اجرایی Python نصب کرده اید و باید بتوانید آن را با دستور esptool.py اجرا کنید. در پنجره ترمینال خود ، دستور زیر را اجرا کنید:
esptool.py
با نصب esptool.py بر روی رایانه خود ، می توانید به راحتی صفحه سیستم ESP8266 خود را با سیستم عامل فلش کنید.
ابتدا باید سه فایل bin را بارگیری کنید: rboot.bin و blank_config.bin و آخرین نسخه. rboot.bin شامل بوت لودر برای ESP8266 و blank_config.bin فقط در یک فایل پیکربندی خالی و ledstrip.bin حاوی سیستم عامل است. اکنون دستگاه خود را در حالت فلش به آداپتور FTDI خود وصل کنید.
پیوندهای آینه:
rboot.binblank_config.binledstrip.bin
قرار دادن دستگاه در حالت فلش
برای فعال کردن سیستم عامل ESP8266 ، پین GPIO0 چشمک زن باید هنگام تغذیه دستگاه کم شود. با PCB سفارشی من یک دکمه وجود دارد ، nodeMCU دارای یک دکمه فلش است و Wemos این کار را به طور خودکار با استفاده از USB انجام می دهد. برعکس ، برای یک بوت معمولی ، GPIO0 باید بالا کشیده یا شناور شود. در FLASH MODE شروع کنید
به دایرکتوری که ساخته اید بروید و فایلهای rboot.bin قبلاً بارگیری شده را در آن قرار دهید blank_config.bin (به عنوان مثال بارگیری ها)
برنامه ترمینال را باز کنید. روی نماد Finder در بارانداز خود کلیک کنید. روی Go کلیک کنید. روی Utilities کلیک کنید. روی ترمینال دوبار کلیک کنید. به فهرست دانلودها تغییر دهید.
برای اتصال به ESP8266 به یک آداپتور USB TTL نیاز دارید. اگر از Wemos D1 Mini فقط برای کابل microUSB استفاده می کنید ، Wemos دارای آداپتور TTL داخلی است.
دانلود سی دی
توجه: اگر از کتابخانه دیگری برای ذخیره سه فایل.bin استفاده می کنید ، با استفاده از دستور `cd` به آن کتابخانه بروید:
برای فلش کردن دستگاه خود از esptool.py استفاده کنید. ابتدا باید فلش را پاک کنیم:
esptool.py -p / dev / erase_flash
به طور معمول ، ESPPort شما چیزی شبیه /dev /cu.usbserial-`xxxxxx` خواهد بود. سپس دوباره دستگاه خود را در حالت فلش قرار دهید و سیستم عامل جدید را فلش کنید:
esptool.py -p /dev/cu.wchusbserial1420 -baud 115200 write_flash -fs 32m -fm dio -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 ledstrip.bin
مرحله 2: Wi-Fi و راه اندازی HomeKit
راه اندازی Wi-Fi
قبل از افزودن لوازم جانبی به HomeKit ، باید شبکه wifi را پیکربندی کنید. برای پیکربندی تنظیمات Wi-Fi ، دستگاه Wi-Fi اختصاصی خود را در حالت AP ایجاد می کند. برای راه اندازی شبکه Wi-Fi خود باید به آن متصل شوید. به سادگی دستگاه iOS خود را بردارید ، به Setting-> Wi-Fi بروید و یک SSID به نام HomeKid-و سپس آدرس MAC ماژول را جستجو کرده و به آن متصل شوید. به دلایل امنیتی ، AP با رمز محافظت می شود! رمز عبور پیش فرض AP: 12345678
چند ثانیه صبر کنید تا یک وب ظاهر شود که همه شبکه های Wi-Fi دستگاه را به شما نشان می دهد. مورد خود را انتخاب کرده و رمز ورود را وارد کنید! پس از آن می توانید تعداد دقیق LED را در نوار LED خود اضافه کنید! عددی از 1 تا 500 وارد کنید! سپس روی دکمه Join کلیک کنید! ماژول سعی می کند شبکه Wi-Fi انتخابی را متصل کند ، این کار چند ثانیه طول می کشد.
توجه: اگر گذرواژه داده شده اشتباه است ، می توانید با نگه داشتن دکمه Reset به مدت 10 ثانیه تنظیمات Wi-Fi را بازنشانی کنید.
راه اندازی HomeKit
در دستگاه iOS خود ، Home App را باز کنید و مراحل معمولی را برای افزودن یک لوازم جانبی جدید دنبال کنید. تنظیم جفت شدن حدود 30 ثانیه طول می کشد.
کد پیش فرض HomeKit 021-82-017 است
همچنین می توانید این کد QR HomeKit را اسکن کنید:
توجه: اگر جفت شدن ناموفق باشد ، می توانید دستگاه خود را خاموش کرده ، دوباره تغذیه کنید و راه اندازی HomeKit را دوباره شروع کنید (تنظیمات Wifi همچنان پیکربندی می شود). پس از جفت شدن موفق ، نوار LED 3 بار سفید چشمک می زند!
مسائل مشترک:
- گاهی اوقات افزودن لوازم جانبی متعدد با استفاده از کد QR شکست می خورد ، اگر HomeKit گزارش دهد "لوازم جانبی قبلاً اضافه شده است" فقط به جای اسکن کد QR ، کد جفت شدن را به صورت دستی اضافه کنید!
- در صورت بروز مشکل ، می توانید پرونده های log را با استفاده از مانیتور سریال Arduino مشاهده کرده و آزاد شوید تا مشکلی را در GitHub باز کنید.
مرحله 3: تنظیمات سفارشی
متأسفانه برنامه Home از ویژگی های سفارشی/شخص ثالث پشتیبانی نمی کند ، بنابراین برای تغییر این تنظیمات و استفاده از جلوه های WS2812B به برنامه Elgato EVE نیاز دارید. آیا این لوازم جانبی مانند یک لوازم جانبی Fake Eve Light Strip عمل می کنید وقتی آن را از طریق برنامه Eve اضافه می کنید؟
گذارها و رفتار قدرت
نوار اصلی Eve Light از این دو ویژگی پشتیبانی می کند. با استفاده از Transitions می توانید سرعت نوار LED را هنگام استفاده از جلوه های WS2812FX تغییر دهید! تنظیم آن بر روی Quick ، محو شدن/خروج را غیرفعال می کند و به سرعت روشن می شود!
هنگامی که نوار LED روشن می شود ، با Power Behavior می توانید رنگ پیش فرض را تغییر دهید! به طور پیش فرض روی Last Used Color تنظیم شده است ، بنابراین وقتی نوار LED را خاموش می کنید همیشه آخرین رنگی را که استفاده کرده اید به خاطر می آورد! وقتی روی سفید پیش فرض تنظیم می شود ، هر بار که نوار LED را خاموش می کنید ، رنگ به سفید برمی گردد!
بازنشانی
در صورت خرابی ، کد دارای عملکرد Reset است. حدود 5 ثانیه صبر کنید تا دستگاه بوت کاملاً بوت شود و سپس دکمه را حداقل 10 ثانیه فشار دهید!
همه تنظیمات پیکربندی شده حذف شده و دستگاه در حال راه اندازی مجدد است. با این کار تنظیمات HomeKit و Wi-Fi حذف می شود و دستگاه شما دفعه بعد به منظور پیکربندی مجدد Wi-Fi به حالت Access Point می رود.
توجه: با فشردن یک دکمه ، نوار LED روشن یا خاموش می شود
توصیه شده:
کنترل کننده بازی مبتنی بر آردوینو - کنترل کننده بازی Arduino PS2 - بازی Tekken With DIY Arduino Gamepad: 7 مرحله
کنترل کننده بازی مبتنی بر آردوینو | کنترل کننده بازی Arduino PS2 | بازی Tekken With DIY Arduino Gamepad: سلام بچه ها ، بازی کردن همیشه سرگرم کننده است اما بازی با کنترلر بازی سفارشی DIY خود سرگرم کننده تر است. بنابراین ما در این دستورالعمل یک کنترلر بازی با استفاده از arduino pro micro ایجاد می کنیم
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
روشن کننده قوس در کنترل کننده ماشین اسلات: 6 مرحله (همراه با تصاویر)
Arc Lighter in a Slot Car Controller: این فندک قوس کنترل کننده اسلات ماشین من است. هرگز فکر نمی کردم که این کلمات را در یک جمله کنار هم قرار دهم! کنترل کننده از پیست مسابقه ای Scalextric است ، اما یک نسخه ارزان قیمت و ارزان قیمت است. من یک جفت از آنها را در سطل زباله پیدا کردم و فکر کردم مهاجرت می کنند
تبدیل Splitter مانیتور VGA به کنترل کننده کنترل کننده کامپیوتر: 4 مرحله
تبدیل Splitter مانیتور VGA به کنترل کننده مانیتور کنترل شده توسط کامپیوتر: این دستورالعمل توضیح می دهد که چگونه می توان یک اسپلیتر مانیتور VGA ارزان (20 یورو) که برای اتصال یک رایانه به دو مانیتور استفاده می شود را به یک سوئیچر مانیتور کنترل شده کامپیوتر تبدیل کرد. دستگاه نهایی از طریق پورت موازی کنترل می شود و امکان چرخش
شبیه دشمن خود باشید: نشانه هایی ایجاد کنید که گیج کننده ، مبهوت کننده و تقلید کننده باشد!: 6 مرحله (همراه با تصاویر)
شبیه دشمن خود باشید: نشانه هایی ایجاد کنید که باعث گیج شدن ، حیرت و تقلید می شود !: در این مقاله آموزشی طراحی استتار را خواهید آموخت. در پروژه های گذشته ، من تکنیک های مختلفی را برای تقلید از علائم دولتی یا شرکتی اختصاص داده و اصلاح کرده ام. استفاده از روش هایی که در مراحل زیر بیان شده است به شما امکان می دهد به طور موقت