در این پست از سایت امیک, ماژول سنسور رطوبت HR202 را با استفاده از برد اردوینو UNO راه اندازی خواهیم کرد. این پروژه بسیار ساده و کاربردی می باشد و می تواند به عنوان بخشی از یک پروژه بزرگتر نیز کاربرد داشته باشد. قبلا این ماژول را با استفاده از میکروکنترلر AVR راه اندازی کرده بودیم که در ان پست بطور کامل در مورد ماژول HR202 و پایه های ان توضیح داده شد, این پست را می توانید در اینجا مشاهده کنید.

پروژه راه اندازی ماژول سنسور رطوبت HR202 با آردوینو :
در ادامه شماتیک این پروژه را مشاهده می کنید, ما در این پروژه از برد اردوینو یونو و همچنین یک LCD کاراکتری 2*16 برای نمایش متن استفاده کرده ایم

اتصال ماژول رطوبت HR202 به برد اردوینو بسیار ساده است. با توجه به اینکه خروجی این ماژول به صورت دیجیتال است، بنابراین تنها کاری که لازم است انجام دهیم این است که همواره بررسی کنیم پین خروجی ماژول در چه وضعیتی قرار دارد. در ادامه شماتیک این پروژه را مشاهده می کنید:

عملکرد این پروژه به این صورت است که برد اردوینو همواره خروجی ماژول را بررسی کرده و در صورتی که رطوبت محیط از حدی که ما با تنظیم پتانسیومتر روی ماژول مشخص کرده ایم بیشتر شد یک LED متصل به پین 0 از برد اردوینو UNO را روشن می کند و همچنین روی LCD کاراکتری عبارت “Humidity is high” را نمایش می دهد.
در صورتی که رطوبت محیط از حد مشخص شده توسط ما کمتر بود, در این حالت LED متصل به پین 0 اردوینو خاموش و روی LCD کاراکتری متن “Humidity is ok” نمایش داده می شود.
پتانسیومتر RV1 برای تنظیم کنتراست (درخشندگی) LCD کاراکتری می باشد, در صورتی که پتانسیومتر نداشتید می تونید پین 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 25 26 27 |
//////// WWW.EMIC.IR //////// #include <LiquidCrystal.h> /* lcd معرفي کتابخانه */ /*متصل شود LCD تابع زیر مشخص می کند که کدام پین های اردوینو به*/ LiquidCrystal lcd(13, 12, 11, 10, 9, 8, 7); void setup() { pinMode(A0, INPUT); /*اردوینو A0 ورودی کردن پین*/ pinMode(0, OUTPUT); /*خروجی کردن پین 0 اردوینو*/ lcd.begin(16, 2); /*(LCD بررسي اتصال) LCD پيکره بندي */ } void loop() { int HR202 ; /*int از نوع HR202 تعريف متغير با نام*/ HR202 = digitalRead(A0); /*اردوینو می کنیم A0 را برابر پین HR202 متغیر*/ digitalWrite(0, HR202); /*قرار داده ایم HR202 پین 0 از برد اردوینو را برابر با متغیر*/ lcd.clear(); /* LCD پاک کردن */ lcd.setCursor(0, 0); /* رفتن به ستون 0 و سطر 0 */ if (HR202 == 1) //(ميشود if ميشود(يا به عبارت ديگر در صورتي که ميزان رطوبت از مقداري که مشخص کرده ايم بيشتر شد برنامه وارد if برابر 1 منطقي شد وارد شرط HR202 در صورتي که متغير// { lcd.print("Humidity is high"); /*روی ال سی دی Humidity is high نوشتن عبارت*/ } else { lcd.print("Humidity is ok"); /*را روی ال سی دی نمایش می دهد Humidity is ok برابر 1 نبود متن HR202 در صورتی که متغیر*/ } delay(300); /*ايجاد تاخير به مدت 300 ميلي ثانيه */ } |
توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید.
کلیپ تست عملی پروژه :
پسورد فایل زیپ : www.emic.ir
نظر یادتون نره…




