תוכן עניינים:

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

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

וִידֵאוֹ: קבל את המספר הסידורי של DS18B20 עם ארדואינו: 5 שלבים
וִידֵאוֹ: Lesson 12: Using Arduino Programming function and switch | SunFounder Robojax 2024, יולי
Anonim
קבל את המספר הסידורי של 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;

}

מוּמלָץ: