در این پست از سایت امیک, ماژول سنسور رطوبت HR202 را با استفاده از میکروکنترلر AVR راه اندازی خواهیم کرد. این پروژه بسیار ساده و کاربردی می باشد و می تواند به عنوان بخشی از یک پروژه بزرگتر نیز کاربرد داشته باشد.
اشنایی با ماژول سنسور رطوبت HR202 :
این ماژول مبتنی بر سنسور روطوبت مقاومتی HR202 می باشد و به صورتی طراحی شده است که دارای خروجی صفر یا یک (خروجی دیجیتال) می باشد. طرز کار این ماژول به این گونه است که شما رطوبت محیط را با استفاده از پتانسیومتر موجود بر روی ماژول, برای یک سطح خاص تنظیم کرده و در صورتی که رطوبت محیط از آن سطح بیشتر شود پایه خروجی آن یک می شود. مصرف این ماژول در محیط های گلخانه ای، صنعتی و آزمایشگاهی می باشد.
به عنوان مثال در گلخانه می توانید خروجی این ماژول را توسط ترانزیستور به رله متصل نموده و در صورتی که میزان رطوبت از سطح خاصی بیشتر شد چند هواکش بصورت خودکار باز شده و رطوبت اضافی خارج گردد. در زیر تصویر این ماژول را مشاهده می کنید:
همانطور که در تصویر بالا مشاهده می کنید این ماژول دارای 3 پین است که دوتای ان برای تغذیه ماژول است و با نام های VCC (اتصال به مثبت تغذیه) و GND (اتصال به منفی تغذیه) مشخص شده و پایه سوم خروجی ماژول می باشد که با D0 مشخص شده و به صورت دیجیتال است. ولتاژ کاری این ماژول 3.3 ولت تا 5 ولت می باشد.
کاربردهای ماژول :
- سیستم ها ی تهویه مطبوع
- سیستم ها تنظیم رطوبت
- هواشناسی
- تجهیزات آزمایشگاهی
- کنترل و اتوماسیون
- و…
پروژه راه اندازی ماژول سنسور رطوبت HR202 با میکروکنترلر AVR :
در ادامه شماتیک این پروژه را مشاهده می کنید, ما در این پروژه از میکروکنترلر ATmega16 و همچنین یک ال سی دی کاراکتری 2*16 برای نمایش متن استفاده کرده ایم
اتصال ماژول رطوبت HR202 به میکروکنترلر بسیار ساده می باشد. با توجه به اینکه خروجی این ماژول به صورت دیجیتال است، لذا تنها کاری که لازم است انجام دهیم این است که همواره چک کنیم پین خروجی ماژول در چه حالتی قرار دارد. در ادامه شماتیک این پروژه را مشاهده می کنید:
عملکرد این پروژه به این صورت می باشد که میکروکنترلر همواره خروجی ماژول را چک کرده و در صورتی که رطوبت محیط از حدی که ما با تنظیم پتانسیومتر روی ماژول مشخص کرده ایم بیشتر شد یک LED متصل به پین 14 میکروکنترلر را روشن می کند و همچنین روی LCD کاراکتری عبارت “Humidity is high” را نمایش می دهد.
در صورتی که رطوبت محیط از حد مشخص شده توسط ما کمتر بود, در این حالت LED خاموش و روی 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 28 29 30 31 32 33 |
////////// WWW.EMIC.IR ////////// #include <mega16a.h> #include <alcd.h> #include <delay.h> void main(void) { int HR202 ; //int از نوع HR202 تعريف متغير با نام// DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); DDRC=(1<<DDC7) | (1<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0); PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0); DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (1<<DDD0); PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0); lcd_init(16); while (1) { HR202=PINA.0; //قرار داده ايم A را برابر پين 0 از پورت HR202 متغير// PORTD.0=HR202; //قرار داده ايم HR202 را برابر متغير D پين 0 از پورت// lcd_clear(); // پاک کردن ال سي دي کاراکتري // lcd_gotoxy(0,0); //رفتن به سطر و ستون 0 از ال سي دي کاراکتري// if(HR202==1) //(ميشود if ميشود(يا به عبارت ديگر در صورتي که ميزان رطوبت از مقداري که مشخص کرده ايم بيشتر شد برنامه وارد if برابر 1 منطقي شد وارد شرط HR202 در صورتي که متغير// { lcd_putsf("Humidity is high"); //روي ال سي دي Humidity is high نوشتن عبارت// }else { lcd_putsf("Humidity is ok"); } //را روي ال سي دي نمايش مي دهد Humidity is ok برابر 1 نبود متن HR202 در صورتي که متغير// delay_ms(300); // ايجاد تاخير به مدت 300 ميلي ثانيه // } } |
توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید.
کلیپ تست عملی پروژه :
پسورد فایل زیپ : www.emic.ir
نظر یادتون نره…
سلام میشه بگید چطور مقدار ازش بگیریم؟اینکه هیچی نداره فقط میگه خوبه یا بالاست
سلام وقت بخیر . من ماژول ندارم و در حال حاضر از سنسور HR202 استفاده میکنم ، چطور میتونم مقدار اندازه گیری شده را کالیبره کنم ؟
سلام, کافیه اسم سنسور HR202 را در گوگل سرچ کنید. مدار راه اندازیش میاد, البته خوب کار با ماژول اون خیلی راحت تره
سلام فایل کتابخانه این سنسور را دارید و یا راهنمای برای راه اندازی سنسور hr202l
سلام, این سنسور نیاز به کتابخانه ندارد و راه اندازی ان بسیار ساده است در بالا راه اندازی ماژول hr202 را مشاهده می کنید. در صورتی که شما می خواهید سنسور ان را راه اندازی کنید کافی است که یکی از پایه های سنسور را توسط یک مقاومت 10k به vcc متصل کنید و پایه دیگر سنسور را به زمین متصل کنید. حالا اون پایه ای که به مقاومت وصله را با یک سیم به یکی از پایه های adc میکرو متصل کنید و اندازه گیری کنید.