در این پست از سایت اِمیک, ماژول سنسور رطوبت سنج خاک و زمین YL-69 را با استفاده از برد اردوینو یونو (UNO) راه اندازی خواهیم کرد. قبلا ماژول رطوبت سنج خاک و زمین YL-69 را با استفاده از میکروکنترلر AVR راه اندازی کرده بودیم که در ان پست بطور کامل در مورد این ماژول و نحوه راه اندازی ان توضیح داده شد که می توانید ان پست را در اینجا مطالعه کنید.
با استفاده از این ماژول به راحتی می توانید یک سیستم ابیاری هوشمند برای گلخانه ها, زمین های کشاورزی, گلدان های اپارتمانی و یا… بسازید. در ادامه تصویری از این ماژول را مشاهده می کنید:
این ماژول دارای چهار پایه بصورت زیر می باشد:
پایه 1: اتصال به VCC (مثبت تغذیه)
پایه 2: اتصال به GND (منفی تغذیه)
پایه 3: خروجی دیجیتال ماژول (D0)
پایه 4: خروجی انالوگ ماژول (A0)
میزان حساسیت این ماژول را می توان با استفاده از پتانسیومتر روی ماژول تنظیم کرد. ماژول رطوبت سنج خاک و زمین YL-69 دارای دو خروجی می باشد که یکی از خروجی ها دیجیتال و دیگری انالوگ است و با توجه به نیاز می توان از خروجی دیجیتال یا انالوگ یا هر دو استفاده کرد. زمانی که ماژول نمی تواند میزان معینی از رطوبت را در خاک تشخیص دهد، خروجی دیجیتال DO ماژول مقدار یک منطقی و در غیر این صورت مقدار ان صفر می باشد.
برای اندازه گیری رطوبت خاک توسط خروجی انالوگ ماژول باید به وسیله ADC (مبدل انالوگ به دیجیتال) در اردوینو, مقدار ولتاژ پایه انالوگ A0 ماژول را اندازه گیری کنیم که این ولتاژ متناسب با مقدار رطوبت خاک می باشد.
پروژه آردوینو راه اندازی ماژول رطوبت سنج خاک و زمین YL-69 :
در این پروژه ما از برد اردوینو UNO به همراه ماژول رطوبت سنج خاک و زمین YL-69 و یک LCD کاراکتری 2*16 برای نمایش مقدار رطوبت خاک (به درصد) استفاده کرده ایم. در ادامه در مورد عملکرد این پروژه بیشتر توضیح داده می شود.
در این پروژه از هر دو خروجی انالوگ و دیجیتال ماژول استفاده شده است. عملکرد این پروژه به این صورت است که با فرو کردن سنسور ماژول درون خاک, رطوبت ان خاک به درصد روی یک LCD کاراکتری نمایش داده می شود و همچنین در صورتی که رطوبت خاک از مقدار مشخص شده توسط ما (این مقدار توسط پتانسیومتر روی ماژول تنظیم می شود) کمتر شد یک بازر هشدار دهنده متصل به خروجی دیجیتال ماژول فعال می شود.
در انتهای مطلب می توانید کلیپ تست عملی پروژه را مشاهده کنید. در ادامه شماتیک این پروژه را مشاهده می کنید:
برای دیدن تصویر بالا در اندازه بزرگتر ان را ذخیره کنید. همانطور که مشاهده می کنید علاوه بر قطعات گفته شده در بالا از یک پتانسیومتر (RV1) برای تنظیم کنتراست (روشنایی) ال سی دی کاراکتری استفاده شده است. ترانزیستور (Q1) و مقاومت (R1) به منظور درایور کردن یا راه اندازی بازر استفاده شده اند. بازر استفاده شده از نوع 5 ولت می باشد.
پایه خروجی انالوگ ماژول (پایه A0) به پین A0 از برد اردوینو متصل شده است و خروجی دیجیتال ماژول (پایه D0) نیز از طریق مقاومت R1 و ترانزیستور Q1 به بازر متصل شده است.
برنامه اردوینو :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
//////// WWW.EMIC.IR //////// #include <LiquidCrystal.h> // lcd معرفي کتابخانه // //متصل شود LCD تابع زیر مشخص می کند که کدام پین های اردوینو به// LiquidCrystal lcd(13, 12, 11, 10, 9, 8, 7); void setup() { //اردوینو مشخص میکند ADC دستور زیر مقدار ولتاژ مبنا یا رفرنس را برای کار با واحد// analogReference(DEFAULT); pinMode(A0, INPUT); //اردوینو A0 ورودی کردن پین// lcd.begin(16, 2); // LCD پيکره بندي // } void loop() { float i ; //خوانده شده از پین اردوینو در ان adc برای ریختن مقادیر i تعریف متغیر// int YL69 ; i = analogRead(A0); //(عددی بین 0 تا 1023) i در متغیر adc ریختن مقادیر// YL69 = 100 - (i * 100) / 1023 ; // دستور روبرو عدد خوانده شده بين 0 تا 1023 را در بازه ي 0 تا 100 تبديل مي کند // lcd.clear(); // LCD پاک کردن // lcd.print("SM amount= "); //روی ال سی دی SM amount نوشتن عبارت// lcd.print(YL69); //نمايش مقدار رطوبت خاک (به درصد) که در بالا بدست اورده بودیم روی ال سی دی کاراکتری// lcd.print("%"); //نوشتن علامت % روی ال سی دی// lcd.setCursor(2, 1); // رفتن به ستون 2 و سطر 1 // lcd.print("WWW.EMIC.IR"); // LCD روي WWW.EMIC.IR نوشتن // delay(500); // ايجاد تاخير به مدت نیم ثانيه // } |
توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید.
نکات :
- برای تست پروژه حتما برد اردوینو را با اداپتور راه اندازی کنید (جریان دهی برد اردوینو در حالتی که با کابل usb متصل به کامپیوتر راه اندازی می شود بسیار کم است و جوابگوی برخی پروژه ها نیست)
- برای اشنایی با دستورات مربوط به LCD کاراکتری اینجا کلیک کنید
- برای اشنایی با دستورات و نحوه راه اندازی ADC در آردوینو اینجا کلیک کنید
- برای اشنایی با دستورات مهم برنامه نویسی اردوینو اینجا کلیک کنید
- برای اشنایی با نحوه پروگرام کردن برد اردوینو (ریختن برنامه روی برد) اینجا کلیک کنید
کلیپ تست عملی پروژه :
پسورد فایل زیپ : www.emic.ir
پروژه های مشابه:
نظر یادتون نره…
سلام خسته نباشید در قسمت کدی که نوشتید اون دیلی اخری به چه منظوری هست؟
سلام, برای جلوگیری از چشمک زدن متن روی LCD کاراکتری و تغییر سریع مقادیر می باشد.
سلام خسته نباشید من میخاستم رطوبت خاک رو هر ۴ ساعت اندازه گیری کنم و در رم اس دی ذخیره کنم میشه واسه برنامش راهنمایی کنید.
سلام مهندس خسته نباشید و تشکر از مطالب عالی و اموزشتون.
مهندس تخصص من این کار نیست فقط خواستم برای گلدون های حساسی که دارم یه رطوبت سنج راه بندازم و با خوندن مطالب سایتتون تحریک شدم دست به کار بشم فقط مهندس ممنون میشم اگه یه کمک بدین ،من از شیلد LCD مدل دکمه ای خرید کردم الان مجموعه رو سوار کردم فقط تو قسمت برنامه موندم .البته تو قسمت serial monitor با نگه داشتن یه کلید مقدار درصد رطوبت درست نمایش داده میشه داخل محیط برنامه ولی روی ال سی دی هیچ کارکتری نمایش داده نمیشه
متشکر
سلام .خیلی خیلی ببخشید . من می خوام به نسبت میزان رطوبت،سون سگنمت اعداد مختلفی رو نشون بده. می شه راهنمایی کنید که باید اتصالات مدار چجوری باشه و باید چه کدی بنویسیم ؟؟ خیلی ممنون
سلام, اگر می خواهید از سون سگمنت به جای lcd کاراکتری استفاده کنید, پست مربوط به راه اندازی سون سگمنت را مطالعه کنید و کدهای پروژه را برای نمایش روی سون سگمنت تغییر دهید
سلام، ممنون میشم به سوال من پاسخ بدین. طول سیم این ماژول تا چند متر میشه افزایش داد؟ بدون اینکه در اطلاعات ارسالی برای آردوینو ایجاد خطا و اختلال کنه؟ افت سیگنال پیدا میکنه آیا؟ راهی هست که بشه طول سیم به دلخواه انتخاب بشه؟
سلام, متاسفانه در این مورد اطلاعی ندارم
سلام چطور می تونم به ماژول رله وصلش کنم
سلام, ماژول رله را می تونید بطور مستقیم به پایه خروجی دیجیتال ماژول رطوبت سنج خاک یعنی پایه D0 متصل کنید
سلام ببخشید من برای شبیه سازی در پروتئوس لابرری YL-96 رو ندارن از کجا می تونم تهیه کنم؟
سلام, نمیشه شبیه سازی کرد باید بصورت عملی ببندید. در شماتیک بالا هم من فقط برای نمایش نحوه اتصالات شکل ماژول را طراحی کردم و قابل شبیه سازی نیست
سلام خسته نباشید.
من میخوام یه سنسور DHT11 هم برای سنجش دما و رطوبت محیط اطراف گیاه به این سورس کد ها اضافه کنم.و سر ال سی دی کارکتری بعد از کمی delay نمایش بدم و باز رطوبت خاک نمایش داده شه. اگه میشه کمکم کنید برای اضاف کردن دستورات DHT11 و اجرا اون روی ال سی دی.ممنون میشم
سلام, راه اندازی سنسور DHT11 را قصد دارم بزودی انجام بدم و در سایت بذارم و هنوز در موردش مطالعه ای نداشتم ولی تا اونجایی که من میدونم خروجی سنسور DHT11 دیجیتال هست و میشه به هر کدوم از پایه های اردوینو متصل کرد و خروجی ماژول رطوبت سنج خاک هم که انالوگه پس مشکلی برای راه اندازی هر دو باهم وجود نداره, در اینده حتما این پروژه را قرار خواهم داد