- רכיבים נדרשים:
- חיישן טמפרטורה LM35:
- חיבור LM35 עם NodeMCU:
- הסבר קוד:
- קוד HTML להצגת טמפרטורה בדף אינטרנט:
- עובד:
בשנת תחילת קבלה קודמת עם הדרכת NodeMCU, ראינו מה הוא NodeMCU ואת האופן בו אנו יכולים לתכנת אותו באמצעות Arduino IDE . כידוע ל- NodeMCU יש שבב Wi-Fi, כך שהוא יכול להתחבר לאינטרנט. זה מאוד שימושי לבנות פרוייקטים של IoT. בעבר השתמשנו ב- ThingSpeak עם Arduino להכנת מדחום IoT, אך כאן ניצור דף אינטרנט משלנו להצגת טמפרטורה.
במדריך זה נחקור עוד על MCU מעניין זה ולאט לאט אנו צוללים בעולם האינטרנט של הדברים על ידי חיבור NodeMCU לאינטרנט. כאן נשתמש במודול זה כדי להשיג טמפרטורת חדר בדפדפן האינטרנט כלומר נכין שרת אינטרנט שיציג את הטמפרטורה באמצעות LM35 כחיישן טמפרטורה.
רכיבים נדרשים:
- NodeMCU - ESP12
- חיישן טמפרטורה LM35
- קרש לחם
- מחברים בין זכר לנקבה
חיישן טמפרטורה LM35:
LM35 הוא חיישן טמפרטורה לינארי אנלוגי. תפוקתו פרופורציונאלית לטמפרטורה (במעלות צלזיוס). טווח הטמפרטורות ההפעלה הוא בין -55 ° C ל -150 ° C. מתח המוצא משתנה לפי 10mV בתגובה לכל o עליית C או ליפול טמפרטורה. ניתן להפעיל אותו מהספק של 5 וולט כמו גם של 3.3 וולט והמצב לפי זרם הוא פחות מ- 60uA.
שים לב כי LM35 זמין בשלוש גרסאות סדרה כלומר LM35A, LM35C ו- LM35D. ההבדל העיקרי הוא בטווח מדידות הטמפרטורה שלהם. סדרת LM35D נועדה למדוד 0 עד 100 מעלות צלזיוס, כאשר כמו סדרת LM35A נועדה למדוד טווח רחב יותר של -55 עד 155 מעלות צלזיוס. סדרת LM35C נועדה למדוד בין -40 ל -110 מעלות צלזיוס.
השתמשנו כבר ב- LM35 עם מיקרו-בקרים רבים אחרים למדידת הטמפרטורה:
- מדחום דיגיטלי באמצעות מיקרו-בקר LM35 ו- 8051
- מדידת טמפרטורה באמצעות מיקרו-בקר LM35 ו- AVR
- מדחום דיגיטלי באמצעות חיישן טמפרטורה Arduino ו- LM35
- מדידת טמפרטורת החדר עם פטל פטל
חיבור LM35 עם NodeMCU:
תרשים מעגלים לחיבור LM35 עם NodeMCU ניתן להלן:
LM35 הוא חיישן אנלוגי ולכן עלינו להמיר את הפלט האנלוגי הזה לדיגיטלי. לשם כך אנו משתמשים בסיכת ADC של NodeMCU המוגדרת כ- A0. נחבר את הפלט של LM35 ל- A0.
יש לנו 3.3 וולט כמתח יציאה על הפינים של NodeMCU. אז נשתמש ב -3.3 וולט כ- Vcc עבור LM35.
הסבר קוד:
קוד מלא עם סרטון הדגמה ניתן בסוף המאמר. כאן אנו מסבירים כמה חלקים מהקוד. כבר הסברנו להעלות קוד ל- MCU באמצעות Arduino IDE.
ראשית, עלינו לכלול את ספריית ESP8266wifi כדי לגשת לפונקציות ה- Wi-Fi.
#לִכלוֹל
לאחר מכן, הזן Wi-Fi השם והסיסמה שלכם ב- SSID ואת הסיסמה בשדה. גם אתחל את המשתנים והפעל את השרת ביציאה 80 עם קצב שידור 115200.
const char * ssid = "*********"; // הסיסיד שלך const char * password = "***********"; // הסיסמה שלך צפה temp_celsius = 0; צף temp_fahrenheit = 0; שרת WiFiServer (80); הגדרת חלל () { Serial.begin (115200);
חיבור ה- Wi-Fi נוצר על ידי קריאה לפונקציות אלה.
Serial.println (); Serial.println (); Serial.print ("מתחבר אל"); Serial.println (ssid); WiFi.begin (ssid, סיסמה);
החיבור יכול לקחת מספר שניות כדי ליצור, אז המשך להראות '…' עד שהחיבור לא יתקבל. ואז המערכת תמשיך לחכות ולבדוק ללקוח להתחבר…
בעוד (WiFi.status ()! = WL_CONNECTED) { עיכוב (500); Serial.print ("."); } Serial.println (""); Serial.println ("WiFi מחובר"); server.begin (); Serial.println ("השרת התחיל"); Serial.println (WiFi.localIP ()); }
בשנת לולאה סעיף, לקרוא ערכים חיישן ולהפוך אותו צלזיוס פרנהייט ולהציג את הערכים הללו על צג סדרתי.
לולאה בטלה () { temp_celsius = (analogRead (A0) * 330.0) / 1023.0; // כדי להמיר ערכים אנלוגיים לצלזיוס יש לנו 3.3 וולט על הלוח שלנו ואנחנו יודעים שמתח המוצא של LM35 משתנה ב -10 mV לכל דרגת עלייה / ירידה של צלזיוס. אז, (A0 * 3300/10 ) / 1023 = צלזיוס temp_fahrenheit = צלזיוס * 1.8 + 32.0; Serial.print ("טמפרטורה ="); Serial.print (temp_celsius); Serial.print ("צלזיוס");
קוד HTML להצגת טמפרטורה בדף אינטרנט:
אנו מציגים את הטמפרטורה בדף אינטרנט כדי שתהיה נגישה מכל מקום בעולם באמצעות האינטרנט. קוד HTML הוא פשוט מאוד; עלינו רק להשתמש בפונקציה client.println כדי להדהד כל שורה של קוד ה- HTML, כך שהדפדפן יוכל לבצע אותה.
חלק זה מציג קוד HTML ליצירת דף אינטרנט המציג את ערך הטמפרטורה.
לקוח WiFiClient = server.available (); client.println ("HTTP / 1.1 200 אישור"); client.println ("סוג תוכן: טקסט / HTML"); client.println ("חיבור: סגור"); // החיבור ייסגר לאחר השלמת לקוח התגובה. println ("רענן: 10"); // עדכן את הדף אחרי client.println של 10 שניות (); client.println (""); client.println (""); client.print ("
מד חום דיגיטלי
"); client.print ("טמפרטורה (* C) = "); client.println (temp_celsius); client.print ("
טמפרטורה (F) = "); client.println (temp_fahrenheit); client.print ("
"); client.println (" "); עיכוב (5000); }עובד:
לאחר העלאת הקוד באמצעות Arduino IDE, פתח את המסך הטורי ולחץ על כפתור Reset ב- NodeMCU.
עכשיו אתה יכול לראות שהלוח מחובר לרשת ה- Wi-Fi שהגדרת בקוד שלך וגם קיבלת את ה- IP. העתק את ה- IP הזה והדבק אותו בכל דפדפן אינטרנט. ודא שהמערכת שלך בה אתה מפעיל את דפדפן האינטרנט צריכה להתחבר לאותה רשת.
המדחום הדיגיטלי שלך מוכן והטמפרטורה תתרענן אוטומטית בדפדפן האינטרנט לאחר כל 10 שניות.
כדי להנגיש דף אינטרנט זה מהאינטרנט, אתה רק צריך להגדיר העברת פורטים בנתב / המודם שלך. בדוק את הקוד המלא ואת הסרטון למטה.
בדקו גם:
- תחנת מזג האוויר של פטל: ניטור לחות, טמפרטורה ולחץ דרך האינטרנט
- ניטור טמפרטורה ולחות בשידור חי באינטרנט באמצעות Arduino ו- ThingSpeak