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

מדידת טמפרטורה באמצעות TMP112 וארדואינו ננו: 4 שלבים
מדידת טמפרטורה באמצעות TMP112 וארדואינו ננו: 4 שלבים

וִידֵאוֹ: מדידת טמפרטורה באמצעות TMP112 וארדואינו ננו: 4 שלבים

וִידֵאוֹ: מדידת טמפרטורה באמצעות TMP112 וארדואינו ננו: 4 שלבים
וִידֵאוֹ: איך מודדים לחות עם מד טמפרטורה 2024, נוֹבֶמבֶּר
Anonim
Image
Image

TMP112 מודול I2C MINI בעל דיוק גבוה, הספק נמוך וחיישן טמפרטורה דיגיטלי. TMP112 אידיאלי למדידת טמפרטורה ממושכת. מכשיר זה מציע דיוק של ± 0.5 ° C ללא צורך בכיול או מיזוג אות רכיב חיצוני.

במדריך זה הודגם הממשק של מודול החיישנים TMP112 עם ננו ארדואינו. כדי לקרוא את ערכי הטמפרטורה, השתמשנו בארדואינו עם מתאם I2c. מתאם I2C זה הופך את החיבור למודול החיישן לקל ואמין יותר.

שלב 1: חומרה נדרשת:

חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת
חומרה נדרשת

החומרים הדרושים לנו להגשמת מטרתנו כוללים את רכיבי החומרה הבאים:

1. TMP112

2. ארדואינו ננו

3. כבל I2C

4. מגן I2C עבור Arduino Nano

שלב 2: חיבור חומרה:

חיבור חומרה
חיבור חומרה
חיבור חומרה
חיבור חומרה

קטע חיבור החומרה בעצם מסביר את חיבורי החיווט הנדרשים בין החיישן לננו הארדואינו. הבטחת חיבורים נכונים היא ההכרח הבסיסי בעת עבודה על כל מערכת לתפוקה הרצויה. אז, החיבורים הנדרשים הם כדלקמן:

TMP112 יעבוד על I2C. להלן תרשים החיווט לדוגמה, המדגים כיצד לחבר כל ממשק של החיישן.

הלוח מחוץ לקופסה מוגדר לממשק I2C, ולכן אנו ממליצים להשתמש בחיבור זה אם אתה אגנוסטי אחרת. כל מה שאתה צריך זה ארבעה חוטים!

רק ארבעה חיבורים נדרשים סיכות Vcc, Gnd, SCL ו- SDA ואלו מחוברים בעזרת כבל I2C.

קשרים אלה מודגמים בתמונות למעלה.

שלב 3: קוד למדידת טמפרטורה:

קוד למדידת טמפרטורה
קוד למדידת טמפרטורה

נתחיל עם הקוד של Arduino עכשיו.

בעת השימוש במודול החיישנים עם Arduino, אנו כוללים את ספריית Wire.h. ספריית "Wire" מכילה את הפונקציות המאפשרות תקשורת i2c בין החיישן ללוח ה- Arduino.

קוד Arduino כולו ניתן להלן לנוחות המשתמש:

#לִכלוֹל

// כתובת TMP112 I2C היא 0x48 (72)

#define Addr 0x48

הגדרת חלל ()

{

// אתחל תקשורת I2C כ- MASTER

Wire.begin ();

// אתחל תקשורת טורית, הגדר קצב שידור = 9600

Serial.begin (9600);

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר רשם תצורה

Wire.write (0x01);

// המרה רציפה, מצב השוואה, רזולוציה של 12 סיביות

Wire.write (0x60);

Wire.write (0xA0);

// עצור את שידור I2C

Wire.endTransmission ();

עיכוב (300);

}

לולאת חלל ()

{

נתונים לא חתומים [2];

// התחל את שידור I2C

Wire.beginTransmission (Addr);

// בחר רישום נתונים

Wire.write (0x00);

// עצור את שידור I2C

Wire.endTransmission ();

עיכוב (300);

// בקש 2 בתים של נתונים

Wire.requestFrom (Addr, 2);

// קרא 2 בתים של נתונים

// זמני msb, temp lsb

אם (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// המר את הנתונים ל -12 סיביות

int temp = ((data [0] * 256) + data [1]) / 16;

אם (טמפ '> 2048)

{

טמפ ' -= 4096;

}

צף cTemp = טמפ ' * 0.0625;

צף fTemp = cTemp * 1.8 + 32;

// נתוני פלט לצג הסדרתי

Serial.print ("טמפרטורה בצלזיוס:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("טמפרטורה בפרנהייט:");

Serial.print (fTemp);

Serial.println ("F");

עיכוב (500);

}

בספריית תיל Wire.write () ו- Wire.read () משמשים לכתיבת הפקודות וקריאת פלט החיישן.

Serial.print () ו- Serial.println () משמשים להצגת פלט החיישן על הצג הטורי של ה- Arduino IDE.

פלט החיישן מוצג בתמונה למעלה.

שלב 4: יישומים:

יישומים
יישומים

יישומים שונים המשלבים חיישן טמפרטורה דיגיטלי בעל הספק נמוך, דיוק גבוה TMP112 כוללים ניטור טמפרטורת אספקת חשמל, הגנה תרמית היקפית למחשב, ניהול סוללות ומכונות משרדיות.

מוּמלָץ: