فهرست مطالب:

چراغ های خلقی MQTT با ESP32: 4 مرحله (همراه با تصاویر)
چراغ های خلقی MQTT با ESP32: 4 مرحله (همراه با تصاویر)

تصویری: چراغ های خلقی MQTT با ESP32: 4 مرحله (همراه با تصاویر)

تصویری: چراغ های خلقی MQTT با ESP32: 4 مرحله (همراه با تصاویر)
تصویری: درگیری طالب با آمریکا 2024, جولای
Anonim
چراغ های خلقی MQTT با ESP32
چراغ های خلقی MQTT با ESP32

مدتی بود وسوسه شده بودم که روی باند LED پرش کنم ، بنابراین بیرون آمدم و یک نوار LED برای اسباب بازی برداشتم. من در نهایت این چراغ های خلقی را ساختم. می توان آنها را با MQTT کنترل کرد و امکان افزودن انواع هوشمند را فراهم کرد.

اگر هیچ چیز دیگری در جریان نیست ، و می خواهید دستان خود را کثیف کنید و چیزی بسازید ، این پروژه آخر هفته خوب است.

توجه داشته باشید که هدف از این دستورالعمل مستندسازی پروژه من و به اشتراک گذاشتن ایده ها با دیگران است و لزوماً ارائه دستورالعمل ها و روش های محکم نیست. با این اوصاف ، بخوانید!

تدارکات

الکترونیک:

  • 1 عدد برد توسعه ESP32
  • صفحه نمایش 1x 0.96 اینچی I2C OLED
  • زنگ 1 برابر
  • 1 عدد جک بشکه ای
  • منبع تغذیه 1x 12V (جریان بستگی به طول نوار شما دارد)
  • 1x مبدل باک LM2596
  • 1x نوار LED RGB معمولی آند
  • سه ماسفت IRFZ44N
  • 3x ترانزیستور BC547
  • مقاومتهای 3x 3kΩ
  • 4x مقاومت 100Ω
  • 1 برابر تخته نمونه سازی
  • پایانه های پیچ 4 برابر
  • سربرگ های زن و مرد
  • سیم (من از یک رشته استفاده کردم)

سایر سخت افزارها و ابزارها:

  • مواد مورد نظر شما برای محفظه (من از MDF استفاده کردم)
  • مواد مسطح و رسانا برای تماس های لمسی (من از یک ورق آلومینیومی نازک استفاده کردم)
  • اره ، مته ، کاغذ سنباده و غیره
  • آهن لحیم کاری و دوستان
  • چسب گرم

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

مرحله 1: الکترونیک

الکترونیک
الکترونیک
الکترونیک
الکترونیک

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

قدرت

یک مبدل باک LM2596 12V را از منبع تغذیه به 5V برای VIN ESP کاهش می دهد. اطمینان حاصل کنید که منبع تغذیه شما به درستی برای طول نوار LED مورد استفاده شما رتبه بندی شده است. نوار 2 متری من کمی بیشتر از 2 آمپر می کشد.

پین ها و وسایل جانبی

از چهار پین لمسی برای ورودی های لمسی استفاده می شود. صفحه ESP32 من دارای یک صفحه OLED متصل بود که پین های I2C آن به سختی متصل شده بود. این از چهار پین PWM استفاده می کند ، یکی برای هر جزء رنگی (قرمز ، سبز و آبی) و دیگری برای زنگ.

ماسفت به هم می ریزد

MOSFET ها برای کنترل زمانهای تعویض سریع PWM و جریان نسبتاً زیاد انتخاب شدند. برای هر جزء رنگی یک ماسفت وجود دارد. من از NPN BJTs (BC547) به همراه یک مقاومت کششی برای حرکت IRFZ44N استفاده کردم ، زیرا سیگنال های دیجیتالی 3.3V از ESP32 برای MOSFET ها به اندازه کافی برای انجام جریان به اندازه مورد نیاز کافی نبوده است. MOSFET های منطقی مانند IRLZ44N وجود دارند ، اما من فقط پس از اتمام لحیم کاری همه چیز راجع به آنها مطلع شدم. در هر صورت ، نوار من که 2A s می کشد خوب کار می کند.

لحیم کاری

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

چرا ESP32 را انتخاب کردم

دارای وای فای و بلوتوث (هرچند من در حال حاضر فقط از وای فای استفاده می کنم) ، و یکی از آنها در اطراف من خوابیده بود که از آن استفاده می کردم. ورودی های لمسی نیز برای رابط کاربری کنترل کننده مفید هستند ، زیرا آنها فقط به یک سیم برای تماس نیاز دارند. اگر بخواهید ، می توانید ESP32 را به راحتی با میکروکنترلری مانند ESP8266 جایگزین کنید.

مرحله 2: کد

من از برنامه ابزار Arduino (در واقع افزونه Arduino برای VS Code:)) برای برنامه ریزی این مورد استفاده کردم. اگر قبلاً این کار را نکرده اید ، آموزش های عالی مانند این برای شروع کار با ESP32 و Arduino IDE وجود دارد.

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

MQTT را نیز به آثار اضافه کردم تا بتوانم آن را از طریق WiFi کنترل کنم. من سعی می کنم در مورد برنامه وب بزرگ سه (HTML ، CSS ، JS) احساس کنم ، بنابراین من یک صفحه وب با موضوع Star Trek (اما نسبتاً زشت) طراحی کردم که با یک کارگزار MQTT ارتباط برقرار می کند تا چراغ های خلق و خو را کنترل کند.

تمام کدهای من را می توانید به همراه یک برگه مرجع سریع ، که ممکن است بخواهید نام فایل آن را تغییر دهید ، به عنوان یک علامت گذاری ، تغییر دهید. قبل از باز کردن با آردوینو ، همه پرونده ها را به پوشه ای با نام "ESP32MQTTMoodLighting" منتقل کنید.

توجه داشته باشید که کد من کار می کند ، اما احتمالاً بزرگترین نیست. اما این نباید اهمیت داشته باشد ، زیرا شما به هر حال می خواهید خود را بنویسید ، درست است؟:)

مرحله 3: محفظه و مونتاژ

محوطه و مونتاژ
محوطه و مونتاژ
محوطه و مونتاژ
محوطه و مونتاژ
محوطه و مونتاژ
محوطه و مونتاژ
محوطه و مونتاژ
محوطه و مونتاژ

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

پنل پشتی

من می خواستم جعبه من به راحتی قابل باز شدن باشد ، بنابراین تمام وسایل برقی خود را با چهار استند M2 PCB به پنل پشتی وصل کردم. روی تخته چوبی من سوراخ M2 در آن ایجاد شده بود. استندهای من دارای پایه های کوچک نخ دار در پایین بودند ، که من قصد داشتم آنها را به MDF ثابت کنم. اما ، من مته M2 نداشتم. بنابراین ، با مشخص کردن موقعیت هر سوراخ ، از یک پیچ گوشتی کوچک تخت استفاده کردم تا سوراخ ها را به صورت دستی بیرون بیاورم. خام اما مثر است. قطر سوراخ ها فقط کمی کوچکتر از قطعات رزوه دار است. من چند بار حفره ها را داخل و خارج از سوراخ ها پیچاندم ، که آنها را بزرگتر کرد و تقریباً آنها را نخ کرد.

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

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

پنل جلویی

برش صفحه نمایش OLED

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

اتصال دهنده

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

پد های لمسی

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

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

بقیه

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

Velcro در دو لبه قسمت جلویی را به پنل پشتی نگه می دارد. فاصله ها باعث خروج صدای زنگ می شود. اگر کار بهتری از من انجام می دهید ، نباید به چیزی دست پیدا کنید که شبیه کار پیش دبستانی 5 ساله است:)

نوار LED من پشتی چسبناکی داشت (مطمئن هستم که شما نیز چنین است). من خودم را طوری نصب کردم که نور از دیوار پخش شود.

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

وصلش کن!
وصلش کن!

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

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

توصیه شده: