به نام خدا
پروژه ی دماسنج دیجیتال با آردوینو و سنسور دما LM335 به همراه کد
LM335 یک قطعه ۳ پایه (مثل یک ترانزیستور) است که دمای محیط را به ولتاژ آنالوگ تبدیل می کند.این سنسور نیاز به یک مبدل ADC (آنالوگ به دیجیتال) برای تبدیل ولتاژ آنالوگ به داده های دیجیتال دارد که آردوینو این نیاز ما را فراهم میکند.
- از ۴۰۰ میکرو آمپر تا ۵ میلی آمپر عمل می کند.
- امپدانس دینامیکی کمتر از ۱ Ω
- به راحتی کالیبره میشود
- محدوده دمای عملیاتی گسترده
- قیمت پایین
ولتاژ شکست LM335 به طور مستقیم با درجه حرارت مطلق در ۱۰mV / ° K متناسب است. اگر ولتاژ خروجی LM335 به عنوان مثال ۳٫۰۳ (۳۰۳۰ mV) باشد، یعنی درجه حرارت: ۳۰۳ درجه کلوین یا ۳۰ درجه سانتیگراد می باشد.
سخت افزار مورد نیاز دماسنج دیجیتال با آردوینو و سنسور دما LM335 :
آردوینو UNO
سنسور دمای LM335
ال سی دی ۱۶X2
پتانسیومتر ۱۰K
مقاومت ۲٫۲K
برد برد
سیم برد بردی
مدار دماسنج دیجیتال با آردوینو و سنسور دما LM335 :
پین خروجی سنسور LM335 به کانال آنالوگ ۰ (A0) وصل شده است. من ۲٫۲K اهم را انتخاب کردم، زیرا همانطور که در دیتاشیت قطعه آمده برای دقت بیشتر ، جریان خروجی از LM335 باید ۱mA باشد. برای مثال اگر دمای محیط ۲۷ درجه سانتیگراد باشد، ولتاژ خروجی LM335 3.00 ولت خواهد بود و فرض بر این است که ولتاژ منبع دقیقا ۵٫۰۰ ولت است، یعنی جریان سنسور (۵-۳) /۲٫۲ = ۰٫۹۰mA است که به اندازه کافی خوب است .
کد های پروژه دماسنج دیجیتال با آردوینو و سنسور دما LM335 :
آردوینو UNO دارای یک مبدل آنالوگ به دیجیتال با دقت ۱۰ بیت می باشد یعنی مقدار دیجیتالی ولتاژ آنالوگ ورودی مقداری بین ۰ (۰V) و ۱۰۲۳ (۵V) دارد.
// Digital thermometer with Arduino and LM335 temperature sensor // include LCD library code #include <LiquidCrystal.h> #define LM335_pin 0 // LM335 output pin is connected to Arduino A0 pin // LCD module connections (RS, E, D4, D5, D6, D7) LiquidCrystal lcd(2, 3, 4, 5, 6, 7); void setup() { // set up the LCD's number of columns and rows lcd.begin(16, 2); } char message1[] = "Temp = 00.0 C"; char message2[] = "= 00.0 K"; int Kelvin, Celsius; void loop() { delay(1000); // Wait 1s between readings Kelvin = analogRead(LM335_pin) * 0.489; // Read analog voltage and convert it to Kelvin (0.489 = 500/1023) Celsius = Kelvin - 273; // Convert Kelvin to degree Celsius if(Celsius < 0){ Celsius = abs(Celsius); // Absolute value message1[7] = '-'; // Put minus '-' sign } else message1[7] = ' '; // Put space ' ' if (Celsius > 99) message1[7] = '1'; // Put 1 (of hundred) message1[8] = (Celsius / 10) % 10 + 48; message1[9] = Celsius % 10 + 48; message1[12] = 223; // Put degree symbol message2[2] = (Kelvin / 100) % 10 + 48; message2[3] = (Kelvin / 10) % 10 + 48; message2[4] = Kelvin % 10 + 48; lcd.setCursor(0, 0); lcd.print(message1); lcd.setCursor(5, 1); lcd.print(message2); }
دیدگاهها (0)