اندازه‌گیری دما با Arduino — راهنمای کاربردی

۳۶۴ بازدید
آخرین به‌روزرسانی: ۲۳ اردیبهشت ۱۴۰۲
زمان مطالعه: ۲ دقیقه
اندازه‌گیری دما با Arduino — راهنمای کاربردی

در این آموزش چگونگی اندازه‌گیری دما با Arduino توسط سنسور ارزان‌قیمت LM35 توضیح داده خواهد شد.

فیلم آموزشی اندازه‌گیری دما با Arduino --- راهنمای کاربردی

دانلود ویدیو

 

آی‌سی TMP36 که بیشتر با اسم LM35 شناخته می‌شود، یکی از معروف‌ترین و ساده‌ترین سنسورهای اندازه‌گیری دما است.

آی‌سی و مشخصات پین‌های آن در شکل ۱ نمایش داده شده است.

آی‌سی LM35
شکل ۱: آی‌سی LM35 و مشخصات پایه‌های آن

اگر آی‌سی را روبروی خودمان بگیریم، پایه اول از سمت چپ تغذیه آی‌سی است که می‌تواند بین ۳٫۳ تا ۵ ولت باشد (سازگار با بردهای آردیونو). پایه وسط ولتاژ خروجی و پایه سمت راست نیز زمین آی‌سی است. ولتاژ خروجی آی‌سی به دمای محیط بستگی دارد. ولتاژ خروجی از رابطه زیر بدست می‌آید:

$$ \large v = 0.01 t + 0.5 $$

که در آن  بیانگر دما بر حسب سلسیوس است. به پارامتر ۰٫۰۱ حساسیت و به مقدار ثابت ۰٫۵ نیز آفت‌ست می‌گوییم. حساسیت نشان می‌دهد که به ازای تغییر یک درجه سلسیوس در دمای محیط ولتاژ‌ خروجی آی‌سی چقدر تغییر می‌کند. برای سنسور دمای LM358 اگر دما یک درجه سلسیوس افزایش یابد، ولتاژ خروجی ۱۰ میلی‌ولت افزایش خواهد یافت. رابطه بالا را می‌توان به صورت زیر نیز نوشت:

$$ \large t = \frac {v}{0.01}-50$$

که در واقع معکوس تابع اولیه است. بنابراین با قرائت ولتاژ خروجی آی‌سی و با استفاده از رابطه بالا می‌تواند دمای محیط را اندازه‌گیری کرد.  البته باید دقت کرد که دقت اندازه‌گیری LM35 حدود ۲ درجه است. یعنی اندازه‌گیری انجام‌شده ممکن است ۲ درجه بیشتر یا کمتر از دمای واقعی باشد. برای اندازه‌گیری‌های دقیق‌تر باید از آی‌سی‌های دیجیتال مانند DS18B20 استفاده کنیم.

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

انجام‌شده ممکن است ۲ درجه بیشتر یا کمتر از دمای واقعی باشد. برای اندازه‌گیری‌های دقیق‌تر باید از آی‌سی‌های دیجیتال مانند DS18B20 استفاده کنیم.

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

اتصال آی‌سی LM35 به Arduino
شکل ۲: اتصال آی‌سی LM35 به Arduino

سپس توسط برنامه زیر ولتاژ خروجی آی‌سی اندازه‌گیری شده و تبدیل به دما خواهد شد و در انتها نیز بر روی سریال مانیتور نرم‌افزار Arduinno نمایش داده می‌شود. توجه کنید که دقت اندازه‌گیری دستور analogRead ده بیت است. در نتیجه خروجی آن بین ۰ تا ۱۰۲۳ تغییر خواهد کرد که با یک نسبت ساده به ولتاژ ۰ تا ۵ ولت تبدیل می‌شود. برنامه هر نیم‌ثانیه دما را اندازه‌گیری می‌کند و بر روی سریال مانیتور نمایش می‌دهد.

1const int inputPin = A0;
2const float sensitivity = 0.01; // V/deg C
3const float offset = -50.0; // deg C
4void setup()
5{
6pinMode(inputPin, INPUT);
7
8Serial.begin(9600);
9}
10void loop()
11{
12int reading = analogRead(inputPin);
13float volts = reading / 204.6;
14float degC = (volts / sensitivity) + offset;
15// float degF = degC * 9.0 / 5.0 + 32.0;
16Serial.println(degC);
17delay(500);
18}

در صورتی که مطلب بالا برای‌ شما مفید بوده است، آموزش‌ها و مطالبی که در ادامه آمده‌اند نیز به شما پیشنهاد می‌شوند:

^^

بر اساس رای ۵ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
مجله فرادرس
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *