🌡️ سنسور دما TMP36 / LM35 (TMP36 / LM35 Temperature Sensor)

اسم انگلیسیTMP36 / LM35 Temperature Sensor
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته🌡️ سنسورها
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

سنسور دما TMP36 و LM35 (Analog Temperature Sensor) دو سنسور سه‌پایه‌ی کوچک با بدنه‌ی TO-92 هستند که شبیه ترانزیستورند و دما را به ولتاژ تبدیل می‌کنند: هر یک درجه، ده میلی‌ولت. آردوینو این ولتاژ را با analogRead می‌خواند و با یک فرمول ساده به سانتی‌گراد می‌رساند. با آن‌ها دماسنج دیجیتال، ترموستات فن، هشدار گرم شدن جعبه‌ی برق یا ثبت‌کننده‌ی دمای اتاق می‌سازی. در تینکرکد فارسی همین قطعه در مود ساده TMP36 است و در مود آردوینو LM35، برای همین این صفحه هر دو را با هم پوشش می‌دهد.

سنسور دما در ووکوی (Wokwi)

تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را ندارد؛ یعنی نه TMP36 دارد و نه LM35. نزدیک‌ترین قطعه wokwi-ntc-temperature-sensor است، ماژولی با سه پایه‌ی GND، VCC و OUT. ولی حواست باشد که این یک ترمیستور NTC است، یعنی سنسور دیگری با رابطه‌ی غیرخطی: هرچه گرم‌تر شود مقاومتش کمتر می‌شود و برای تبدیل عددش به دما باید از معادله‌ی بتا (Beta) استفاده کنی، نه از فرمول ده میلی‌ولت بر درجه. اگر دمای دیجیتال هم کارت را راه می‌اندازد، سنسور DHT22 در ووکوی کامل وجود دارد.

برای امتحان خود TMP36 و LM35، تینکرکد فارسی این سنسور را رایگان شبیه‌سازی می‌کند: مدار آماده‌ی دماسنج را باز کن و عدد سریال مانیتور را ببین، یا درس دماسنج دیجیتال را برو.

سیم‌کشی با آردوینو

سمت تخت سنسور را رو به خودت بگیر و پایه‌ها را رو به پایین؛ در هر دو سنسور ترتیب یکی است:

پایه‌ی قطعهوصل به
پایه‌ی چپ (+Vs)5V
پایه‌ی وسط (Vout)A0
پایه‌ی راست (GND)GND
خازن ۱۰۰ نانوفاراد (اختیاری)بین +Vs و GND، نزدیک خود سنسور

تفاوت اصلی در نقطه‌ی صفر است: TMP36 در صفر درجه ۵۰۰ میلی‌ولت می‌دهد تا دمای زیر صفر را هم بخواند، ولی LM35 در صفر درجه صفر ولت می‌دهد. پس دمای TMP36 برابر است با «(ولتاژ منهای ۰٫۵) ضرب در ۱۰۰» و دمای LM35 برابر «ولتاژ ضرب در ۱۰۰».

کد نمونه

این برنامه برای هر دو سنسور کار می‌کند؛ فقط مقدار USE_TMP36 را عوض کن. به‌جای یک خواندن، ۱۶ نمونه را میانگین می‌گیرد تا عدد کمتر بپرد. خروجی با قالب temp: چاپ می‌شود تا در نمودار سریال هم یک خط تمیز ببینی.

// TMP36 or LM35 on A0: averaged temperature in Celsius.
const bool USE_TMP36 = true;    // false for an LM35
const int SENSOR_PIN = A0;
const int SAMPLES = 16;

float readCelsius() {
  long sum = 0;
  for (int i = 0; i < SAMPLES; i++) {
    sum += analogRead(SENSOR_PIN);
    delay(2);
  }
  float volts = (sum / (float)SAMPLES) * 5.0 / 1023.0;
  if (USE_TMP36) return (volts - 0.5) * 100.0;   // 0.5 V at 0 C
  return volts * 100.0;                          // LM35: 0 V at 0 C
}

void setup() {
  Serial.begin(9600);
}

void loop() {
  float c = readCelsius();
  Serial.print("temp:");
  Serial.println(c, 1);
  delay(1000);
}

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

فرق TMP36 و LM35 چیست؟

هر دو ۱۰ میلی‌ولت بر درجه می‌دهند، ولی TMP36 در صفر درجه ۰٫۵ ولت خروجی دارد و دمای زیر صفر را با تغذیه‌ی ساده می‌خواند؛ LM35 در صفر درجه صفر ولت می‌دهد و فرمولش فقط ولتاژ ضرب در ۱۰۰ است.

آیا ووکوی سنسور LM35 یا TMP36 دارد؟

تا جایی که می‌دانیم نه. نزدیک‌ترین قطعه wokwi-ntc-temperature-sensor است که یک ترمیستور NTC با فرمول متفاوت است. خود TMP36 و LM35 در تینکرکد فارسی رایگان شبیه‌سازی می‌شوند.

چرا سنسور دمایم داغ می‌شود؟

تقریباً همیشه یعنی پایه‌های تغذیه و زمین را برعکس وصل کرده‌ای. فوراً برق را قطع کن، سمت تخت سنسور را رو به خودت بگیر و پایه‌ی چپ را به 5V و راست را به GND ببر.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: سنسور دما TMP36 / LM35 آمده است.

آموزش‌هایی که از این قطعه استفاده می‌کنند

🔥

سیستم اعلام حریق با آردوینو: سنسور گاز MQ-2، سنسور دما، آژیر و ریست (کد کامل)

قطعه‌های دیگرِ سنسورها

📐

سنسور شیب (تیلت)

Tilt Sensor (SW-520D)

📡

گیرنده‌ی مادون قرمز

IR Receiver (TSOP / VS1838B)

✋

سنسور فشار FSR

Force Sensitive Resistor (FSR)

💨

سنسور گاز MQ-2

MQ-2 Gas Sensor

📳

سنسور لرزش SW-420

SW-420 Vibration Sensor

🧲

سنسور اثر هال

Hall Effect Sensor (A3144)

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

سنسور دما TMP36 / LM35 را در شبیه‌ساز امتحان کن 🚀