در این مطلب از آموزشهای پروژه محور آردوینو قصد اندازهگیری دمای مثبت و منفی توسط سنسور lm35 را داریم.از نقات قوت این پروژه میتوان به اندازهگیری دمای منفی توسط این سنسور اشاره کرد که نمونهی آن در اینترنت به ندرت یافت میشود.با دیجی اسپارک همراه باشید.
ویژگیهای سنسور دما LM35
اندازهگیری دما در رنج ۵۵- تا ۱۵۰+ درجه سانتیگراد با حداکثر خطای ۰٫۵ درجه سانتیگراد
خروجی به صورت خطی ، ۱۰ میلی ولت به ازای تغییر هر درجه سانتیگراد
خروچی دما به صورت درجه سانتیگراد کالیبره شده است
ولتاژ کاری بین ۴ تا ۳۰ ولت
توضیحات سنسور LM35 با آردوینو
ترتین پینن های این سنور همانند شکل زیر میباشد. در دیتاشیت این سنسور دو نمونه مدار ساده از این سنسور قرار گرفته است.
مدار ۱ – Lm35 Arduino
با استفاده از این مدار ساده فقط میتوان دما را در رنج ۲+ تا ۱۵۰+ درجه سانتیگراد اندازهگیری نمود و عملا اندازه گیری دمای منفی توسط این مدار غیرممکن میباشد. در این مدار به ازای هر ۱۰ میلی ولت ، یک درجه سانتی گراد دما تغییر میکند.
مدار ۲ – Lm35 Arduino
توسط این مداز میتوان در بازه کامل سنسور lm 35 یعنی ۵۰- تا ۱۵۰+درجع سانتیگراد دما را اندازهگیری نمود.
مقدار مقاومت R1 در این مدار از تقسیم ولتاز تعذیه سنسور بر ۵ میکرو آمپر بدست میآید.توسط این مدار میتوان ولتاژی بین ۵۵۰- میلی ولت و همچنین ۱۵۰۰ میلی ولت بدست آورد.ولی مشکل اینجاست که ADC فقط میتواند مقادیر مثبت را بگیرد ، و عملا اعمال ولتاژهای منفی به پین های ADC (آنالوگ به دیجیتال ) آردوینو غیر ممکن است.برای این منظور از مدار شماره ۳ استفاده میکنیم.
مدار ۳ – Lm35 Arduino
با استفاده از این مدار و انجام عملیات ADC تفاضلی میتوان دما را در رنج ۵۵- تا ۱۵۰+ درجه سانتی گراد محاسبه نمود . روش کار اینگونه است که Vout+ و Vout- را به طور جداگانه به دو پین آنالوگ دیجیتال آردوینو متصل میکینم و مقدار آنالوگ هر کدام را بدست میآوریم.سپس ابن دو مقدار را از هم کم میکنیم.
بعد از محاسبات فوق مقدار differenceValue را توسط فرمول زیر به ولتاژ تبدیل میکنیم.
با توجه به دیتاشیت این سنسور ، به ازای هر ۱۰ میلی ولت ، یک درجه سانتیگراد تغییر دما داریم . بنابراین مقدار diffferenceVlotage را در ۱۰۰ ضرب میکنیم تا دمای اندازهگیری شده بدست آید.
کد سنسور دما LM35DZ با آردوینو
#include <LiquidCrystal.h> LiquidCrystal lcd(6, 7, 8, 9, 10, 11, 12); float adcValue0 , adcValue1, vlotage0 , voltage1 , difference , differenceVoltage , temp; void setup() { lcd.begin(16, 2); Serial.begin(9600); } void loop() { adcValue0 = analogRead(A0); adcValue1 = analogRead(A1); difference = adcValue0 - adcValue1; differenceVoltage = (difference * 5) / 1023; temp = differenceVoltage * 100; lcd.print("Dama : "); lcd.print(temp); lcd.print("C"); delay(500); lcd.clear(); }
شماتیک پروژه LM35DZ Arduino
دانلود کدهای پروژه به همراه فایل شبیه سازی شده در پروتئوس
سخت افزار مورد نیاز
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
آقا ما اینو بعد چند ساعت اعصاب خوردی و اینا انجامش دادیم
کسی دیگه درستش کرده؟
میخواستم ببینم از شما هم دمارو اشتباه میزنه؟
سلام
مدار و برنامه ایرادی ندارن
اتصالات مدار را تست کنید
سلام اره برای منم بالای ۴۰۰ درجه میزه و پایین هم نمیاد
با سلام
از یک مقاومت استفاده کنید.
سلام میشه بگید چه جوریش کنم که بفرسته رو ال سی دی کاراکتری
و اگه میشه کدهاشو و اتصالاتشونو بگید
سلام شما هر داده ای را میتونانید بر رویLCD نمایش دهید
برای کار با LCD به آموزش زیر مراجعه کنید
در ضمن در هیمن آموزش هم ،دما بر روی ال سی دی کراکتری نمایش داده میشه 😐
درود
عزیزجان شرمنده میدونم توقع زیادی هستش و شاید توی اموزشهای ایندتون باشه ولی خواستم بدونم که چطوری باید ماژول ترموکوپل رو به اردوینو وصل کنم و به وسیله کامپیوتر و همین طور یه ال سی دی کوچک و چندتا دکمه بشه درجه دمای دوتا هیتر رو تنظیم کنم و واقعن واسم خیلی مهم هستش اگه کمکم کنید ممنون میشم واقعتش میدونم که برای تنظیم دمای هیتر با کنترلر دما بگیرم ولی هم قیمتش گرونه هم تعداد کمیش وصل میشن به کامپیوتر که خودش قیمتش و چند برابر میکنه بازم ممنونم
باید ببخشد که اینجا این سوال و پرسیدم جایی بهتری ندیدم
ماژول مورد نظر هم این هستش
ماژول ترموکوپل MAX6675 تایپ K
http://shop.aftabrayaneh.com/Sensors/Temperature_Humidity/MAX6675_K-type_Thermocouple_Temperature_Sensor_Module.html
سلام
ماژول مورد نظر شما با پروتکل Spi به آردوینو متصل میشه
برای ارتباط با کامپیوتر هم باید از پورت usb استفاده کنید که برنامه ی سمت کامپیوتر را هم با هر زبانی که که دوت داشته باشین میتونین بنویسین( البته لب ویو هم برای این ار خیلی مناسبه)
ممنون از آموزش
من بعد از اینکه lm35 رو به ۵ ولت متصل می کنم به سرعت و به شدت داغ می شه طوری که نمی شه بهش دست زد. با تغییر سنسور هم وضعیت همین بود. اتصالات رو کامل چک کردم و از مدار ساده ی lm35 که توش خروجی مستقیما به میکرو وصل می شه استفاده کردم.
حتی سنسور رو به صورت جدا و بدون اتصال اضافه، فقط به ۵ولت و GND متصل کردم و باز هم همون قدر داغ می شه.
به نظر شما اشکال از کجاست؟
سلام مطمعنم پلارینه را اشتباه متصل کردین
همچنین مراقب باشین ولتاژ بیش از ۵ ولت استفاده نکنین
پایه های ۵ و زمین را جابجا کنید مشکل حل میشه
سلام به شما
با تشکر از سایت خوبتون
من یه سنسور lm35dz گرفتم اما خروجیش با افزایش ولتاژ ورودی افزایش پیدا میکنه
ولتاژ ورودی ۷ ولت خروجی ۰٫۱۱ ولت
ولتاژ ورودی ۱۷ ولت خروجی ۳٫۲۵ ولت
همه اینها در دمای اتاق بوده
آیا این سنسور مشکل داره ؟؟؟
سلام به شما
اما دیتا شیت بیش از ۵ ولت رو مجاز و بدون مشکل دونسته
میشه یکم واضح تر صحبت کنید
منتظرم
ممنون
بله بیشتر از ۵ ولت مجازه
ولی برنامه ای که نوشته شده بر اساس ۵ ولت هست.
در صورت تغییر ولتاژ VCC ، خروجی سنسور نیز تعییر میکنه و باید خودتون فرمول دما را بدست بیارید
سلام…
آیا میشه از دیود ۱N4007 یا ۱N4001 استفاده کرد بجاش؟؟
و بجای ۱۸K از مقاومت ۲۰K استفاده کنم؟؟؟
درود
دیود را میتونین جایگزین کنین ولی باید از مقاومت ۱۸ کیلو استفاده بشه
سلام به شما
چرا جواب نمیدین . . .
salam…ba baghie sensor ha mesle su_105krr ke yek now sensore dama hast ham mishe damaro sense kard ya zakhire kard?
[…] ۳۳ . دانلود ۳۹ پروژه رایگان با AVR | مهندس | هر آنچه یک دانشجو…۱۶ مارس ۲۰۱۴ … دانلود ۳۹ پروژه کاملا کاربردی و عملی با میکرو کنترلر محبوب AVR … پروژه ی دماسنج با سنسور LM35 23. … پروژه کنترل کننده با SMS 38. […]
سلام خسته نباشید . من می خواستم دما به یک مقدار خاصی که رسید یکی از خروجی ها ۱ بشه.از دستور if هم استفاده کردم نشد.لطفا راهنمایی کنید خیلی بهش نیاز دارم
با سلام
لطفا نمونه کدها و کتابخانه ای که استفاده کردهاید را اعلام کنید.
خیلی خوب بود / مرسی
سلام فقط از علیرضا جون تشکر کنم خیلی مردی ایشالله هر جا که هستی موفق باشی
یا علی
salam aqaye qorbani
baraye andazegiri damaye badan va zaraban qalb ba Arduino betore hamzaman az che sensori behtare estefade konam baraye dama ?
baraye zarabane qalb ye mazhul peyda kardam damaro nemidunam
با سلام
لطفا سوالتان را فارسی تایپ کنید.
سلام
لطفا بگید این سنسور بهتر و دقیق تره یا سنسورDS18B20.
در ضمن من در خصوص کد ها ی برنامه اتصال چند سنسور DS18B20به یک برد آردوینو پرسیدم هیچ جوابی داده نشد .آیا علت خاصی داره?
با سلام و تشکر از شما
در این خصوص بسته به پروژه مورد نیاز شما باید سنسور انتخاب شود. در خصوص سوال دیگرتان منتظر باشید تا آموزش مربوطه منتشر شود.
سلام
نوع دیود برای مدار ۳ مهمه ؟
سلام
از چه دیودی میخواهید استفاده کنید؟
سلام دلیل استفاده از دیود ها و مقاومت در این مدار چیه؟ در واقعا این سه چه کار انجام میدهند؟؟؟
سلام
همانطور که در متن آموزش و شماتیک آن گفته شده است برای اندازه گیری دمای منفی در مدار از دیود و مقاومت استفاده شده است.
ببخشیداین برنامه رو برای سنسور LM335 هم میشه استفاده کرد؟!
با سلام
از آنجایی که از لحاظ عملکرد یکسان هستند، بله میتوانید استفاده کنید. ولی خروجی LM335 بر اساس شاخص کلوین میباشد. از این لحاظ ممکن است نیاز به مپ کردن خروجی وجود داشته باشد.
سلام
من از این سنسور استفاده میکنم و وقتی دریافتی پایه آنالوگ رو در ۰٫۴۸۸۲۸۱۲۵ ضرب میکنم دمای نمایشی رو ۴۹۹ میزنه در اتاق!! بنظرتون مشکل کارم کجاست در استفاده از lm35؟؟
با سلام
در صورتیکه به کد مورد استفاده اطمینان دارید، مواردی از جمله اتصالات را بررسی نمایید.
سلام ببخشید من مدار رو بستم اما سنسور اطلاعات دقیق نمیده و همش دایی که نشون میده بالای ۴۰۰ درجه هستش چیکار کنم
با سلام
در صورت نیاز از یک مقاومت ۱۰ کیلو استفاده کنید.