תוכן עניינים:
וִידֵאוֹ: תיבת חיישן טמפרטורה DS18B20: 5 שלבים
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
מכשיר חיישן טמפרטורה פשוט מבוסס DS18B20 עם קוד פתוח בתלת מימד להדפסה בתלת מימד ואב -טיפוס PCB.
הקופסה ואב -הטיפוס PCB הינם אופציונליים, יש צורך רק ב- MCU אחד מבוסס ESP8266 וחיישן טמפרטורה אחד DS18B20. אני מציע לך מיני WEMOS D1, אך הדוגמה הזו עובדת גם עם ESP-01.
דוגמה זו אכן מסבירה כיצד לכתוב ולהעלות תוכנית Arduino ל- ESP8266 MCU, לכן היה מודע למיומנות זו לפני שתעקוב אחריי.:)
אספקה
חייב להיות:- ESP8266 MCU- DS18B20- נגד אחד 4.7 קאוהם- חוט כלשהו
אופציונלי יש:- WEMOS D1 mini כ- MCU- אב טיפוס PCB עבור WEMOS D1 mini- קופסה מודפסת תלת-ממדית
שלב 1: כיצד לחבר את החוטים?
זה קל כמו עוגה, בדוק את תרשימי החיווט שבתמונה …:)
1, במקרה של לוח ESP8266 חשוף, חבר את ה- RX וה- TX למכשיר הסדרתי USB שלך, במקרה של כל לוח עם USB משולב אין צורך בכך.
2, חבר את ה- GND וה- VCC ללוח ESP8266 ולחיישן DS18B20.
3, חבר את הנגד בין ה- VCC לבין חוט הנתונים של חיישן DS18B20.
4, חבר את חוט הנתונים של חיישן DS18B20 ל- GPIO אחד של ה- MCU (למשל GPIO 2).
שלב 2: הגדר את ה- ArduinoIDE
אתה צריך שלוש ספרייה נוספת:- OneWire: https://www.arduinolibraries.info/libraries/one-wire- DallasTemperature: https://www.arduinolibraries.info/libraries/dallas-temperature- שילוב גורו IoT:
שלב 3: הירשם וצור מכשיר, צומת ושדה
הענן של IoT Guru הוא קובץ אחורי בענן בחינם, אתה יכול להשתמש בו כדי לשמור ולהראות מדידות ממש קלות.
עליך ליצור מכשיר, צומת ושדה:- שם המכשיר הוא ESP8266: https://iotguru.cloud/tutorials/devices- שם הצומת הוא DS18B20: https://iotguru.cloud/tutorials/ צמתים- שם השדה הוא טמפרטורה:
כדי להתחבר לענן, עליך לאסוף חמישה מזהים:- userShortId: המזהה הקצר שלך- deviceShortId: המזהה הקצר של המכשיר שלך- מכשיר מפתח: המפתח הסודי של המכשיר שלך- nodeShortId: המזהה הקצר של המכשיר שלך- fieldName: שם השדה
שלב 4: קוד ארדואינו
להלן הקוד לדוגמה, עליך להחליף את המזהים למזהה שלך, להחליף את ה- SSID ואת הסיסמה לאישורי ה- WiFi שלך ולבדוק את מספר GPIO של חוט הנתונים DS18B20.
#לִכלוֹל
#include #include #include const char* ssid = "iotguru.cloud"; const char*password = "********"; String userShortId = "l4jLDUDDVKNNzx4wt2UR6Q"; String deviceShortId = "uAjbSzf8LvlrofvwYU8R6g"; String deviceKey = "hacfIjPn6KbBf2md8nxNeg"; IoTGuru iotGuru = IoTGuru (userShortId, deviceShortId, deviceKey); NodeKey String = "tGib1WSRvEGJ98rQYU8R6g"; String fieldName = "טמפרטורה"; #define ONE_WIRE_BUS 2 OneWire oneWire (ONE_WIRE_BUS); חיישני טמפרטורה של Dallas (& oneWire); הגדרת void (void) {Serial.begin (115200); עיכוב (10); WiFi.begin (ssid, סיסמא); בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (50); Serial.print ("."); } Serial.println (""); iotGuru.setCheckDuration (60000); iotGuru.setDebugPrinter (& סידורי); חיישנים.התחל (); } לולאת חלל (חלל) {iotGuru.check (); sensors.requestTemperatures (); float measureValue = sensors.getTempCByIndex (0); Serial.println ("טמפרטורת החיישן הראשונה:" + מחרוזת (measureValue) + "° C"); iotGuru.sendHttpValue (nodeKey, fieldName, measureValue); עיכוב (30000); }
שלב 5: הפעל ובדוק
אם הכל בסדר, תיבת המדחום שלך תשלח את מדידות החיישן לענן ותראה גרפים נחמדים כל כך לאורך זמן אם הצטברו מספיק מדידות.
דוגמאות חיות: -
פרויקט מורחב של GitHub:-