اتوماسیون خانگی به صورت لمسی و مبتنی بر اینترنت اشیا

کلیات پروژه

ما کاربردهای مختلفی از IoT دیده ایم ، اما تاکنون در مورد کنترل آنها به صورت لمسی اندیشیده اید. در این پروژه دکمه های لمسی ساده را به ماژول Wi-Fi ESP-32 اضافه خواهیم کرد. ماژول ESP-32 یک ماژول عالی برای طراحی برنامه های IoT است و اضافه کردن قابلیت لمس به آن باعث هوشمندی بیشتر آن می شود. ماژول ESP-32 یک میکروکنترلر است که توسط Espressif عمدتا برای برنامه های IoT طراحی شده است. این ماژول آنقدر مفید است که حتی یک فرد تازه کار نیز می تواند از آن استفاده کند. ماژول ESP-32 دارای وای فای ، بلوتوث ، پین های ورودی سنجش لمسی ، سنسورهای دما و اثر هال است که باعث می شود برای IoT و خانه های هوشمند مناسب باشد.

 

سیستم اتوماسیون خانگی شخصی IoT

در ESP-32 ، در مجموع 10 پین GPIO سنجش لمسی وجود دارد. یک سیستم سنسور لمسی بر روی لایه ساخته شده است که دارای الکترود و اتصالات مربوطه بوده و در زیر سطح صاف محافظ قرار می گیرد. هنگامی که یک کاربر سطح را لمس می کند ، تغییر ظرفیت ایجاد می شود و یک سیگنال باینری تولید می شود تا نشان دهد که لمس معتبر است یا خیر.

ماژول ESP32 می تواند حداکثر 10 پد لمسی خازنی / GPIO را پشتیبانی کند. این صفحات حسگری را می توان در ترکیب های مختلف (به عنوان مثال ماتریسی ، کشویی) کنار هم قرار داد تا یک منطقه بزرگتر یا نقاط بیشتری شناسایی شود. فرآیند سنجش تاچ پد تحت کنترل یک ماشین حالت محدود (FSM) سخت افزاری است که توسط نرم افزار یا یک تایمر سخت افزاری اختصاصی آغاز به کار می کند. ما در این پروژه یاد می گیریم که چگونه این پین های لمسی را کنترل کنیم و یک برنامه IoT را بر مبنای آن بسازیم. ما همچنین کنترل توسط Wi-Fi را به آن اضافه خواهیم کرد.

در زیر لیست تجهیزات مورد استفاده برای سیستم اتوماسیون خانگی مبتنی بر لمس آورده شده است:

  1.  ماژول ESP32 NodeMCU (اگر از نسخه دیگری استفاده می کنید ، دیتاشیت مربوط به آن را مطالعه کنید.)

ماژول ESP32 NodeMCU

2. کابل USB Type C برای برنامه ریزی ESP32 از طریق لپ تاپ یا رایانه شخصی ( بیشتر گوشی های آندرویدی از این نوع کابل استفاده می کنند.)

کابل USB Type C

3. LED با مقاومت (1K) – برای تست لمس

مقاومت

4. بورد آزمایشگاهی – برای قرار دادن اجزاء

 بورد آزمایشگاهی - برای قرار دادن اجزاء

5. هر صفحه فلزی برای حس لمس. حتی می توانید از فویل آلومینیومی با اتصال یک سیم به آن استفاده کنید.

صفحه فلزی برای حس لمس

مراحل تنظیمات نرم افزاری :

 

(اگر قبلاً راه اندازی ماژول های ESP را در نرم افزار آردوینو انجام داده اید ، این مرحله را نادیده بگیرید)

 

 راه اندازی ماژول های ESP  در نرم افزار آردوینو

ما برای برنامه ریزی ماژول های ESP به یک محیط توسعه یکپارچه نیاز داریم و از نرم افزار Arduino IDE استفاده خواهیم کرد. این برنامه cross-platform و به زبان جاوا نوشته شده است و برطبق برخی از قوانین خاص در C++ / C  کدگذاری شده است.

برنامه Arduino IDE خانواده ESP32 را پشتیبانی نمی کند. بنابراین برای برنامه ریزی ESP-32 در Arduino IDE ، باید ابتدا این خانواده به برنامه آردوینو معرفی شود. آموزش های بسیاری برای این کار در اینترنت وجود دارد و می توانید از آنها استفاده کنید.

 

کد سیستم اتوماسیون خانگی مبتنی بر لمس:

 

کد قرار داده شده هرماه این آموزش را دانلود کرده و در نرم افزار آردوینو باز کنید.

حال به توضیح و چگونگی استفاده از این کد می پردازیم..

قبل از بارگذاری این کد به ماژول ESP32 باید تغییراتی در کد ایجاد کنید.

 

 Wi Fi functions used in the code

 

کتابخانه به کارگرفته شده شامل کلیه عملکردهای Wi-Fi است که در کد استفاده می شود. کافیست تنها اطلاعات مربوط به وای فای خود را بین دو علامت ” ” جایگزین کنید و تنظیمات عمومی زیر را انجام دهید.

Wi Fi

 

ما نرخ Baud Rate را در 115200 (سرعت پیش فرض) تنظیم می کنیم ، خروجی ها را تنظیم می کنیم و Wi-Fi را به صورت اولیه تنظیم می کنیم تا فقط یک اتصال آن برقرار شود. تمام کدی که در Void Setup قرار داده ایم فقط یک بار پس از هربار ریستارت اجرا می شود.

در حلقه void loop  کد اصلی خود را قرار می دهیم که باید بارها و بارها اجرا شود.

void loop

 

ما می توانیم به طور مستقیم GPIO های لمسی را با استفاده از تابع touchRead بخوانیم. ما می توانیم آن را در هر متغیری ذخیره کنیم و در اینجا آن را در متغیر s1 ذخیره کرده ایم.

هدف ما این است که LED را با Touch و Wi-Fi کنترل کنیم و از این رو توابع را در Void loop  قرار می دهیم. در اینجا یک صفحه HTML با استفاده از اسکریپت HTML در کد ساخته شده است.

HTML page

 

شما حتی ممکن است این اسکریپت را طبق برنامه خود تغییر دهید. شما چیزی شبیه به این را در مرورگر وب خود مشاهده خواهید کرد.

Esp32 with touch

کد را به ESP32 بارگزاری کنید و به خاطر داشته باشید که قبل از آن بورد ESP32 DEV Module و پورت مربوط به آن را از منوی Tools برنامه انتخاب کنید.

 

 ESP32 DEV Module

 

نقشه اتصالات:

 

فقط یک ورودی (صفحه لمسی) و یک خروجی (LED) در مدار وجود دارد که نحوه اتصال آنها به صورت زیر است:

Connections

 

حالا ESP-32 را با USB یا تغذیه 5 ولت روشن کنید و اجازه دهید جادو اتفاق بیفتد.

کد را بارگذاری کنید و هر چیزی را که می خواهید کنترل کنید کنید.

اتصال به وب سرور :

پس از بارگذاری کد ، به Serial Monitor بروید. ماژول ESP32 سعی خواهد کرد به Wi-Fi متصل شود و آدرس IP خود را در آن نمایش دهد.

اتصال به وب سرور

 

اطمینان حاصل کنید که روتر وای فای روشن باشد. این آدرس IP را در مرورگر دستگاه متصل به همان وای فای وارد کنید.

حال باید صفحه وب HTML که در کد ذکر شده است را مشاهده کنید. اکنون می توانید همه چیز را به ماژول وصل کرده و تست کنید.

test

 

test2

علاوه بر این ، شما همچنین می توانید یک رله به جای LED وصل کنید. به عنوان مثال می توانید مدار تصاویر زیر را امتحان کنید و از آن لذت ببرید.

 

LED on

 

IoT personal home automation system

 

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

 

Source: https://www.electronicsforu.com/electronics-projects/iot-touch-based-home-automation

Translator: Ehsan Yavari