مانیتورینگ وضعیت خاک با ESP32 (سنسور DHT11 و MQ135)
![](/wp-content/uploads/2023/12/مانیتورینگ-وضعیت-خاک-با-ESP32-سنسور-DHT11-و-MQ135.jpg)
باغبانی یک سرگرمی عالی است. هرچند که به دلیل سبک زندگی پرمشغله مان، ممکن است نتوانتیم آن توجهی را که باید به گیاهان خود داشته باشیم. اما چه میشد اگر میتوانستیم که از دور بر وضعیت آن ها نظارت کرده و متناسب با نیازشان از آن ها مراقبت کنیم. البته که راهی وجود دارد. میتوانیم این مشکل را با ترکیب باغبانی و اینترنت اشیا حل کنیم. به این شکل باغچه ما هوشمند شده و ارتقا می یابد. به همین دلیل است که نام این باغچه را Garden X میگذارم. Garden X یک سیستم باغبانی هوشمند است که سطح رطوبت خاک، دمای هوا، رطوبت، شدت نور، شاخص سلامت هوا و پارامترهای دیگر را مانیتور میکند. این سیستم، با توجه به این شرایط محیطی ( به خصوص سطح رطوبت خاک) تصمیماتی مانند آبیاری گیاهان در مواقع موردنیاز را میگیرد. Garden X همچنین کاربر را از دیگر شرایط محیطی مانند سطح رطوبت خاک، دمای هوا، رطوبت، شدت نور، شاخص کیفیت هوا و پارامترهای دیگر از طریق اپلیکیشن تلفن همراه باخبر میکند و درنتیجه کاربر میتواند از گیاه خود بر حسب نیازش مراقبت کند.
برای پیاده سازی این پروژه، از یک ESP32 به عنوان میکروکنترلر اصلی به همراه سنسورهایی که ما را از شرایط محیطی مطلع میکنند، استفاده میکنیم. این سنسورها، DHT11 برای دما و رطوبت، سنسورهای خازنی رطوبت خاک، یک LDR یا مقاومت نوری برای شدت نور و MQ135 برای مانیتورینگ شاخص کیفیت هوا هستند. ESP32 تمام داده های این سنسورها را خوانده، آن ها را پردازش کرده و به پایگاه داده ابری میفرستد. کاربر میتواند با استفاده از اپلیکیشن تلفن همراه خود به این داده ها دسترسی پیدا کند. یک سیستم آبیاری اتوماتیک هم در Garden X استفاده میشود که تنها در هنگام کم شدن سطح رطوبت خاک تریگر میشود.
قطعات موردنیاز برای ساخت Garden X
سخت افزار استفاده شده در پروژه
- ESP32 (Wroom 32)
- رله sugar cube (JIH JIK, JQC-3F3/T73 12 ولت DC )
- سنسور خازنی رطوبت خاک ADC ADS1115
- سنسور رطوبت و دما DHT11
- سنسور کیفیت هوا MQ135
- سنسور نوری LDR 5 میلی متری
- ترانزیستور BC547
- LED قرمز 5 میلی متری، تراشه رگولاتور ولتاژ LM7805
- LED سبز 5 میلی متری
- LED آبی 5 میلی متری
- نگهدارنده LED 5 میلی متری
- سوکت جک صوتی 3.5 میلی متری
- سوکت DC barrel و جک
- مقاومت THT 100 اهمی، 0.25 وات
- مقاومت 10 کیلواهمی، 0.25 وات
- شیربرقی 6 میلی متر، 12 ولت
- کانکتورهای Relimate
- وارنیش حرارتی ( 2.5 میلی متری-6 میلی متری)
- فیبر سوراخ دار (ویر بورد)
- باکس PVC (7*4 اینچ)
- آداپتور دی سی، 12 ولت-2 آمپر
- دیود 1N4007
- پیچ و مهره
- لوله پلی اورتان 6 میلی متر
- لوله پلاستیکی انعطاف پذیر- 8 میلی متر
نرم افزار استفاده شده در پروژه
- IDE آردوینو
- فایربیس گوگل (Google Firebase)
- EasyEDA
- Kodular
انتخاب سخت افزار/نرم افزار پروژه
یک باکس 4*7 اینچی برای نگهداری تمام قطعات در کنار هم استفاده شده است. 4 عدد رله هم برای راه اندازی و درایو 4 شیربرقی به کار گرفتیم. شیربرقی با ولتاژ 12 ولت DC فعال میشود. ترکیب لوله پلی اورتان 6 میلی متر و یک لوله انعطاف پذیر 8 میلی متر برای آبیاری گیاهان از طریق شیربرقی به کار برده شده است. من برای اتصال شیرهای برقی به باکس PVC از یک سوکت DC barrel وجک در سمت راست باکس استفاده کردم. ESP32 میکروکنترلر سیستم ماست. من به جای NodeMCU از این بورد استفاده کردم زیرا که این بورد تعداد پایه های GPIO بیشتر و قدرت پردازش بالاتری نسبت به NodeMCU داشته و میتوانیم برای توسعه این سیستم در آینده هم از همین بورد استفاده کنیم. از سنسور خازنی رطوبت خاک برای خواندن سطح رطوبت خاک استفاده کردم. این سنسور نسبت به سنسورهای رطوبت خاک مقاومتی برتری هایی دارد. برای مثال، الکترودهای سنسور مقاومتی درون خاک قرار گرفته و دچار خوردگی میشوند. اما در سنسورهای خازنی، الکترودها توسط پوشش لحیم کاری و اپوکسی ( گرماسخت) پوشیده شده اند و احتمال خوردگی آن ها کمتر است. برای اینکه داده های بهتر و دقیق تری داشته باشیم از سنسور ADC ADS1115 به عنوان سنسور رطوبت استفاده کردم. DHT11 برای خواندن مقدار رطوبت و دمای محیط اطراف استفاده میشود. من این سنسور را به دلیل ارزان بودنش انتخاب کردم. همچنین این سنسور، یک سنسور دیجیتال بوده و تقریبا میتوان گفت که نیازی به کالیبراسیون ندارد. MQ135 و LDR به ترتیب برای مانیتورینگ کیفیت هوا و شدت نور محیط استفاده میشوند. برای اتصال تمام سنسورها از یک سوکت جک صوتی 3.5 میلی متری در سمت چپ باکس PVC استفاده کردم.
تمام سیستم را به کمک یک آداپتور دی سی 12 ولت و 2 آمپر تغذیه کردم و A7805 هم برای تغذیه بورد ESP32 به کار گرفته شده است. LEDهای نشانگر را نیز به این شکل به کار بردم. LED قرمز وضعیت تغذیه را نمایش میدهد (Power LED)، LED آبی وضعیت اتصال اینترنت را نمایش میدهد (WIFI LED) و LED سبز هم اتصال به وب را نشان میدهد. (Web LED)
همچنین از IDE آردوینو برای برنامه نویسی بورد ESP32 استفاده کردم. این محیط بسیار کاربر پسند بوده و درون خود، یک کلکسیون گسترده از تقریبا تمام کتابخانه های دستگاه های سخت افزاری و سیستم های نرم افزاری دارد. برای سرویس ابری، از فایربیس گوگل استفاده کردم زیرا استفاده از آن آسان بوده و یک پلن رایگان مخصوص هم در اختیار ما میگذارد. داکیومنت های فایربیس به ما در ساخت پروژه ها کمک میکنند. این پایگاه داده میتواند به هر اپلیکیشن تلفن همراه نیز متصل شود. من از RTDB فایربیس گوگل برای ذخیره و واکشی (Fetch) داده ها استفاده کردم. برای رسم شماتیک از EasyEDA کمک گرفتم. EasyEDA یک کلیکسیون بزرگ از کتابخانه های قطعات مختف دارد و همچنین کتابخانه قطعات LCSC نیز به آن متصل هستند که به ما کمک میکند تا قطعات را به آسانی انتخاب کنیم.
در این پروژه، به کمک kodular، یک اپلیکیشن اندروید ساختم. Kodular یک پلتفرم آنلاین و رایگان برای ساخت اپلیکیشن های اندروید از طریق visual programming یا برنامه نویسی تصویری است. کاربران باید به حساب خود وارد شده، با اسکن کردن QR کدی که در گوشه پایین سمت راست دستگاه وجود دارد، به دستگاه Garden X متصل شوند. سپس میتوانند داده سطوح رطوبت خاک تمام سنسورها و همچنین وضعیت شیرهای برقی را مشاهده کنند. علاوه بر اینها، کاربران میتوانند سطحی از رطوبت که در آن شیربرقی تریگر شده و آبیاری را انجام میدهد نیز، مشاهده کنند.
مدار اتصال Garden X
سنسورهای خازنی رطوبت خاک به مبدل آنالوگ به دیجیتال ADS1115 متصل شده اند. ADS1115 از طریق پایه های I2C (D21,D22) به میکروکنترلر متصل شده اند. LDR با یک مقاومت 10 کیلویی سری شده و با این آرایش یک تقسیم کننده ولتاژ را در مدار میسازد. نقطه اتصال LDR و مقاومت 10 کیلویی به پایه D14 میکروکنترلر وصل شده است. WIFI LED و Web LED هم به ترتیب به پایه های D2 و D15 میکروکنترلر وصل هستند. 4 رله برای درایو کردن شیرهای برقی استفاده شده اند و برای راه اندازی رله هم از ترانزیستور BC547 در کنار ESP32 استفاده کرده ایم. بیس های 4 ترانزیستور از طریق مقاومت های 100 اهمی محدود کننده جریان به پایه های D5، D18، D19 و D23 میکروکنترلر متصل شده اند.
موارد موجود در فایل : سورس کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود