- ابزارآلات و آهنربا
-
ابزارآلات
- ابزار اندازه گیری (مولتیمتر، کولیس و . . .)
- ابزار سوراخکاری (مته، سه نظام، چهار نظام، پنج نظام و . . .)
- ابزار و تجهیزات کار (پیچ گوشتی، انبردست، سیمچین، پنس و . . .)
- برد بورد، فیبر خام و سوراخدار (فیبر مدار چاپی و PCB)
- پیچ و اسپیسر (پیچ و مهره رباتیک و اسپیسر پلاستیکی و فلزی)
- سیم و کابل (سیم افشان، فلت، باندی، کابل شارژ، پرینتر، و . . .)
- لحیمکاری (هویه، نوک هویه، پایه هویه، سیم لحیم، روغن لحیم و . . . )
- منبع تغذیه، باتری و جاباتری (باتری قلمی، نیم قلمی، کتابی و . . . )
-
ابزارآلات
- برد هوشمند
- پرینتر سه بعدی
- رباتیک و پروازی
- ماژول
- قطعات الکترونیک
- کیت الکترونیکی و انواع جعبه
- موتور
- اصناف مختلف
راه اندازی سنسور دما LM35 با آردوینو و نمایش دادههای آن روی LCD
یکی از آسانترین و ارزانترین روشهای اندازهگیری دما، پروژه راه اندازی سنسور دما LM35 با آردوینو و نمایش دادههای آن روی LCD است. این سنسور آنقدر دقت دارد که برای بهرهگیری از آن نیازی به هیچ قطعه الکترونیکی اضافهای نخواهد بود. بر این اساس، با چند اتصال ساده و چند خط کد آردوینو، میتوانید در مدت زمان کوتاهی دما را اندازه بگیرید؛ پس با بلاگ بهنام رباتیک همراه باشید.
فهرست مطالب
لوازم مورد نیاز برای پروژه راه اندازی سنسور دما LM35 با آردوینو و نمایش داده روی LCD
آشنایی با سنسور دمای LM35
LM35 یک سنسور دمای کم مصرف و دقیق است. به خاطر ارائه جزئیات کامل در مورد دما، آن هم بر واحد سانتیگراد، استفاده از این سنسور و انجام پروژه راه اندازی سنسور دما LM35 با آردوینو بسیار آسان است.
از جمله مزایای سنسور دمای LM35 دقت بالا، ضد آسیبدیدگی، قابل استفاده بودن در شرایط دمایی مختلف و عدم نیاز به قطعات الکترونیکی اضافه میباشند. به علاوه، برای بهرهمندی از این سنسور لازم نیست آن را کالیبره کنید زیرا دقت 0.5 درجه سانتیگرادی و خطای تقریباً 1 درجه سانتیگرادی دارد و میتواند در بازه دمایی منفی 55 تا مثبت 155 درجه سانتیگراد فعالیت نماید.
انرژی این سنسور را میتوان با منبع تغذیه 4 تا 30 ولت تأمین کرد و با توجه به اینکه تنها 60 میکروآمپر جریان مصرف میکند، گرمای زیادی ایجاد نخواهد کرد.
مشخصات فنی سنسور دمای LM35
ولتاژ تغذیه |
4 تا 30 ولت |
جریان کاری |
60 میکروآمپر |
بازه دمای کاری |
منفی 55 تا مثبت 155 درجه سانتیگراد |
دقت |
0.5 درجه سانتیگراد |
تنها نقطه ضعف LM35 آن است که برای اندازهگیری دمای منفی، میبایست ولتاژ یکطرفه منفی وارد کرد بنابراین اگر میخواهید با این سنسور دماهای زیر 0 درجه سانتیگراد را اندازه بگیرید، شاید بهتر باشد سراغ سنسور دمای TMP36 بروید.
TMP36 یک قطعه آنالوگ است که میتواند در بازه دمایی منفی 40 تا مثبت 125 درجه سانتیگراد فعالیت کند و مزیت آن هم قابلیت اندازهگیری دماهای منفی بدون نیاز به ولتاژ یکطرفه میباشد. یک آلترناتیو دیگر برای LM35، سنسور دمای دیجیتال DS18B20 است که پکیج یکسانی دارد.
به طور کلی، سنسورهای اندازهگیری دما در برابر نویز مقاومت زیادی دارند و به همین خاطر وقتی در فضاهای نویزدار و شلوغ قرار میگیرند، همچنان عملکرد باثبات خود را ادامه میدهند.
اصول کاری سنسور دما LM35
LM35 از یک تکنیک ساده برای اندازهگیری دما استفاده میکند؛ این یعنی هر وقت ولتاژ پایه و امیتر افت کرده و به حد خاصی میرسد، دما افزایش پیدا کرده است. سپس با شدت بخشیدن به تغییرات ولتاژ، به آسانی میتوان سیگنال آنالوگ که با دما نسبت دارد را ارائه کرد.
این ارتباط خطی میان ولتاژ فوروارد و دما، دلیل استفاده از ترانزیستورهای دارای دیود به عنوان وسایل سنجش دما میباشد. در واقع اندازهگیری دما با همین روش انجام میشود هرچند در سالیان اخیر این شیوه با پیشرفتهایی همراه بوده است.
البته خبر خوب این است که تمامی محاسبات پیچیده، درون خودِ LM35 انجام میشوند و سنسور تنها ولتاژ خروجی را نشان میدهد که به صورت خطی با دما ارتباط دارد.
چگونگی اندازهگیری دما با LM35
اندازهگیری دما با سنسور LM35 کار سختی نیست زیرا چنانچه جلوی آن را روبهروی صورت خود گرفته باشید، میبایست پایه سمت چپ را به منبع تغذیه 4 تا 30 ولت و پایه سمت راست را به اتصال به زمین (GND) وصل کنید. در ادامه پین وسطی ولتاژ آنالوگ ارائه خواهد کرد که با دما رابطه خطی مستقیمی دارد. این اتفاقات را به راحتی میتوان در شاخصههای دما و ولتاژ خروجی مشاهده کرد. توجه داشته باشید که ولتاژ خروجی آنالوگ از منبع تغذیه مستقل عمل میکند.
برای تبدیل ولتاژ به دما، از فرمول زیر استفاده کنید:
دما (برحسب سانتیگراد) = ولتاژ خروجی × 100
برای مثال، اگر ولتاژ خروجی 0.5 ولت است، دما میشود: 0.5 × 100 = 50 درجه سانتیگراد.
آزمایش سنسور دمای LM35
آزمایش سنسور دمای LM35 بسیار آسان است. (جلوی سنسور را روبهروی صورت خود بگیرید) فقط باید پین سمت چپ آن را به منبع تغذیه 4 تا 30 ولت و پین سمت راستی را به اتصال به زمین (GND) بزنید. حالا مولتیمتر دیجیتال خود را روی حالت ولتاژ DC بگذارید و پینهای اتصال به زمین و وسطی را وصل کنید. در دمای عادی منازل، ولتاژ باید 0.25 ولت باشد.
در ادامه قسمت پلاستیکی سنسور را کمی فشار دهید تا دما افزایش یابد.
روش دیگر نیز آن است که یک تکه یخ را داخل پلاستیک بگذارید تا مدار خیس نشود و سپس پلاستیک را به سنسور نزدیک کنید تا ببینید دما کاهش مییابد.
آشنایی با پینهای LM35 پیش از شروع پروژه راه اندازی سنسور دما LM35 با آردوینو
LM35 سه نوع مختلف دارد ولی رایجترین مورد، سه پایه با پکیج TO-92 میباشد که بسیار شبیه یک ترانزیستور است.
پینهای این سنسور عبارتند از:
- +Vs: پین مخصوص ولتاژ 4 تا 30 ولت
- Vout: پین مخصوص ارائه ولتاژ سیگنال آنالوگ که با دما ارتباط مستقیمی داشته و باید به ورودی آنالوگ وصل شود.
- GND: اتصال به زمین
سیمکشی مدار پروژه راه اندازی سنسور دما LM35 با آردوینو
وصل کردن سنسور دمای LM35 کار به شدت سادهای است زیرا فقط باید سه پین را وصل کنید؛ دو پین برای قدرت و یک پین برای دریافت دادهها.
میتوان تا 5 ولت انرژی را به این سنسور وارد کرد. شما میتوانید ولتاژ مثبت را به +Vs و اتصال به زمین را به GND بزنید. پین میانی Vout است که برای دریافت سیگنالهای خروجی آنالوگ به دست آمده از سنسور به کار میرود و به پین ورودی آنالوگ A0 آردوینو وصل میشود.
در ادامه تصویری از مدار پروژه راه اندازی سنسور دما LM35 با آردوینو را میبینید.
برای اندازهگیری فشار هوا، سنسور را در هوای آزاد بگذارید و یا آن را به وسیلهای که میخواهید دمای آن را اندازه بگیرید، وصل کنید.
خواندن دادههای آنالوگ سنجش دما
همانطور که در تصویر بالا میبینید، خروجی LM35 به یکی از ورودیهای آنالوگ آردوینو وصل شده است. شما میتوانید مقدار این ورودی آنالوگ را با تابع analogRead() بخوانید.
با این حال، تابع analogRead() ولتاژ خروجی سنسور را نمایش نمیدهد بلکه ولتاژ ورودی میان 0 و ولتاژ DC آنالوگ مرجع را نشان خواهد داد که بین 0 تا 1023 ولت به صورت عددی صحیح میباشد.
نکته: این ولتاژ معمولاً 5 یا 3.3 ولت است مگر اینکه خودتان آن را تغییر دهید.
برای تبدیل این مقادیر، از فرمول زیر استفاده کنید:
ولتاژ خروجی = (ولتاژ DC آنالوگ) × (1024÷5)
این فرمول، اعداد ما بین 0 تا 1023 به دست آمده از ولتاژ DC آنالوگ را به بین 0 تا 5 ولت تبدیل میکند. در ادامه برای تبدیل ولتاژ به دما، از فرمول زیر بهره بگیرید:
دما (برحسب سانتیگراد) = ولتاژ خروجی × 100
کدنویسی پروژه راه اندازی سنسور دما LM35 با آردوینو
کدهایی که در ادامه آمدهاند، امکان خواندن سریع دادههای دمایی را فراهم میآورند و میتوانند پایه و اساس بسیاری از پروژههای مشابه باشند. این چند خط کد صرفاً دادههای کسب شده از LM35 را با استفاده از پورت آنالوگ A0 آردوینو میخوانند و دما را برحسب فارنهایت و سانتیگراد روی سریال مانیتور پرینت میکنند. میتوانید با کپی کردن، این کدها را در پروژه راه اندازی سنسور دما LM35 با آردوینو استفاده کنید.
// Define the analog pin, the LM35's Vout pin is connected to
#define sensorPin A0
void setup() {
// Begin serial communication at 9600 baud rate
Serial.begin(9600);
}
void loop() {
// Get the voltage reading from the LM35
int reading = analogRead(sensorPin);
// Convert that reading into voltage
float voltage = reading * (5.0 / 1024.0);
// Convert the voltage into the temperature in Celsius
float temperatureC = voltage * 100;
// Print the temperature in Celsius
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.print("\xC2\xB0"); // shows degree symbol
Serial.print("C | ");
// Print the temperature in Fahrenheit
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
Serial.print(temperatureF);
Serial.print("\xC2\xB0"); // shows degree symbol
Serial.println("F");
delay(1000); // wait a second between readings
}
با آپلود کردن کدهای داده شده، باید خروجی را مطابق تصویر زیر مشاهده کنید:
توضیحات کد پروژه راه اندازی سنسور دما LM35 با آردوینو
کدهای ارائه شده با مشخص کردن اینکه کدام پین آردوینو به پین Vout متصل گردیده، شروع شدهاند.
#define sensorPin A0
در بخش Setup، ارتباط سریال با رایانه را آغاز میکنیم.
void setup() {
Serial.begin(9600);
}
در بخش Loop، ابتدا سیگنال آنالوگ به دست آمده از سنسور دمای LM35 را از طریق تابع analogRead() میخوانیم.
int reading = analogRead(sensorPin);
در مرحله بعد، فرمولی که توضیح دادیم را برای تبدیل سیگنالهای آنالوگ به ولتاژ و سپس به دما به کار میگیریم.
float voltage = reading * (5.0 / 1024.0);
float temperatureC = voltage * 100;
سپس دادهها در سریال مانیتور نمایش داده میشوند.
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.print("\xC2\xB0"); // shows degree symbol
Serial.print("C | ");
اطلاعات دمایی کسب شده بر واحد درجه سانتیگراد (C) هستند. برای تبدیل آنها به فارنهایت (F) میتوانید از فرمول زیر بهره ببرید:
T (F) = T (C) * 9/5 + 32
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
Serial.print(temperatureF);
Serial.print("\xC2\xB0"); // shows degree symbol
Serial.println("F");
راه اندازی سنسور دما LM35 با آردوینو و نمایشگر LCD
برخی اوقات این ایده به ذهنتان میرسد که اطلاعات دمایی را در لحظه ببینید و در صورت فراتر رفتن دادهها از مقدار قابل اندازهگیری، پیام هشداری دریافت کنید. در این شرایط به جای سریال مانیتور، به یک نمایشگر 2 × 16 از نوع LCD نیاز خواهید داشت.
در این مثال، یک I2C LCD را به خروجی آنالوگ آردوینو وصل میکنیم.
همانطور که در تصویر زیر میبینید، وصل کردن نمایشگر به برد بورد و آردوینو کار آسانی است.
کدهایی که در ادامه آمدهاند، دادههای دمایی را در نمایشگر LCD استفاده شده پخش خواهند کرد. این کدها با مواردی که پیشتر ارائه کرده بودیم بسیار شبیه هستند و تنها تفاوت آنها این است که به آردوینو میگوییم دادهها را در نمایشگر پخش کند.
// Include the LiquidCrystal_I2C library
#include
// Create a new instance of the LiquidCrystal_I2C class
LiquidCrystal_I2C lcd(0x3F, 16, 2);
// Define a custom degree character
byte Degree[] = {
B00111,
B00101,
B00111,
B00000,
B00000,
B00000,
B00000,
B00000
};
// Define the analog pin, the LM35's Vout pin is connected to
#define sensorPin A0
void setup() {
// Start the LCD and turn on the backlight
lcd.init();
lcd.backlight();
// Create a custom character
lcd.createChar(0, Degree);
}
void loop() {
// Get the voltage reading from the LM35
int reading = analogRead(sensorPin);
// Convert that reading into voltage
// Replace 5.0 with 3.3, if you are using a 3.3V Arduino
float voltage = reading * (5.0 / 1024.0);
// Convert the voltage into the temperature in Celsius
float temperatureC = voltage * 100;
// Print the temperature on the LCD;
lcd.setCursor(0, 0);
lcd.print("Temperature:");
lcd.setCursor(0, 1);
lcd.print(temperatureC, 1);
lcd.write(0); // print the custom degree character
lcd.print("C ");
// Print the temperature in Fahrenheit
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
lcd.print(temperatureF, 1);
lcd.write(0); // print the custom degree character
lcd.print("F ");
delay(1000); // wait a second between readings
}
با وارد کردن کدهای بالا، باید خروجی را مانند تصویر زیر ببینید تا پروژه راه اندازی سنسور دما LM35 با آردوینو و نمایشگر LCD با موفقیت به پایان رسیده باشد.
با سلام
ایا این امکان وجود داره که ۲ یا ۳ یا تعداو بیشتری سنسور را جهت اندازه گیری دماهای مختلف به آردینو وصل کرد و در lcd نمایش داد؟
متشکرم
سلام خدمت شما
بله امکانش هست فقط باید به به هر پایه آردوینو یک سنسور وصل کرد
با تشکر از همراهی شما