پروژه دماسنج با آردوینو و سنسور LM35 (اندازه گیری دما)

ساخت پروژه دماسنج با آردوینو سنسور LM35 (آموزش اندازه گیری دما با Arduino) را آماده کردیم. فیلم عملکرد مدار را از دست ندهید!
دماسنج از گذشته تا حالا شکل ها و دقت های متفاوتی داشته اند. در این پروژه آردوینو ما یک دماسنج دیجیتالی با آردوینو میسازیم که دما را در ال سی دی کاراکتری نشان میدهد. این پروژه را میتوانید در هرجایی استفاده کنید. در این پروژه ما از سنسور LM35 استفاده کردیم.
این پروژه به سه قسمت تقسیم میشود:
- سنجش دما با سنسور LM35
- تبدیل درجه حرارت به یکای مناسب توسط آردوینو
- نمایش در ال سی دی کاراکتری
مشخصات سنسور LM35

LM35 یک سنسور دمای 3 پین است. این سنسور میتواند تا دمای 150 درجه را اندازه گیری کند. با هر 1 درجه تغییر دما، خروجی سنسور 10mV تغییر میکند. شما میتوانید با ولت متر این موضوع را بررسی کنید! مثلا اگر ولتاژ خروجی سنسور 250mv باشد، یعنی دما تقریبا 25 درجه سانتیگراد است.
آردوینو ولتاژ خروجی سنسور را با پین آنالوگ A0 میخواند و محاسبه میکند تا این مقدار آنالوگ را به دیجیتال تبدیل کند. بعد از محاسبه، آردوینو درجه دما را بر حسب سانتی گراد به ال سی دی کاراکتری میفرستد.
همچنین ببینید : آموزش پروژه اندازه گیری دما و رطوبت با آردوینو
مدار پروژه دماسنج با LM35
شماتیک کامل پروژه در فایل دانلودی قرار داده شده است. ما در این پروژه دماسنج LCD 16×2 را مستقیماً در حالت 4 بیتی به آردوینو متصل میکنیم. پین های داده ال سی دی یعنی RS، EN، D4، D5، D6، D7 به پین دیجیتال شماره 7، 6، 5، 4، 3، 2 آردوینو متصل میشوند. سنسور دما LM35 به پین آنالوگ A0 آردوینو وصل شده است.
قطعات مورد نیاز پروژه
- برد آردوینو Uno
- سنسور دما LM35
- ال سی دی کاراکتری 16*2
کد پروژه دماسنج با آردوینو
در قسمت اول کد ما کتابخانه ال سی دی کاراکتری را فراخوانی میکنیم و پین های آن و سنسور را مشخص میکنیم.
#include <LiquidCrystal.h> // فراخوانی کتابخانه ال سی دی کاراکتری LiquidCrystal lcd(7,6,5,4,3,2); // تعریف پین های ال سی دی #define sensor A0 // تعریف پین برای داده سنسور
همانطور که در فیلم عملکرد پروژه دیدید، ما از علامت درجه استفاده کرده ایم. این علامت در حالت عادی در آردوینو وجود ندارد و ما با کد زیر آن را تعریف میکنیم.
byte degree[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 };
با استفاده از کد زیر ما آنالوگ به دیجیتال ADC را انجام میدهیم، یعنی مقدار ولتاژ دریافتی از سنسور LM35 را به درجه سانتی گراد تبدیل میکنیم :
float reading=analogRead(sensor); // دستور خواندن ولتاژ آنالوگ float temperature=reading*(5.0/1023.0)*100; // محاسبه و تبدیل به درجه سانتی گراد delay(10); // هر 10 میلی ثانیه
و در قسمت زیر نهایتا ما دما را در LCD 16*2 نمایش میدهیم :
lcd.setCursor(2,0); // تنظیم مکان نمایش lcd.print("Temperature"); // نمایش کلمه دما lcd.setCursor(4,1); // تنظیم مکان نمایش lcd.print(temperature); // فراخوانی متغیر دما lcd.write(1); // نمایش علامت درجه lcd.print("C"); // نمایش حرف C delay(1000); // هر 1 ثانیه آپدیت شود
برای دانلود فایل ها باید حساب کاربری داشته باشید
ثبت نام / ورود
سلام منم از این کد استفاده کردم اموزشی که داخل کیلیپ دادین صفحه درسته همه چی اوکیه ولی کد آپلود شده در اینجا فقط صحه روشن میکنه هیچی نمایش نمیده نه صفری هیچی فقط نور
سلام عزیز
کنتراست ال سی دی را باید تنظیم کنید.
من این پروژه رو انجام دادم ال سی دی کاملا روشن میشه کاراکتر هاش هم نشون داده میشه ولی دما رو نشون نمیده چیکار باید بکنم برنامه آی سی هم درست هست
سلام عزیز
دما را صفر نشان میدهد یا کلا چیزی نمایش نمیدهد؟
وقتی فایل سورس کد رو باز می کنم می نویسه irnex.ir
چکار کنم؟
سلام عزیز
درون پوشه sketch_jul09a فایل آردوینو هست میتونید باز کنید
سلام میشه شماتیک پروژه رو بگین الان مثلا پین d7 ال سی دی میخوره به کدوم پین آردوینو و …
سلام عزیز، تصویر شماتیک قرار داده شده و اتصالات مشخص هست
سلام من یک موتور هم به این پروژه اضافه کردم که اگر از دمایی پایین تر آمد روشن شود و…
بعد از آن زمانی که دماسنج تا ولتاژ را کامل ارسال کند در همان بین دستگاه فکر می کنید که دما پایین آمده و یک لحظه روشن می شود
باید چه کاری انجام دهم تا درست شود ؟
سلام عزیز، در ابتدای برنامه موتور را خاموش کنید یا دمای اولیه را بالاتر از آستانه تعریف کنید.
ببخشید منظور من را متوجه نشدید، منظورم این است که هر دفعه که دماسنج آپدیت می شود یک لحظه موتور روشن می شود ، مشکل من اینجا است که چیکار کنم این اتفاق نیفتد .
این اتفاق نباید بیوفته. شاید در ابتدای حلقه دما رو عدد خاصی تعیین کردید.
سلام .
فایل پروژه رو دانلود کردم اما فایل کد نویسی برنامه باز نمیشه برام
ممنون میشم راهنمایی کنید
سلام جناب، فایل دانلودی رو با نرم افزار WinRAR باز کنید. بررسی کردم فایل سالم هست.
سلام من یک تازه کار هستم ، میخوام بجای اینکه دما رو توی ال سی دی نمایش بدم توی صفحه لپتاپ یا موبایل نمایش بدم چون پول خرید ال سی دی ندارم ، همچین کاری ممکنه ؟
اگر جواب سوال بالا بله هست اگه میشه یه مقدار راهنمایی کنید یا لینک های مربوطه رو بهم بدید ممنون میشم .
سلام جناب. بله ممکن هست. میتونید در سریال مانیتور نمایش بدین، در دوره آموزش آردوینو توضیح داده شده.
سلام پروژه های رایگان آردوینو موجود هست؟
سلام. اکثر پروژه ها نیازمند داشتن اشتراک هستند. مبلغ در نظر گرفته شده برای پروژه ها خیلی کم هست. به صورت رایگان فعلا ارائه نمیشه.