vjhiآموزش راه اندازی سنسور رطوبت hih-4030 با استفاده از آردوینو
رطوبت عجیب غریب است اگر چه ما آن را تمام وقت تجربه میکنیم اما چزیزی نیست که معمولا آن را بتوان با هر دقتی حدس زد. احتمالا این به این خاطر است که وقتی ما راجع به رطوبت صحبت میکنیم ، در واقع داریم در مورد رطوبت نسبی حرف میزنیم . رطوبت نسبی به دما وابسته است ، بنابراین یک تغییر کوچگ در دما کافیست تا در رطوبت نسبی تغییر ایجاد شود. این موضوع ، حدس زدن مقدار رطوبت را بسیار دشوار میکند.خب خوشبختانه سنجش رطوبت نسبی توسط سنسور HIH-4030 بسیار ساده است. در ادامهی آموزش با مرجع تخصصی آردوینو ، دیجی اسپارک همراه باشید.
سخت افزار مورد نیاز:
سنسور اندازهگری رطوبت HIH-4030
ویژگیهای سنسور رطوبت hih-4030
- تغذیه ۴٫۵ الی ۸ ولت DC (در این پروژه از ۵ ولت DC استفاده شده است)
- خروجی آنالوگ تقریبا خطی
- جریان مصرفی بسیار پایین حدودا ۲۰۰ میکرو آمپر
- زمان پاسخ گویی سریع
- پایدار و رانش عملکرد بسیار پایین
اتصالات
اتصال hih-4030 به آردوینو کار فوق العاده آسانی است. فقط کافی است تغذیه و ۵ ولت ماژول را متصل کنید سپس خروجی (out) را به یکی از پینهای آنالوگ برد آردوینو متصل کنید.همچنین شما میتوانید این ماژول را با ولتاژ ۳٫۳ ولت نیز راهاندازی کنید ولی به دلیل اینکه خروجی این سنسور آنالوگ است و به مقدار ٰVCC سنسور نیز بستگی دارد پس در صورت انجام این کار باید در برنامه نیز تغییر ایجاد نمایید.
- اتصال سنسور hih-4030 به آردوینو arduino
برنامه نویسی
همانطور که گفته شد خروجی این سنسور به صورت آنالوگ است پس باید پین OUT به یکی از پینهای آنالوگ آردوینو متصل شود. که ما آن را به پین A0 متصل کردیم. مقدار آنالوگ خوانده شده چیزی تقریبا بین ۰ الی ۱۰۲۳ در ۲۵ درجه سانتی گراد میباشد. (مقدار ۰ مربوط به ۰ ولت و مقدار ۱۰۲۳ مربوط ۱۰۲۳)
برنامهی زیر را کپی کرده و بر روی آردوینو خود آپلود کنید.
float adcValue = 0; float voltage = 0; float percentRH = 0; void setup() { Serial.begin(9600); } void loop() { adcValue = analogRead(0); // Read voltage coming from sensor (adcValue will be between 0-1023) voltage = (adcValue/1023.0)*5.0; // Translate ADC value into a voltage value percentRH = (voltage-0.958)/0.0307; // Translate voltage into percent relative humidity // Print value Serial.print("%RH = "); Serial.println(percentRH,DEC); // Delay for one second delay(1000); }
برنامهی فوق مقدار ولتاژ خروجی از سنسور را خوانده و سپس آن را به درصدی از رطوبت تبدیل میکند و در آخر نیز میزان رطوبت نسبی محیط را بر روی سریال مانیتور نرم افزار آردوینو به نمایش در میآورد. بعد از آپلود برنامه حتما توجه داشته باشید که بادریت سریال مانیتور نرم افزار بر روی ۹۶۰۰ قرار گرفته باشد.
رطوبت هر یک ثانیه ۱ بار چک میشود و سپس بر روی سریال مانیتور نرم افزار آردوینو به نمایش در میاید برای چک کردن اینکه رطوبت چگونه تغییر میکند ، میتوانید سنسور را به دهان خود نزدیک کنید و نتییجهی تغییرات را مشاهده کنید.
به منظور تبدیل ولتاژ خروجی سنسور به مقدار رطوبت نسبی هوا ما از گراف موجود در صفحهی شمارهی ۴ دیتاشیت این سنسور استفاده کردهایم که میتوانید تصویر آن را در پایین مشاهده کنید.
قبل از هر چیزی ،نیاز داریم که مقدار خوانده شده پین A0 را به مقدار ولتاژ تبدیل کنیم. برای این منظور از رابطهی زیر استفاده میکنیم.
Voltage = ((Arduino Value) / 1023) * 5
برای مثال با توجه به رابطهی فوق اگر مقدار خوانده شدهی پین A0 برابر ۳۰۰ باشد ، ولتاژ خروجی سنسور برابر ۱٫۴۷ ولت بوده است. اکنون ما ولتاژ را داریم پس باید آن را به درصد رطوبت نصبی تبدیل کنیم . برای این منظور از رابطهی پایین استفاده میکنیم:
با توجه به به فرمول فوق و مثالی که از قبل داشتیم مقدار رطوبت اینگونه محاسبه میشود:
%RH = (1.47 – ۰٫۹۵۸) / ۰٫۰۳۰۷
%RH = 16.7
تمامی فرمولهای فوق در کد نیز به کار برده شده اند. فقط باید توجه داشته باشید که مقدار ابتدایی سنسور ممکن است دارای تلرانس باشه و از دقت اندازهگیری شما کم کند.
سلام.
چطور میتونیم فرمولی بنویسیم که در دماهای مختلف رطوبت اصلی و بدون خطا داشته باشیم.
این محایبات در دمای ۲۵ درجست
با سلام
ضمن تشکر از توجه شما، در حالت کلی پاسخ سوال شما این است که زبان C++ را کامل آموزش ببینید.
در حالت دوم اینکه برای داشتن اطلاعات با خطای کم بیشتر نیاز به سنسور ایزوله شده دارید.
با عرض سلام و ادب و تشکر از سایت بسیار عالیتون ، اساتید این سنسور آنالوگه؟ پایه پهن سنسور که در بالای سنسور قرار گرفته آیا کار خاصی انجام میده ؟ باید حتما این پایه به جایی وصل بشه؟
با سلام
ضمن تشکر از توجه شما، خروجی این سنسور به صورت آنالوگ است. منظورتان از پایه پهن چیست؟
سنسور رو ببینید این سنسور سه پایه تغذیه ، زمین و خروجی داره ، اون پایه چهارم که بصورت تک بالای سنسوره ، یه پایه ی آهنی بزرگه اون چیه
سلام مجدد
اون پایه چهارم که شما میفرمایید در حقیقت پایه نیست، اون یکی از پینهای سنسور است. لازم به ذکر است این پایه نیازی ندارد به جایی متصل شود.
تشکر از پاسخ شما ، مهندس این سنسور رو از کجا میتونم تهیه کنم داخل سایت ها که میگردم این سنسور وجود نداره
خواهش میکنم. در این خصوص باید از فروشگاه بپرسید. بنده اطلاعی نسبت به شیوه تامین کالا ندارم.