آموزش آردوینوپروژه های آردوینو

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

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

دماسنج از گذشته تا حالا شکل ها و دقت های متفاوتی داشته اند. در این پروژه آردوینو ما یک دماسنج دیجیتالی با آردوینو میسازیم که دما را در ال سی دی کاراکتری نشان میدهد. این پروژه را میتوانید در هرجایی استفاده کنید. در این پروژه ما از سنسور LM35 استفاده کردیم.

این پروژه به سه قسمت تقسیم میشود:

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

مشخصات سنسور 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 آردوینو وصل شده است.

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

  1. برد آردوینو Uno
  2. سنسور دما LM35
  3. ال سی دی کاراکتری 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 ثانیه آپدیت شود
موارد موجود در فایل : شماتیک کامل ، فایل Hex ، فایل آردوینو ، و …
مطلب پیشنهادی:  راه اندازی انکدر موتور با آردوینو مبتنی بر کنترلر PID
ثبت نام / ورود

4.4 (10 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

برای ارسال تصاویر از انجمن سایت استفاده کنید.

سوالات فنی را در انجمن سایت مطرح کنید تا در مسابقه شرکت کنید. ورود به انجمن

18 نظر

  1. سلام منم از این کد استفاده کردم اموزشی که داخل کیلیپ دادین صفحه درسته همه چی اوکیه ولی کد آپلود شده در اینجا فقط صحه روشن میکنه هیچی نمایش نمیده نه صفری هیچی فقط نور

    1. سلام عزیز
      کنتراست ال سی دی را باید تنظیم کنید.

  2. من این پروژه رو انجام دادم ال سی دی کاملا روشن میشه کاراکتر هاش هم نشون داده میشه ولی دما رو نشون نمیده چیکار باید بکنم برنامه آی سی هم درست هست

    1. سلام عزیز
      دما را صفر نشان میدهد یا کلا چیزی نمایش نمیدهد؟

  3. وقتی فایل سورس کد رو باز می کنم می نویسه irnex.ir
    چکار کنم؟

    1. سلام عزیز
      درون پوشه sketch_jul09a فایل آردوینو هست میتونید باز کنید

  4. سلام میشه شماتیک پروژه رو بگین الان مثلا پین d7 ال سی دی میخوره به کدوم پین آردوینو و …

    1. سلام عزیز، تصویر شماتیک قرار داده شده و اتصالات مشخص هست

  5. سلام من یک موتور هم به این پروژه اضافه کردم که اگر از دمایی پایین تر آمد روشن شود و…
    بعد از آن زمانی که دماسنج تا ولتاژ را کامل ارسال کند در همان بین دستگاه فکر می کنید که دما پایین آمده و یک لحظه روشن می شود
    باید چه کاری انجام دهم تا درست شود ؟

    1. سلام عزیز، در ابتدای برنامه موتور را خاموش کنید یا دمای اولیه را بالاتر از آستانه تعریف کنید.

    2. ببخشید منظور من را متوجه نشدید، منظورم این است که هر دفعه که دماسنج آپدیت می شود یک لحظه موتور روشن می شود ، مشکل من اینجا است که چیکار کنم این اتفاق نیفتد .

    3. این اتفاق نباید بیوفته. شاید در ابتدای حلقه دما رو عدد خاصی تعیین کردید.

  6. سلام .
    فایل پروژه رو دانلود کردم اما فایل کد نویسی برنامه باز نمیشه برام
    ممنون میشم راهنمایی کنید

    1. سلام جناب، فایل دانلودی رو با نرم افزار WinRAR باز کنید. بررسی کردم فایل سالم هست.

  7. سلام من یک تازه کار هستم ، میخوام بجای اینکه دما رو توی ال سی دی نمایش بدم توی صفحه لپتاپ یا موبایل نمایش بدم چون پول خرید ال سی دی ندارم ، همچین کاری ممکنه ؟
    اگر جواب سوال بالا بله هست اگه میشه یه مقدار راهنمایی کنید یا لینک های مربوطه رو بهم بدید ممنون میشم .

    1. سلام. اکثر پروژه ها نیازمند داشتن اشتراک هستند. مبلغ در نظر گرفته شده برای پروژه ها خیلی کم هست. به صورت رایگان فعلا ارائه نمیشه.

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

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