آردوینو آردوینو Arduino Uno آموزش آردوینو خانه هوشمند پروژه های آردوینو

راه اندازی سنسور رطوبت خاک Moisture sensor با آردوینو

soil moisture - Digispark
نوشته شده توسط شهاب کمالی

هوشمند سازی روز به روز در حال پیشرفت و ساده تر شدن است. با استفاده از ماژول رطوبت خاک می‌توانید گلخانه هوشمند و یا سیستم آبیاری هوشمند را پیاده سازی کنید. این ماژول دارای یک سنسور الکترود مانند و یک برد مبدل اطلاعات می‌باشد. رطوبت خاک گلدان‌ها را به راحتی اندازه گیری کنید. در این پست آموزشی قصد داریم نحوه اتصال ماٰژول Soil Moisture به آردوینو را آموزش دهیم در ادامه  آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.


سنسور رطوبت خاک Soilmoisture


سنسور رطوبت خاک دارای رابط آنالوگ Analog است و با استفاده از پایه های آنالوگ Analog میکروکنترلرها راه اندازی شده و میتوانیم دیتا را در هر لحظه بر اساس تغییرات ولتاژ بخوانیم. ولتاژ کاری سنسور بین ۳٫۳ تا ۵ ولت DC است. با استفاده از ماژول تشخیص رطوبت خاک یا Soil Moisture به همراه تجهیزات جانبی دیگر از جمله آردوینو و یک شیر برقی، می‌توانید سیستم آبیاری اتوماتیک بسازید. در این سیستم دقت آبیاری بسیار زیاد است، چرا که توسط سنسور رطوبت خاک که در نزدیکی ریشه گیاه قرار دارد، دقیقا در زمانی که گیاه به آب نیاز دارد، عملیات آبیاری توسط مدار انجام می‌شود. همچنن می‌توانید برای مواقعی که به سفر می‌روید از این سیستم برای نگهداری گیاهان منزل استفاده کنید. سنسور تشخیص رطوبت خاک، با استفاده از تنظیمات اولیه میزان رطوبت را از طریق اختلاف ولتاژ بین الکترودها می‌سنجد و به مدار آردوینو اطلاعات رطوبت خاک را ارسال می‌کند. سپس مدار آردوینو به شیر برقی فرمان می‌دهد و گیاه آبیاری می‌شود. این سنسور از دو بخش تشکیل شده است. برند راه انداز دارای یک مولتی ترن است که با چرخاندن مولتی ترین در جهت ساعتگرد حساسیت افزایش و در خلاف جهت حساسیت کاهش پیدا می‌کند. با قرار گرفتن سنسور در یک نمونه خاک، مقادیر سنسور از ۰ تا ۱۰۲۴ تغییر کرده و بر روی سریال مانیتور مقادیر خوانده شده از سنسور نمایش داده می‌شود. به همین ترتیب میتوانید دیتای مورد نظر را یادداشت کرده و در کد اصلی برنامه جایگزین کنید.

 

 

اتصالات

  • پایه GND ماژول رطوبت به GND آردوینو اتصال دهید.
  • پایه VCC  ماژول رطوبت به ۵V آردوینو اتصال دهید.
  • پایه AO ماژول رطوبت به پورت A0 آردوینو اتصال دهید.
  •  پایه VCC رله به به ۵V آردوینو اتصال دهید.
  •  پایه GND رله به GND آردوینو اتصال دهید.
  •  پایه سیگنال رله را به پورت ۱۳ آردوینو اتصال دهید.

 

moist-to-arduino

 

 


استفاده از رله Relay


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

  • پایه COM: پایه مشترک Common است.
  • پایه NC به معنای نرمالی کلوز یا همان پیش فرض بسته است و زمانی استفاده می‌شود که بخواهید رله به صورت پیش فرض بسته باشد. به این صورت که جریان در مدار وجود دارد و در صورت ارسال سیگنال از آردوینو مدار باز شده و جریان را متوقف می‌کند.
  • پایه NO به معنای نرمالی اوپن یا همان پیش فرض باز است و به این معنی که رله همیشه باز است و مدار باز بوده و پس از ارسال سیگنال از آردوینو مدار بسته خواهد شد.

در صورت نیاز به اتصال پمپ به رله همانند زیر اجرا کنید.

 


اتصال پمپ به رله


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

  1.  پمپ دارای دو سیم است. یکی از سیم‌ها را به دلخواه به یکی از پایه‌های تعذیه اتصال دهید.
  2. سیم دیگر پمپ Pump را به پایه COM رله اتصال دهید.
  3. پایه NO رله را به پایه دیگر تغذیه اتصال دهید.

 


کد آردوینو رطوبت خاک


جهت دسترسی به این بخش، اشتراک اسپارکر پلاس تهیه کنید.

 


تحلیل کد آردوینو


در این قسمت مقدار را از پورت آنالوگ میخوانیم و چاپ می‌کنیم:

در این قسمت بر اساس مقدار رطویت خروجی مناسب چاپ می‌شود:

در این قسمت اگر سطح رطوبت کم بود پورت ۱۳ را روشن میکنیم و رله برای مدتی روشن میشود که میتوان آن را به شیر برقی متصل کرد:

 

output.jpg

output

 

 


وسایل مورد نیاز


آردوینو Uno

ماژول رله ۵ ولت تک کاناله

ماژول رطوبت خاک Soil Moisture

کابل فلت

 

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

درباره نویسنده

شهاب کمالی

تبادل نظر و رفع عیب با ثبت دیدگاه

۶۰ دیدگاه

  • خیلى وسیله پر کاربردیه، البته من ویدیو را توى آپارات دیدم و گفتم حتما اینجا به صورت بسته آماده فروش میره

  • بله دوست عزیز پروژه بسیار جالب و کاربردی هستش ما برای آموزش از رله استفاده کردیم که شما بتونید به شیر های برقی و … متصل کنید و پروژه مورد نظرتون رو انجام بدید، موفق و موید باشید.

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

    • سلام بنده مهندس برق هستم و در حال حاضر مشغول به فعالیت در زمینه سیستم های آبیاری هوشمند و اتوماتیک از راه دور می باشم.
      خوشحال می شم کمکتون کنم

  • سلام میشه ماژول های ادرینو رو به رزبری پای وصل کرد همچنین با استفاده از برنامه هاش استفاده کرد؟
    به نظرم یکم نسبت به رزبری پای کم لطفی میکنین خیلی کم اموزش و پروژ هاش رو قرار میدین 😀 اگه ممکنه یه سایت خارجی در زمینه رزبری معرفی کنید ممنون

    • با سلام و درود
      بله کلیه ماژول‌ها را میتوانید در برد رزبری پای هم استفاده کنید. ولی بسته به نوع ماژول ممکن است نیاز به بردهای مبدل داشته باشید. این ماژول را بدون نیاز به برد واسطه میتوانید از طریق پین‌های gpio به برد رزبری پای وصل کنید.

      • سلام خدمت مهندس کمالی عزیز،ممنونم بابت آموزش این پروژه.
        من طبق همین مقاله تمام مراحل رو اجرا کردم اما در نهایت ال ای دی در خاک خشک و مرطوب واکنش یکسانی داره، میشه لطفا راهنمائی کنید،ممنون میشم

        • با سلام
          می‌بایست در ابتدا پارامترهای دریافتی از سنسور را در کدها تعریف کنید. تا مشخص کند که کدام پارامتر مربوط به رطوبت و کدام مربوط به خشکی است. در غیر این صورت با همین مشکل مواجه خواهید شد.

  • سلام اگه بخواهیم ۴ عدد سنسور رطوبت خاک یا بیشتر در این پروژه قرار دهیم باید چه چیزی به برنامه اضافه کنیم ممنون

    • با سلام
      ضمن تشکر از توجه شما، کار خاصى نیاز نیست انجام دهید، باید پایه هاى جدسد را در کدها تعریف کنید و مقدار دهى را مانند همین کدهاى تک سنسور انجام دهید.

  • شرمنده میشه بیشتر راهنمایی کنید بنده یک فرد مبتدی هستم و دلم می خواهد یاد بگیرم لطفا بیشتر راهنماییم کنید ممنون

    • سلام مجدد، ضمن تشکر از شما، سوال شما مربوط به کد نویسی است و بایستی اصول کد نویسی را بدانید. به عنوان مثال

      void loop(){
      delay(500);
      digitalWrite(13, LOW);
      int soil_moisture=analogRead(A0); // read from analog pin A3
      int soil_moisture=analogRead(A1); // read from analog pin A3
      int soil_moisture=analogRead(A2); // read from analog pin A3

  • ممنون بابت آموزش.
    آیا امکانش هست برای آردوینو و پمپ برقی (۹ولت) فقط از یک آداپتور استفاده کرد؟ با اتصال مستقیم؟
    حداقل آمپر درست در این صورت چگونه به دست بیاوریم؟ آیا استفاده از آمپرهای بالاتر در طولانی مدت باعث آسیب می شود؟

    • سلام
      بله اینکار امکان پذیر است، تنها توجه داشته باشید که فقط با برد های آردوینو uno , mega , leonardo که امکان اتصال به آداپتور را دارند میسر است. برای جریان هم برد آردوینو هرچقدر که جریان نیاز داشته باشد میکشد که این مقدار در حالت معمول کمتر از ۲ آمپر است.

      • ممنون از پاسختون
        اما سوال من اینجاست که پمپی که در دانشجو کیت فروخته می‌شه آمپر مصرفیش مشخص نشده! من برای کاربری ایمن حدودا چه آمپری برای منبع تغذیه باید در نظر بگیرم که هم پمپ و هم آردوینو مصرفشون پوشش داده بشه؟

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

          • سلام و عرض ادب انیدوارم حالتون خوب باشه
            سوالی داشتم درباره مازول های رطوبت خاک:
            خواستم بپرسم فرق ماژول خازنی و آنالوگ رطوبت خاک رو بپرسم!
            و اینکه بهترین ماژول رطوبت خاک که دقیق باشه و ضد آب باشه و اطلاعات سریعی و دقیقی بده کدام ماژول هستش!

            • با سلام
              در این خصوص بایستی دیتاشیت را بررسی کنید. سنسور رطوبت خاک خازنی از خاصیت دی الکترویک استفاده می‌کند که تحت تاثیر ظرفیت خازنی است. یک سنسور رطوبت خازنی با اندازه گیری تغییرات خازنی ناشی از تغییرات دی الکتریک عمل کرده و دیتا را ارسال می‌کند و انتخاب بهتری خواهد بود.

  • سلام
    ارزون ترین برد سری آردوینو که همچین کاری رو انجام بده (رطوبت سنج و پمپ و …) همین UNO هست؟

    • سلام
      بردهای آردوینو Arduino دارای مدل‌های مختلفی می‌باشند؛ بسته به کارایی‌های خاص در مدل‌های متفاوت با قیمت‌های متفاوتی ارائه شده است. بردهای سری UNO قیمت مناسبی داشته و شیلدهای مختلفی برای آن عرضه شده است که می‌توانید از آن‌ها در پروژه‌ها استفاده نمایید. برای این پروژه هم نیاز به پایه‌های آنالوگ دارید و باید از برد آردوینویی استفاده کنید که پایه های آنالوگ داشته باشند.

  • با سلام و عرض خسته نباشید می خواستم خدمت شما عرض کنم برنامه قرار گرفته بلعکسه یعنی زمانی که خاک مرطوبه رله باز میشه

    • با سلام
      ضمن تشکر از توجه شما، لطفا دقت داشته باشید که رله دو حالت دارد، در این صورت شما میتوانید از حالت رله Normally Open استفاده کنید که در این صورت قضیه برعکس می‌شود.

  • سلام
    یک سوال لطفا زود جواب دهید
    توی سورس کد ماژول رطوبت خاک
    اولین if نباید تو شرط کمتر از ۳۰۰ باشه؟؟؟؟؟

  • سلام
    توی این مدار علاوه بر ماژول رله و رطوبت و آردوینو از یه قطعه دیگه استفاده شده. اون چیه؟

    • با سلام و تشکر از شما
      قطعه‌ای که می‌فرمایید تراشه LM393 برای تبدیل پارامتر آنالوگ سنسور به مقادیر مورد نیاز میکرو است. این قطعه همراه ماژول رطوبت خاک ارایه می‌شود.

  • سلام و عرض ادب خدمت شما
    من میخواهم برای پروژه دانشگاهی یک گلدان هوشمند درست کنم که اطلاعاتی مانند رطوبت خاک دما و … رو به ربات تلگرام بفرسته و سپس یک سیستم ابیاری هم گلدان داشته باشه که با دستور توسط کاربر در ربات تلگرام سیستم ابیاری فعال بشه یا بصورت هوشمند در شرایطی به صورت خودکار سیستم ابیاری فعال بشه همچنین برای شکل و شمایل بهتر میخوام یکی دوتا ال ای دی بر روی گلدان قرار بدم
    از شما میخوام به من کمک کنید در ساخت این گلدان مراحلش رو بگید و اینکه چه بردی برای این کار خوبه node mcu یا …

  • با سلام
    رنج رطوبتی که این سنسور میتونه اندازه بگیره چقدره؟
    بعد من متوجه نشدم شما سه تا شرط گذاشتین تو اولی گفتین اگر رطوبت کمتر از ۳۰ هست این یعنی چی یعنی الان باید به گلدون آب بدیم؟
    ولی چرا شما تو شرط آخر رله رو فعال کردین؟

    • سلام
      دقت کنید پس از اینکه سطح رطوبت خاک به مقداری کمتر از ۳۰ رسید، پورت فعال خواهد شد و می‌توانید به خروجی رله یک شیر برقی اتصال دهید .

  • با سلام تشکر بابت انوزش های خوبتان
    مشکلی دارم اگر قصد داشتیم مقدار این پورت انالوگ را بر حسب در صد نمایش دهیم چگونه باید برنامه نوشت بدین طریق ایا می شود
    Int z=((analog*1024)*100)l;
    پیاده کرد یا خیر

    • سلام
      از توجه شما ممنونم.
      اگر منظور شما نمایش علامت % بعد از عدد می‌باشد، تنها باید نماد آن را در کد برنامه اضافه کنید. نیاز به دستور خاصی نیست.

  • سلام
    ایا این سنسور که توی پست آموزش داده شده سنسور yl-69 هست؟ با yl-100 تفاوت داره ؟
    کدای که اینجا نوشته شده برای هر دوتا عمل می کننه کار می کنه آیا ؟
    تفاوت این دوتا توی چیه ؟
    کدومشون بهتره؟
    خیلی ممنون از سایت بسیار عالیتون عشقین

  • سلام
    من طبق اتصلات گفته شده مدار رو مونتاژ کردم ولی سنسور دما و رطوبت گرم میکنه به طوری که دست ادم رو میسوزونه
    وارد لیوان اب هم کردم و بوی سوختگی احساس شد
    تو حالت معمولی هم وقتی جریان به مدار وصل میشه داغ میکنه

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

    • سلام
      کاربر گرامی کد سالم است. در خصوص رفع عیب ارور دریافتی را ارسال نمایید تا بررسی گردد.

  • سلام خوب هستین ببخشید میشه کد این برنامه نویسی رو برام کامل بفرستید
    این کدی که العان گذاشتید برنامه خطا میده
    اگر کد را کامل برام بفرستید ممنون میشم

    • با سلام
      کاربر گرامی کدها تست شده و سالم می‌باشد. ارور دریافتی را ارسال نمایید تا بررسی گردد.

    • سلام
      کاربر گرامی دقت داشته باشید، کدها در برنامه شرح داده شده است و فقط بایستی کد اصلی را کپی نمایید.
      بررسی و نتیجه را اعلام فرمایید.

  • سلام وقت بخیر من میخوام قطعات مورد نیاز این پروژه بخرم
    به غیر از سه تا سخت افزار اصلی کابل های اتصالی هم میخوام ولی اسماشونو نمیدونم که از سایت سفارش بدم.
    لطفا راهنماییم کنید من اون برد هم ندارم

  • سلام. خسته نباشید . میخواستم بدونم میشه با این کیت ۳ نوع سنسور رطوبت بهش وصل کرد که هر کدوم یه پمپ رو روشن کنه؟ یعنی برای هر سنسور یک پمپ تعریف کنم ولی همشون به یه کیت فقط وصل باشن و برای هر سنسور مقدار فعال سازیه متفاوت تعریف کنم؟ اگر میشه لطفا نحوه انجامش رو هم بفرمایید . ممنون

    • با سلام
      پمپ به رله متصل می‌شود. حال روش های مختلفی وجود دارد میتوانید توسط یک سنسور سه حالت مختلف برای فعال شدن هر رله تعریف کنید. یا سه سنسور را جداگانه متصل کرده و برای هر سنسور یک خروجی رله تعریف کنید.
      با فرمان به رله پمپ فعال خواهد شد.

      • نوع کد نویسیش چیجوری میشه اگر بخوایم سه حالت رو برای یک سنسور تعریف کنم که به ۳ رله وصل بشه ؟ بنده مبتدی هستم اگه میشه کامل توضیح بدین

        • با سلام
          امکان راهنمایی در خصوص کدنویسی نیست. دقیقا مشابه با همین آموزش است و بایستی برای هر سنسور رطوبت یک پایه آنالوگ در کدها تعریف کنید. هر رله هم به یک یه پایه دیجیتال آردوینو متصل می‌شود. پس باید جداگانه برای هر پایه رله pinout تعریف کنید. شرط نویسی با if else هم دقیقا مشابه همین آموزش است.