מאמר:
מדריך חיבור חיישן טמפרטורה LM35DZ ל-Arduino ול-ESP32:
במדריך זה נלמד כיצד לחבר חיישן טמפרטורה LM35DZ לבקר Arduino UNO ולבקר ESP32.
נראה איך לקרוא את המתח האנלוגי מהחיישן, להמיר אותו לטמפרטורה במעלות Celsius,
ולהציג את הערך ב-Serial Monitor.
מהו חיישן LM35DZ?
LM35DZ הוא חיישן טמפרטורה אנלוגי. החיישן מוציא מתח חשמלי שמשתנה בצורה ליניארית לפי הטמפרטורה.
היחס הבסיסי של החיישן הוא 10mV לכל 1°C.
החיישן מתאים לפרויקטים של מדידת טמפרטורה, תרמוסטט בסיסי, בקרת מאוורר,
ניטור סביבתי וניסויים עם חיישנים אנלוגיים. דגם LM35DZ מיועד בדרך כלל לטווח של 0°C עד 100°C.
איך החיישן עובד?
החיישן מקבל מתח הזנה, מודד את הטמפרטורה בסביבתו ומוציא מתח אנלוגי בפין Vout.
את המתח הזה ניתן לקרוא בעזרת כניסה אנלוגית של Arduino או ESP32.
מכיוון שהיציאה היא 10mV לכל מעלה, החישוב פשוט:
- 250mV מייצגים בערך 25°C.
- 300mV מייצגים בערך 30°C.
- 500mV מייצגים בערך 50°C.
החיישן אינו דורש תקשורת I2C או ספרייה מיוחדת. הוא מחובר ישירות לכניסה אנלוגית.
פינים בחיישן LM35DZ
| פין | תפקיד |
|---|---|
| Vs | מתח הזנה לחיישן |
| Vout | יציאה אנלוגית לפי הטמפרטורה |
| GND | אדמה |
רכיבים נדרשים
- חיישן טמפרטורה LM35DZ
- Arduino UNO או ESP32
- Breadboard
- חוטי Dupont
- כבל USB
חיבור LM35DZ ל-Arduino UNO

| LM35DZ | Arduino UNO |
| Vs | 5V |
| GND | GND |
| Vout | A0 |
הסבר חיבור
ב-Arduino UNO מחברים את פין Vout של החיישן לכניסה האנלוגית A0.
החיישן מקבל מתח הזנה של 5V, והבקר קורא את המתח האנלוגי וממיר אותו לערך דיגיטלי.
חשוב לבדוק את כיוון הרגליים של LM35DZ לפי מבט על החלק השטוח של החיישן.
חיבור הפוך של Vs ו-GND עלול לגרום להתחממות החיישן או לפגיעה בו.
קוד Arduino בסיסי לקריאת החיישן
const int lm35Pin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(lm35Pin);
float voltage = sensorValue * (5.0 / 1023.0);
float temperatureC = voltage * 100.0;
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" C");
delay(500);
}הסבר הקוד
הקוד קורא את הערך האנלוגי מהפין A0.
לאחר מכן הוא מחשב את המתח לפי מתח הייחוס של Arduino UNO, שהוא בדרך כלל 5V.
מכיוון שהחיישן נותן 10mV לכל 1°C, מכפילים את המתח ב-100 כדי לקבל טמפרטורה במעלות Celsius.
חיבור LM35DZ ל-ESP32

הערה חשובה לפני החיבור
לפי דף הנתונים, LM35DZ דורש מתח הזנה של לפחות 4V, לכן בחיבור ל-ESP32 מומלץ להזין את החיישן מ-5V או VIN.
עם זאת, את פין Vout מחברים לכניסת ADC של ESP32 בלבד.
פין Vout של LM35DZ נותן 10mV לכל 1°C, ולכן בטווח העבודה הרגיל של LM35DZ המתח נמוך בהרבה מ-3.3V.
עדיין חשוב לא לחבר בטעות את פין Vs של 5V לכניסה אנלוגית של ESP32.
| LM35DZ | ESP32 |
| Vs | 5V / VIN |
| GND | GND |
| Vout | GPIO34 |
הסבר חיבור
ב-ESP32 ניתן להשתמש בפין ADC כמו GPIO34 כדי לקרוא את המתח האנלוגי מהחיישן.
החיישן מוזן מ-5V, אך יציאת המדידה Vout מחוברת ל-GPIO34.
מומלץ להשתמש בפיני ADC1 של ESP32, לדוגמה GPIO32, GPIO33, GPIO34, GPIO35, GPIO36 או GPIO39,
במיוחד בפרויקטים שבהם משתמשים גם ב-WiFi.
קוד ESP32 בסיסי לקריאת החיישן
const int lm35Pin = 34;
void setup() {
Serial.begin(115200);
analogReadResolution(12);
}
void loop() {
int sensorValue = analogRead(lm35Pin);
float voltage = sensorValue * (3.3 / 4095.0);
float temperatureC = voltage * 100.0;
Serial.print("Temperature: ");
Serial.print(temperatureC);
Serial.println(" C");
delay(500);
}הסבר הקוד
הקוד קורא את הערך האנלוגי מפין GPIO34.
ב-ESP32 הקריאה היא בדרך כלל ברזולוציה של 12-bit, כלומר ערכים מ-0 עד 4095.
לאחר מכן הקוד מחשב את המתח לפי 3.3V וממיר אותו לטמפרטורה לפי היחס של LM35:
כל 10mV מייצגים 1°C.
פרויקט לדוגמה
מאוורר אוטומטי לפי טמפרטורה עם LM35 ו-Arduino

בפרויקט זה משתמשים בחיישן LM35 יחד עם Arduino כדי למדוד את טמפרטורת הסביבה ולהפעיל מאוורר כאשר הטמפרטורה עוברת סף שנקבע.
מעבר לחיישן עצמו, הפרויקט כולל מאוורר ורכיב שליטה כמו Relay או Transistor, ולכן הוא מתאים ללמידה על בקרת טמפרטורה ותגובה אוטומטית.
סיכום
חיישן LM35DZ הוא חיישן פשוט ונוח למדידת טמפרטורה בעזרת מתח אנלוגי.
בעזרת Arduino או ESP32 ניתן לקרוא ממנו ערך, להמיר אותו למעלות Celsius,
ולהשתמש בו בפרויקטים של ניטור טמפרטורה, תרמוסטט בסיסי ובקרת מאוורר.
יש להקפיד על כיוון רגליים נכון ועל חיבור מתאים לכניסה האנלוגית של הבקר.
חיבור שגוי עלול לגרום להתחממות או לפגיעה בחיישן.