آموزش ESP32 35/55 - مانیتور گیاه، خاک، دما و نور | کیت یادگیری اینترنت اشیاء ESP32 سانفاندر
در این آموزش، ما یک مانیتور گیاه با استفاده از میکروکنترلر ESP32 از کیت یادگیری اینترنت اشیاء SunFounder ESP32 خواهیم ساخت. این پروژه ترکیبی از چندین مؤلفه برای نظارت بر رطوبت خاک، دما، رطوبت و سطح نور است. در پایان این راهنما، شما یک سیستم کاملاً کاربردی خواهید داشت که میتواند این پارامترهای حیاتی برای مراقبت از گیاهان را مدیریت و نمایش دهد. برای توضیح بصری دقیق، حتماً ویدیو را بررسی کنید (در ویدیو در :00).

توضیح سختافزار
اجزای اصلی استفاده شده در این پروژه شامل میکروکنترلر ESP32، حساس(حس کننده) DHT11، حساس(حس کننده) رطوبت خاک، مقاومت وابسته به نور (LDR) و یک LCD برای نمایش دادهها است. ESP32 به عنوان مغز این تنظیمات عمل میکند و وظایف پردازش داده و کنترل را بر عهده دارد. این میکروکنترلر دارای Wi-Fi و بلوتوث داخلی است که گزینههای اتصال برای نظارت از راه دور را فراهم میکند.
حساس(حس کننده) DHT11 دما و رطوبت را اندازهگیری میکند، در حالی که حساس(حس کننده) رطوبت خاک سطوح رطوبت در خاک را تشخیص میدهد. LDR شدت نور محیط را اندازهگیری میکند و این امکان را فراهم میآورد که بینشهایی درباره شرایط نوری گیاه به دست آوریم. هر جزء نقش مهمی در اطمینان از سلامتی گیاه با ارائه دادههای实时 ایفا میکند.
جزئیات مشخصات فنی
| تولیدکننده | سانفاندر |
|---|---|
| شماره قطعه | DHT11 |
| ولتاژ منطق/ورودی و خروجی | ۳.۳ ولت |
| ولتاژ تأمین | ۵ ولت |
| جریان خروجی (به ازای هر کانال) | ۲۰ میلیآمپر |
| جریان اوج (به ازای هر کانال) | ۵۰ میلی آمپر |
| راهنمایی فرکانس PWM | N/A |
| آستانههای منطق ورودی | 0.3 ولت (کم)، 0.7 ولت (زیاد) |
| افت ولتاژ / Rفعالیت DS/ اشباع | N/A |
| محدودیتهای حرارتی | ۰ درجه سانتیگراد تا ۵۰ درجه سانتیگراد |
| بسته | دپ |
| یادداشتها / انواع | مناسب با DHT22 |
- اطمینان حاصل کنید که سطوح ولتاژ مناسب برای هر بخش وجود دارد (۵ ولت برای درایور موتور، ۳.۳ ولت برای حسگرها).
- برای دکمههای فشار از مقاومتهای کششی استفاده کنید تا ورودیهای معلق جلوگیری شود.
- سیمکشی را مرتب نگهدارید تا از سردرگمی و احتمال اتصالات کوتاه جلوگیری کنید.
- پیش از روشن کردن مدار اتصالات را بررسی کنید تا از آسیب جلوگیری شود.
- وایرینگ DHT11 را بررسی کنید زیرا به اتصالات نادرست حساس است.
دستورالعملهای سیمکشی

برای سیمکشی اجزا، ابتدا خطهای تامین و زمین را وصل کنید. ESP32 باید با یک باتری لیتیومی تغذیه شود، اتصال پایانه مثبت به خط VCC و زمین به خط GND روی برد بورد. پایه داده حساس(حس کننده) DHT11 بهPIN 13در حالی که VCC آن به خط 3.3V و GND به زمین متصل میشود. حساس(حس کننده) رطوبت خاک به طور مشابه متصل میشود: پایه سیگنال آن بهPIN 14, VCC به 3.3 ولت و GND به زمین.
برای LDR، یک پایه را به خط 3.3V متصل کنید و دیگری را بهPIN 35با یک مقاومت 10k اهم که از LDR به زمین متصل است. نمایشگر LCD به خط 5V برای تامین توان متصل میشود و ازSDAوSCLپایههای متصل بهPIN 21وPIN 22، به ترتیب. نهایتاً، دکمه فشاری را به اتصال دهیدPIN 32با اتصال مقاومت کششی به زمین، اطمینان حاصل میشود که در حالت عدم فشار، خوانش پایین و در حالت فشار، خوانش بالا باشد.
مثالهای شِفر (کود) و راهنمایی
محتوای اصلی برنامه ما با تعریف پایهها برای هر جزء آغاز میشود. به عنوان مثال،DHTPINتخصیص داده شده بهPIN 13برای حساس(حس کننده) DHT11، در حالی کهMOIS_PINتنظیم شده استPIN 14برای حساس(حس کننده) رطوبت. این سازمان به پیگیری اینکه کدام حساس(حس کننده) به کدام پایه متصل است کمک میکند.
#define DHTPIN 13 // Set the pin connected to the DHT11 data pin
#define MOIS_PIN 14 // Soil moisture module
#define LIGHT_PIN 35 // Photoresistor
بعد، سن حساس(حس کننده) DHT و نمایشگر LCD را داخل راهاندازی کنیم.setup()این ضروری است زیرا این مولفهها را برای عملکرد آماده میکند. اطمینان حاصل کنید که صدا بزنیدdht.begin()برای حساس(حس کننده) DHT ضروری است که شروع به خواندن مقادیر به درستی کند.
void setup() {
Serial.begin(115200);
dht.begin(); // Initialize the DHT11
lcd.init(); // Initialize the LCD
lcd.backlight();
}
درloop()در این تابع، به طور مداوم دما و رطوبت را خوانده و آنها را بر روی LCD نمایش میدهیم. اگر دکمه فشرده شود، موتور برای آبیاری گیاهان فعال میشود. این منطق از خواندن دیجیتال پایه دکمه برای تعیین اینکه آیا موتور روشن یا خاموش شود، استفاده میکند.
void loop() {
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (digitalRead(BUTTON) == HIGH) {
digitalWrite(motor1A, HIGH); // Turn on water pump
} else {
digitalWrite(motor1A, LOW); // Turn off water pump
}
delay(2000);
}
این ساختار شِفر (کود) اجازه میدهد تا جریان واضحی از دادهها و کنترل وجود داشته باشد و اطمینان حاصل شود که مانیتور کارخانه بهخوبی کار میکند. برای جزئیات بیشتر، شِفر (کود) کامل در پایین مقاله بارگذاری میشود.
نمایشگاه / چه انتظاری داشته باشیم
پس از اتمام تنظیمات و بارگذاری شِفر (کود)، نمایشگر LCD باید بهطور متناوب دما و رطوبت را همراه با سطح رطوبت و نور نشان دهد. زمانی که دکمه فشاری فشار داده میشود، پمپ آب باید روشن شود و آب را به گیاه برساند. اطمینان حاصل کنید که تمام اتصالات محکم هستند تا از بروز مشکلاتی مانند ورودیهای شناور یا خوانشهای نادرست جلوگیری شود (در ویدئو در 05:30).
نظارت بر مقادیر نمایش داده شده بر روی LCD و نمایشگر مسلسل به تضمین عملکرد صحیح سیستم کمک خواهد کرد. اگر با مشکلاتی مواجه شدید، دوباره کابلکشی را بررسی کنید و اطمینان حاصل کنید که تمامی اجزا به درستی تغذیه میشوند.
زمانبندی ویدیو
- ۰۰:۰۰ شروع
- ۲:۲۳ معرفی پروژه
- صفحه مستندات ۴:۰۲
- ۷:۴۳ ۱-L293D درایور موتور پمپ
- ۱۴:۳۰ ۲-دکمه را برای پمپ فشار دهید
- 16:35 حساس(حس کننده) دما و رطوبت 3-DHT11
- 19:26 حساس(حس کننده) رطوبت 4-slild
- ۲۱:۴۳ حساس(حس کننده) ۵ تایی
- 24:47 6-حساس(حس کننده) رطوبت خاک
- شِفر (کود) کامل مانیتور گیاه آردوینو ۲۶:۰۱
- ۲۹:۲۱ نمایش
Common Course Links
Common Course Files
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازونخرید LCD1602-I2C از اَمه زونamzn.to
-
ایبیخرید LCD1602-I2C از eBayebay.us
-
علیاکسپرسخرید ۱۰ عدد LCD1602-I2C از علیاکسپرسs.click.aliexpress.com
منابع و مراجع
-
مستنداتآموزش ESP32 35/55- صفحه سند SunFounder مانیتور گیاهdocs.sunfounder.com
فایلها📁
فایل فریزینگ
-
حساس(حس کننده) رطوبت و دما DHT11 (۳ پایه)
DHT11 Humitidy and Temperature Sensor (3 pins).fzpz0.20 MB -
ماجیول LCD LCD1602-I2C با ۴ سیم
LCD1602-I2C.fzpz0.01 MB