Press "Enter" to skip to content

دماسنج LM35 با آردوینو

آموزش کامل ساخت دماسنج با سنسور LM35 و برد آردوینو را آماده کردیم. در این مطلب ما دماسنج LM35 را راه اندازی میکنیم و در سریال مانیتور دمای محیط را نمایش میدهیم.

مدار دماسنج LM35 با آردوینو

اتصالات مدار بسیار ساده است. شما فقط باید پایه 1 سنسور را به 5 ولت و پایه 3 را به GND آردوینو متصل کنید. در نهایت باید پایه وسط (2) سنسور را به پایه A0 آردوینو متصل کنید. تصویر زیر این اتصالات را نمایش میدهد.

مدار دماسنج LM35 با آردوینو

قطعات مورد نیاز

  • آردوینو Uno
  • سنسور LM35

سنسور LM35

سنسور LM35
سنسور LM35

برای درک نحوه برنامه نویسی ابتدا باید نحوه کار سنسور LM35 را بدانیم. مشخصات سنسور در جدول زیر آورده شده است.

ولتاژ تغذیه4 V تا 30 V
جریان مصرفی60 µA
محدوده دما-55°C تا + 155°C
دقت±0.5°C در +25°C
±1°C از -55°C تا +150°C
نسبت ولتاژ خروجی10 mV/°C
ولتاژ خروجی در 25 درجه250 mV
گرما<0.1°C در هوای آزاد
بسته بندی3-pin TO-92

همانطور که در جدول بالا نوشته شده است، سنسور LM35 به ازای تغییر هر درجه دما، خروجی را 10 میلی ولت تغییر میدهد. مثلا در دمای 0 درجه، ولتاژ خروجی سنسور 0 است. در دمای 25 درجه، ولتاژ خروجی سنسور 250 میلی ولت است. به همین ترتیب با تغییرات دما ولتاژ خروجی سنسور نیز تغییر میکند.

کد دماسنج برای آردوینو

قسمت اصلی دماسنج با LM35، تبدیل آنالوگ به دیجیتال است. ما باید آنالوگ به دیجیتال را انجام بدهیم و با یک محاسبه ساده دما را بدست می آوریم. اگر در مورد آنالوگ به دیجیتال اطلاعی ندارید، مقاله آنالوگ به دیجیتال آردوینو را بخوانید.

در قسمت void setup ما فقط ارتباط سریال را با نرخ 9600 آغاز میکنیم.

void setup(){
Serial.begin(9600);
}

در قسمت void loop در ابتدا تبدیل آنالوگ به دیجیتال را انجام میدهیم. ولتاژ پایه A0 خوانده میشود و به یک عدد بین 0 تا 1023 تبدیل میشود. این عدد در متغیر reading ذخیره میشود.

void loop() {
int reading = analogRead(A0); // تبدیل آنالوگ به دیحیتال
float voltage = reading * (5000 / 1024.0); // محاسبه ولتاژ
float temperature = voltage / 10; // محاسبه دما
Serial.print(temperature); // چاپ دما در سریال مانیتور
Serial.println(" C");
delay(1000); // تاخیر 1 ثانیه ای
}

سپس یک متغیر Float ایجاد میکنیم و عملیات تناسب گیری را انجام میدهیم تا بفهمیم عدد بدست آمده چند ولت است. نتیجه را در متغیر voltage ذخیره میکنیم.

همانطور که گفته شد هر 10 میلی ولت، یک درجه سانتی گراد است، بنابراین ما ولتاژ بدست آمده را تقسیم بر 10 میکنیم تا درجه سانتی گراد را بدست آوردیم. در نهایت دمای بدست آمده را در سریال مانیتور نمایش میدهیم.

void setup() {
Serial.begin(9600);
}
void loop() {
int reading = analogRead(A0);
float voltage = reading * (5000 / 1024.0);
float temperature = voltage / 10;
Serial.print(temperature);
Serial.println(" C");
delay(1000); 
}
5/5 - (5 امتیاز)

    دیدگاهتان را بنویسید

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