پروژه راه اندازی سنسور YL-69 – رطوبت سنج خاک و زمین با آردوینو
آموزش راه اندازی سنسور YL-69
سنسور YL-69 یک ماژول برای اندازه گیری میزان رطوبت و یا آب موجود در خاک به حساب میاد. نسبت به خلاقیتی که هر مهندس داره میشه با این سنسور کارهای زیادی مثل ایجاد یک سیستم هوشمند گلخانه یا سیستم آبیاری خودکار برای زمین های کشاورزی یا رطوبت سنج گلدان انجام داد.
خروجی این سنسور هم آنالوگ هستش و هم دیجیتال.
در خروجی آنالوگ زمانی که میزان رطوبت خاک بالا باشه مقدار خروجی اون کاهش پیدا میکنه و اگررطوبت پایین باشه در خروجی خودش مقدار بیشتری رو نشون میده.
در این مطلب قراره 2 تا پروژه رو راه اندازی میکنیم. پس با ما باشید 😀
مشخصات سنسور YL-69 :
حساسیت قابل تنظیم از طریق پتانسیومتر روی مبدل
ولتاژ مورد نیاز 3.3 تا 5V
دارای خروجی دیجیتال و آنالوگ
طراحی فیزکی مناسب
LED پاور ( قرمز ) و سویچینگ خروجی دیجیتال ( سبز)
دارای آی سی مقایسه گر LM393
VCC: پایه تغذیه 3.3 تا 5 ولتی
GND: زمین یا GND
DO: خروجی دیجتال که 2 حالت داره خروجیش : 0 یا یک
AO: خروجی آنالوگ
حالا خروجی دیجیتال به چه دردی میخوره ؟ خروجی دیجیتال وقتی یک میزان معینی رطوبت رو احساس کنه تغییر وضعیت میده ومقدار یک رو در خروجی نشون میده که میشه اون رو به بازر یا یک LED وصل کرد و یا با اتصال رله به آردوینو شیر یا پمپ قطعی رو خاموش/روشن کنیم. یا در زمانی که صفر میشه به بازر یا بلندگو وصلش کرد تا آلارم بده و … .
اما برای تعیین مقدار رطوبت باید از خروجی A0 استفاده کنیم و اون رو به ورودی آنالوگ آردوینو وصل کنیم.
پروژه راه اندازی سنسور YL-69
در پروژه اول نحوه اتصال پایه های ماژول رطوبت سنج به برد آردوینو به شکل زیره :
در این پروژه ما یک مقدار آستانه برای پروژمون تعیین میکنیم به اسم threshold که هرموقع مقدار خروجی سنسور به اون میزان رسید led سبز روشن میشه و led قرمز خاموش (یعنی رطوبت کم شده) و هر موقع زیر مقدار تعیین شده رسید led ها برعکس حالت قبل روشن و خاموش میشن. همچنین مقدار خروجی رو از طریق پورت سریال هم میتونین مشاهده کنین.
میشه بجای led از رله استفاده کرد و یک موتور / پمپ یا هر وسیله ی دیگه ای رو روشن و خاموش کرد.
VCC
GND
پایه دیجیتال
پایه آنالوگ
5Volt
GND
D0
A0
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 27 28 29 30 |
//http://levinic.ir int greenLED = 6; int redLED = 7; int thresholdValue = 700;// mitunin meghar oon ro be delkhah taghir bedin void setup(){ pinMode(rainPin, INPUT); pinMode(greenLED, OUTPUT); pinMode(redLED, OUTPUT); digitalWrite(greenLED, LOW); digitalWrite(redLED, LOW); Serial.begin(9600); } void loop() { // meghdar analog sensor ro mikhunim int sensorValue = analogRead(rainPin); Serial.print(sensorValue); if(sensorValue < thresholdValue){ Serial.println(" - Doesn't need watering"); digitalWrite(redLED, LOW); digitalWrite(greenLED, HIGH); } else { Serial.println(" - Time to water your plant"); digitalWrite(redLED, HIGH); digitalWrite(greenLED, LOW); } delay(500); } |
پروژه دوم :
در این پروژه قراره بجز کار با سنسور YL-69 مقدار رطوبت رو بر روی LCD هم نمایش بدیم :
چون فرض رو بر این میگیریم که بجز نمایش دادن قراره در پروژه ساخت قطعات دیگه ای مثل رله و و بازر و … به آردوینو وصل بشه از lcd با ارتباط I2C استفاده میکنیم تا کمترین میزان استفاده از پایه هارو انجام بدیم و و هر 2 مازول رو با 3 سیم راه اندازی میکنیم 😎
شماتیک پروژه آموزش ساخت رطوبت سنج
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#include <LiquidCrystal_I2C.h> #include <Wire.h> LiquidCrystal_I2C lcd(0x3F, 16, 2); int humidity=0; int Analog=0; void setup() { lcd.backlight(); } void loop() { char buffer[10]; Analog = analogRead(A0); humidity = map(Analog, 0, 1023, 100, 0); lcd.setCursor(0, 0); lcd.print("humidity Sensor!"); lcd.setCursor(1, 0); lcd.print("humidity="); sprintf(buffer,"%03d",humidity); lcd.print(buffer); lcd.print("%"); delay(250); } |
توی این کد هم از راه اندازی lcd با i2c و هم از تابع map استفاده شده که نحوه کار این تابع رو در مطلب توابع ریاضی در آردوینو توضیح دادم.
با 2 پروژه ، مطلب راه اندازی سنسور YL-69 هم به پایان ، امیدوارم استفاده کافی رو ازش ببرین ، در پناه حق 🙂
سلام ببخشید این حسگر چجوری به صورتدیجیتال کار میکند؟
سلام ببخشید شما اموزشای دیگه ای هم در زمینه ی اردوینو دارید؟
سلام، چه آموزشی مثلا؟ اگر منظورت پک آموزشیه باید بگم خیر. فقط مطالب داخل سایت.
آقا دمتون گرم عاااالی بود
خواهش میکنم 🙂 🌹
اقای مودت کتابخونه liquidcrystal l2c.h رو چطور اضافه کنم
سلام، باید اون رو دانلود کنین و در پوشه ی libraries (که درمحل نصب نرم افزار وجود داره) بریزین.
سلام ، منظورت خط یک و 10 بود ؟
کتابخونه ی LiquidCrystal_I2C.h رو برای ارتباط i2c با lcd اضافه کردی؟
forum.arduino.ir
تاپیک بزن ، متن ارور هارو یا تصویرشون رو اضافه کن تا بشه دقیق فهمید مشکل کجاست! من الان متن ارور رو ندارم نمیتونم راهنماییت کنم.پس چرا کدها موقع کامپلت ارور میده😕
سلام
مطلب رو کامل بخونین و ارور رو چک کنین .کد ها تست شده و مشکلی نداره
من همین پروژه آبیاری هوشمند البته با السیدی رو میخوام انجام بدم. یعنی فقط کدهای دومی رو کپی کنم تو برنامه و پروگرمش کنم
توی پروژه دوم فقط مقدار رطوبت روی lcd نمایش داده میشه / توی توضیحات پروژه اول گفتم که میتونین به جای led رله یا هر وسیله ی دیگه ای رو کنترل کنین.برای خواسته شما کافیه بجای استفاده از پورت سریال در کد اولل ، کد های lcd رو جایگرین کنین.
موفق باشید
ببخشید استاد کد های بالا همون کدای آماده آردوینو است یا باید تغیری ایجاد بشه.منظورم اینه با پروگرم کردنشون نیازی به کد نویسی دیگری نیست
سلام من استاد نیسم!
باید ببینین دنبال انجام چه کاری هستین!
این مطلب ۲ تا پروژه داره که هرکدوم کاری متفاوت انجام میدن ! اگر هدف شما همون چیزیه که توی عنوان هر کد توضیح دادم اره هیچ تغییری نیاز نیست