1. صفحه نخست
  2. راهنمای سنسورها
  3. راهنمای استفاده از سنسورهای دما LM35،LM335 و LM34 با برد Arduino

راهنمای استفاده از سنسورهای دما LM35،LM335 و LM34 با برد Arduino

در این آموزش قصد داریم نحوه استفاده از سنسورهای دما (LM35(LM35DZ و LM335 و LM34 با برد Arduino را به شما آموزش دهیم. از جمله مواردی که در این آموزش فرا خواهید گرفت، نوشتن کد سنسورهای دما و خواندن دما است. در آخر یک پروژه خواندن سنسور روی نمایشگر OLED را با هم خواهیم ساخت.

LM35-LM35DZ-LM34-LM335-سنسور دما-برد آردوینو- نمایشگرOLED

معرفی سنسورهای دما LM35-LM34 LM335

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

سنسور دما ولتاژ خروجی مشخصه خطی
LM35 (LM35DZ) متناسب با دما برحسب درجه سلسیوس 10mV/ºC
LM335 متناسب با دما برحسب درجه کلوین 10mV/ºK
LM34 متناسب با دما برحسب درجه فارنهایت 10mV/ºF

این سه سنسور به روشی مشابه کار می کنند. اما برای تولید ولتاژ ( متناسب با واحد دما )، کالیبره می شوند.

* ولتاژ تولیدی سنسور دما LM35 در هر درجه سلسیوس 10 میلی ولت افزایش می یابد. به صورت مشابه ولتاژ تولیدی سنسور دما LM335 در هر درجه کلوین 10 میلی ولت افزایش می یابد. به همین ترتیب ولتاژ تولیدی سنسور LM34 در هر درجه فارنهایت 10 میلی ولت افزایش می یابد.

به عنوان مثال : اگر ولتاژ تولیدی، سنسور دما LM35 مقدار 345 میلی ولت باشد.  به این معنی است که، مقدار دمای ما 34.5 درجه سلسیوس می باشد.

برای کسب اطلاعات بیشتر راجع به این سنسورها، باید دیتاشیت آن ها  در www.ti.com را بررسی کنید :

اتصال پین های سنسور دما (LM35 (LM35DZ

همانطور که در شکل زیر مشاهده می کنید، سنسور دما LM35، داری تنها 3 پین می باشد:  VCC ، Vout و پایه زمین GND

پین های سنسور دما_ LM35
پین های سنسور دما_ LM35

 

نحوه اتصال سنسور دما LM35/LM34 و برد آدوینو در جدول زیر توضیح داده شده است :

سنسور دما LM35/LM34 برد Arduino
VCC به سر 5 ولت
 Vout به هر پین آنالوگ
 GND به پایه زمین

باید توجه داشته باشید که اگر اتصال سنسور LM34 به برد آردوینو با اتصال LM35 برد آردوینو یکسان است.

اتصال پین های سنسور دما LM335

اتصال پین های سنسور LM335، کمی متفاوت تر می باشد :

پایه های سنسور دما LM335
پایه های سنسور دما LM335

 

سنسورLM335  برد Arduino
پین Adj بدون اتصال
پین Vout  به هر پین آنالوگ ( که با مقاومت 2 کیلواهم pull up شده است.)
پین GND به پایه زمین

از پین adj،  می توان برای کالیبره کردن سنسور و بدست آورن دماهایی با دقت بالاتر توسط سنسور دما استفاده کرد. به دلیل اینکه در این آموزش از پین adj استفاده نمی کنیم. پس این پین را بدون اتصال باقی می گذاریم.

مدار شماتیک

باید دقت داشته باشید که مدار سنسور دما  LM35 و LM34 با یکسان می باشد و تنها مدار شماتیک سنسور دما LM335 کمی متفاوت است.

 مدار سنسور دما LM35 یا LM34 با برد Arduino 
سنسور دما_LM35/LM34-برد آردوینو
مدار شماتیک_سنسور دما_LM35/LM34-برد آردوینو

 

مدار سنسور دما LM335 با برد Arduino
 مدار شماتیک_سنسور دما LM335-برد آردوینو
مدار شماتیک_سنسور دما LM335-برد آردوینو

 

شرح کد

دستور کد زیر برای خواندن دما از سنسور LM35  و نمایش آن در مانیتور سریال است. لازم به ذکر است، که این کد برای سنسور دما LM34 و LM335 نیز مناسب و کامل می باشد. فقط باید خطوطی را از حالت کامنت خارج کنید و نام سنسور مورد نظر را جایگزین کنید.

نحوه عملکرد کد
  • ابتدا با تعریف کردن پینی که از بیرون به سنسور متصل است شروع می کنیم. ما در این پروژه از پین A0 استفاده کردیم.( شما از هر پین آنالوگی که استفاده کرده اید، همان را وارد کنید.)

  • متغیری تعریف کنید. که مقدار آنالوگ خوانده شده از سنسور را نگه دارد :

  • متغیر voltageOut مقدار واقعی ولتاژ تولیدی، حاصل از سنسور را ذخیره می کند.

  • در این قسمت از کدنویسی باید دو متغیر برای نگه داشتن مقدار دما، بر حسب درجه سلسیوس و درجه فارنهایت ایجاد کنید.ما دو متغیر temperatureC و temperatureF را برای این منظور تعریف می کنیم :

  • اگر از سنسور دما LM335 استفاده می کنید. باید متغیر برای نگه داشتن مقدار دما برحسب درجه کلوین تعریف کرده و دستور زیر را از حالت کامنت خارج کنید :

()setup
  • در ()setup، عبارت sensorPin را به عنوان پین ورودی تعریف کنید :

  • سریال مانیتور را با بادریت 9600، مقدار دهی اولیه کنید. پس از آن خواندن را بر سریال مانیتور را می توانید آغاز کنید:

  • در دستور ()loop، مقدار را می خوانید و در متغیر voltageOut نگه داشته می شود. برای خواندن مقدار آنالوگ با آردوینو، از تابع ()analogRead استفاده کنید. :

 

  • همانطور که اشاره کردیم، خروجی این سنسور ها (LM35_LM335_LM34)،ولتاژ بر اساس دما می باشد.

مقادیر آنالوگ از برد آردوینو می خوانیم و بازه عددی 0 تا 1024را شامل می شود. که 0 به برابر از 0 ولت و 1024 به معنی 5 ولت است. مقادیر ولتاژ خروجی سنسور، را بر حسب میلی ولت نیز می توانید دریافت کنید :

  • راجع به سنسور دما LM35، دیدیم که 10 میلی ولت برابر است با افزایش یک درجه سلسیوس دما. بنابراین دما برحسب سلسیوس با ولتاژ خوانده شده از سنسور، تقسیم بر 10 میلی ولت برابر است.

 

  • برای بدست آوردن دما برحسب درجه فارنهایت از فرمول تبدیل آن استفاده کنید :

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

  • به منظور رفع باگ های احتمالی، پرینت ولتاژ را هم انجام دهید:

 

  • دستور ()loop، هر ثانیه تکرار می شود:

نمایش

تا به اینجای پروژه، باید کد را در نرم افزار Arduino IDE آپلود کنید. دقت داشته باشید که برد مربوطه و درست همچنین پورت COM را در Tools menu انتخاب کنید.

پس از آن مانیتور سریال با بادریت 9600 را باز کنید. اگر همه مراحل این آموزش را قدم به قدم پیش آمده باشید اکنون باید دما را هر ثانیه بخوانید.

اگر سنسور را با انگشت خود بپوشانید، مقادیر دما افزایش می یابد.

سنسور دما LM35- خواندن ولتاژ بر مانیتور سریال
سنسور دما LM35- خواندن ولتاژ بر مانیتور سریال

 

خواندن دما در نمایشگر OLED 

در این قسمت به شما آموزش خواهیم داد که چگونه خواندن سنسور دما، خود را در یک نمایشگر OLED انجام دهید.

نحوه استفاده از نمایشگر OLED با برد Arduino را در مقاله زیر آموزش ببینید :

راهنمای جامع برای استفاده از نمایشگر I2C OLED با برد Arduino

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

تمامی قطعات الکترونیکی خود را با هزینه ای به صرفه می توانید در اینجا پیدا کنید.

مدار شماتیک

قطعات را مطابق شکل زیر، متصل کنید :

مدار شماتیک_ سنسور دما LM35 بر نمایشگر OLED
مدار شماتیک_ سنسور دما LM35 بر نمایشگر OLED

 

نصب کتابخانه های نمایشگر OLED

برای استفاده و کنترل کردن نمایشگر OLED به توسعه دهنده  adafruit_SSD1306.h و کتابخانه  adafruit_GFX.h نیاز دارید.( از سایت گیت هاب دانلود کنید) در ادامه نصب و راه اندازی این دو را به شما آموزش خواهیم داد.

  1. وارد نرم افزار Arduino IDE شوید و به منوی Sketch و پس از آن زیر منوی Include Library بروید. سپس به Manage Libraries وارد شوید.
  2. عبارت “SSD1306” را سرچ و کتابخانه SSD1306 را از Adafruit، نصب کنید.
نصب کتابخانه SSD1306 از توسعه دهنده Adafruitدهنده
نصب کتابخانه SSD1306 از توسعه دهنده Adafruit

 

3. پس از نصب کتابخانه SSD1306، عبارت “GFX” را سرچ و کتابخانه را نصب کنید.

نصب کتابحانه gfx از توسعه دهنده adafruit
نصب کتابحانه gfx از توسعه دهنده adafruit

 

4. در آخر، پس از نصب کتابخانه ها،Arduino IDE خود را ری استارت کنید.

شرح کد _ خواندن سنسور دما بر نمایشگر OLED

پس از اتصال کامل مدار و نصب کتابخانه های مورد نیاز، کد زیر را در برد آردوینو آپلود کنید :

نمایش

پروژه شما تکمیل شد! اکنون باید خواندن سنسور در نمایشگر OLED، آزمایش کنید. دمای جدید هر یک ثانیه در نمایشگر، باید مشاهده شود.

سنسور دما LM35_LM34_LM35DZ_LM335 بر برد آردوینو_ نمایش بر نمایشگر OLED
سنسور دما LM35_LM34_LM35DZ_LM335 بر برد آردوینو_ نمایش بر نمایشگر OLED

 

جمع بندی مطالب فوق

سنسورهای LM35_LM335_LM34 سنسورهای دماخطی، با تولید ولتاژ در خروجی می باشند. ولتاژ تولیدی، متناسب با مقدار دما است. این سنسورها توسط پین 5 ولت برد آردوینو شارژ می شوند و برای خواندن ولتاژ از یک پین آنالوگ استفاده می شود. با استفاده از تابع ()analogRead بر پایه سنسور، می توانید به آسانی ولتاژ را توسط این سنسورها بخوانید!

امیدواریم که این آموزش برای شما مفید واقع شده باشد.

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

در قسمت نظرات ایده ها و مطالب پیشنهادی خود را با ما به اشتراک بگذارید.

 

 

آخرین آپدیت در فوریه 17, 2021

آیا این مقاله آموزشی مفید بود ؟

نوشته های مرتبط

لطفا نظر خود را بنویسید، این نظر میتواند تنها یک تشکر باشد.