קבל את המספר הסידורי של DS18B20 עם ארדואינו: 5 שלבים
קבל את המספר הסידורי של DS18B20 עם ארדואינו: 5 שלבים
קבל את המספר הסידורי של DS18B20 עם ארדואינו
קבל את המספר הסידורי של DS18B20 עם ארדואינו

זהו מדריך מהיר כיצד להשיג את המספרים הסידוריים האישיים של חיישני הטמפרטורה החד-חוטיים DS18B20 שלך.

זה שימושי לפרויקטים הדורשים חיישנים מרובים.

דברים שאתה צריך:

  • Arduino 5v (UNO, Mega, Pro Mini וכו ') - Arduino UNO R3 - AliExpress - eBay
  • חיישן טמפ 'DS18B20 - AliExpress - eBay
  • 4.7k - 1/4w Resistor THT - AliExpress - eBay
  • קרש לחם - AliExpress - eBay
  • חוטי מגשר - זכר לזכר - AliExpress - eBay
  • מחשב עם Arduino IDE מותקן

שלב 1: הוסף את הספרייה הנדרשת ל- Arduino IDE

הוסף את הספרייה הנדרשת ל- Arduino IDE
הוסף את הספרייה הנדרשת ל- Arduino IDE
  1. פתח את Arduino IDE (אני משתמש ב- 1.8.1)
  2. לחץ על "סקיצה" -> "כלול ספרייה" -> "נהל ספריות …"
  3. בחר בסרגל החיפוש והקלד "dallas"
  4. לחץ על "DallasTemperature" ולחץ על "התקן"

לחלופין תוכל להוריד את הספרייה מכאן:

ספרייה זו כוללת את ספריית OnWire.

שלב 2: חיבור ה- DS18B20

חבר את ה- DS18B20
חבר את ה- DS18B20
חבר את ה- DS18B20
חבר את ה- DS18B20

באמצעות לוח לחם חיבור +5V, GND ו- Digital Pin 2 (סיכה 2 כבר מוגדרת בסקיצה לדוגמא) מהארדואינו באמצעות מגשרים ללוח זכר לזכר.

חבר את DS18B20 במקביל לרצועות המסוף 3x בלוח הלחם.

  • פין 1 (GND) -> GND (0V הקרקע)
  • פין 2 (DATA) -> פין דיגיטלי 2
  • פין 3 (Vdd) -> +5V

למצב צריכת חשמל רגילה, חבר הנגד של 4.7K מ- 5V לחוט Pin 2 דיגיטלי בלוח הלחם.

הקישור הבא הוא משאב מצוין עבור חיישן הטמפרטורה החד-חוטי DS18B20.

www.tweaking4all.com/hardware/arduino/ardu…

שלב 3: טען את הסקיצה לדוגמא "רווק"

טען את הסקיצה לדוגמה
טען את הסקיצה לדוגמה
טען את הסקיצה לדוגמה
טען את הסקיצה לדוגמה

לאחר שתהיה לו חיבור אתה מוכן לטעון את ה- Temperature "Single" SketchOpen Arduino IDE של דאלאס (אני משתמש 1.8.1) לחץ על "קובץ" -> "דוגמאות" -> "טמפרטורת דאלאס" -> "יחיד" שהוספתי באיחור (5000); בקו 103 כדי לתת לי זמן להעתיק את המספר הסידורי בחר את טופס הלוח המתאים "כלים" -> "לוח" בחר ביציאה המתאימה שלך "כלים" -> "יציאה" כעת "העלה" הסקיצה "סקיצה" -> "העלה" לחץ על "כלים" -> "צג סידורי" וודא ששיעורי השידור התואמים את שלי הם 9600 אם אתה לא ציינת, בדוק את הלוח, הנמל, מנהלי ההתקנים של USB וכו '.

שלב 4: העתק את המספר הסידורי

העתק את המספר הסידורי
העתק את המספר הסידורי
העתק את המספר הסידורי
העתק את המספר הסידורי

מתוך "צג סידורי" תראה השורה הרביעית היא "מכשיר 0 כתובת: xxxxxxxxxxxxxxxx"

זהו המספר הסידורי של ה- DS18B20

אם זה "0000000000000000" אז יש בעיה בקריאת DS18B20 שלך.

סמן אותו עם העכבר ולחץ על CTRL+C במקלדת ולאחר מכן עבר אותו בפנקס הרשימות

לפרויקטים אחרים שלי הקוד שלי משתמש במערך של מספרים אלה. עיצבתי מחדש את מחרוזת HEX לפורמט הבא.

DeviceAddress tempSensorSerial [9] = {

{0x28, 0xFF, 0x07, 0xA6, 0x70, 0x17, 0x04, 0xB5}, {0x28, 0xFF, 0xB2, 0xA6, 0x70, 0x17, 0x04, 0x28}, {0x28, 0xFF, 0x42, 0x98, 0x70, 0x07, 0xD3}, {0x28, 0xFF, 0x86, 0xA8, 0x70, 0x17, 0x04, 0xA6}, {0x28, 0xFF, 0x2B, 0x65, 0x71, 0x17, 0x04, 0x76}, {0x28, 0xFF, 0x66, 0x62,, 0x17, 0x04, 0xF5}, {0x28, 0xFF, 0xD9, 0x9B, 0x70, 0x17, 0x04, 0x9C}, {0x28, 0xFF, 0x98, 0x6A, 0x71, 0x17, 0x04, 0xED}, {0x28, 0x,, 0x42, 0x71, 0x17, 0x04, 0x4C}};

שלב 5: סיים

גָמוּר
גָמוּר

כעת תוכל לזהות כל חיישן טמפרטורה חד-חוטי DS18B20 בנפרד בקוד שלך ולהשתמש בפונקציה כזו:

float getTemperature (בת j) {

sensors.requestTemperaturesByAddress (tempSensorSerial [j]);

float tempC = sensors.getTempC (tempSensorSerial [j]);

החזרה tempC;

}

מוּמלָץ: