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

ניטור טמפרטורות באמצעות MCP9808 ו- Arduino Nano: 4 שלבים
ניטור טמפרטורות באמצעות MCP9808 ו- Arduino Nano: 4 שלבים

וִידֵאוֹ: ניטור טמפרטורות באמצעות MCP9808 ו- Arduino Nano: 4 שלבים

וִידֵאוֹ: ניטור טמפרטורות באמצעות MCP9808 ו- Arduino Nano: 4 שלבים
וִידֵאוֹ: Battery Level Indicator Circuit uses LM324 IC, مؤشر مستوى شحن البطارية 2024, יולי
Anonim
Image
Image

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

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

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

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

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

1. MCP9808

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

3. כבל I2C

4. מגן I2C לננו ארדואינו

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

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

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

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

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

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

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

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

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

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

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

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

#לִכלוֹל

// כתובת I2C MCP9808 היא 0x18 (24)

#define Addr 0x18

הגדרת חלל ()

{

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

Wire.begin ();

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

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

// מצב המרה רציף, ברירת מחדל להפעלה

Wire.write (0x00);

Wire.write (0x00);

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

Wire.endTransmission ();

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

Wire.beginTransmission (Addr);

// בחר רשם רזולוציה

Wire.write (0x08);

// רזולוציה = +0.0625 / C

Wire.write (0x03);

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

Wire.endTransmission ();

}

לולאת חלל ()

{

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

// מתחיל תקשורת I2C

Wire.beginTransmission (Addr);

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

Wire.write (0x05);

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

Wire.endTransmission ();

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

Wire.requestFrom (Addr, 2);

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

// טמפ 'MSB, טמפ' LSB

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

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

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

int temp = ((data [0] & 0x1F) * 256 + נתונים [1]);

אם (טמפ '> 4095)

{

טמפ ' -= 8192;

}

צף cTemp = טמפ ' * 0.0625;

צף fTemp = cTemp * 1.8 + 32;

// נתוני פלט למסך

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

Serial.println (cTemp);

Serial.println ("C");

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

Serial.println (fTemp);

Serial.println ("F");

עיכוב (500);

}

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

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

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

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

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

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

מוּמלָץ: