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

מדידת טמפרטורה באמצעות MCP9803 ופוטון חלקיקים: 4 שלבים
מדידת טמפרטורה באמצעות MCP9803 ופוטון חלקיקים: 4 שלבים

וִידֵאוֹ: מדידת טמפרטורה באמצעות MCP9803 ופוטון חלקיקים: 4 שלבים

וִידֵאוֹ: מדידת טמפרטורה באמצעות MCP9803 ופוטון חלקיקים: 4 שלבים
וִידֵאוֹ: רב-יקומים, מתח האבל, אנרגיה אפלה | דיק בונד 2024, יולי
Anonim
Image
Image

MCP9803 הוא חיישן טמפרטורה דיוק גבוה בעל 2 חוטים. הם מגולמים ברשמים הניתנים לתכנות על ידי משתמשים המאפשרים יישומי חישת טמפרטורה. חיישן זה מתאים למערכת ניטור טמפרטורות מרובת אזורים מתוחכמת ביותר.

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

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

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

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

1. MCP9803

2. פוטון חלקיקים

3. כבל I2C

4. מגן I2C לפוטון חלקיקים

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

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

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

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

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

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

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

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

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

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

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

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

#לִכלוֹל

#לִכלוֹל

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

#define Addr 0x48

צף cTemp = 0, fTemp = 0;

הגדרת חלל ()

{

// הגדר משתנה

Particle.variable ("i2cdevice", "MCP9803");

Particle.variable ("cTemp", cTemp);

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

Wire.begin ();

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

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

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

Wire.write (0x01);

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

Wire.write (0x60);

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

Wire.endTransmission ();

עיכוב (300);

}

לולאת חלל ()

{

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

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

Wire.beginTransmission (Addr);

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

Wire.write (0x00);

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

Wire.endTransmission ();

// בקש 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.0;

אם (טמפ '> 2047)

{

טמפ ' -= 4096;

}

cTemp = טמפ ' * 0.0625;

fTemp = cTemp * 1.8 + 32;

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

Particle.publish ("טמפרטורה בסלסיוס:", מחרוזת (cTemp));

Particle.publish ("טמפרטורה בפרנהייט:", מחרוזת (fTemp));

עיכוב (500);

}

הפונקציה Particle.variable () יוצרת את המשתנים לאחסון הפלט של החיישן והפונקציה Particle.publish () מציגה את הפלט בלוח המחוונים של האתר.

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

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

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

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

מוּמלָץ: