תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
MCP9803 הוא חיישן טמפרטורה דיוק גבוה בעל 2 חוטים. הם מגולמים ברשמים הניתנים לתכנות על ידי משתמשים המאפשרים יישומי חישת טמפרטורה. חיישן זה מתאים למערכת ניטור טמפרטורות מרובת אזורים מתוחכמת ביותר. להלן ההדגמה עם קוד ג'אווה באמצעות פטל פטל.
שלב 1: מה שאתה צריך..
1. פטל פטל
2. MCP9803
3. כבל I²C
4. מגן I²C עבור פטל פטל
5. כבל אתרנט
שלב 2: חיבורים
קח מגן I2C לפאי פטל ודחוף אותו בעדינות מעל סיכות ה- gpio של פטל פאי.
לאחר מכן חבר את הקצה האחד של כבל I2C לחיישן MCP9803 והקצה השני למגן I2C.
חבר גם את כבל ה- Ethernet ל- pi או שאתה יכול להשתמש במודול WiFi. חיבורים מוצגים בתמונה למעלה.
שלב 3: קוד
ניתן להוריד את קוד java עבור MCP9803 ממאגר github שלנו- חנות Dcube
להלן הקישור לאותו דבר:
github.com/DcubeTechVentures/MCP9803/blob/master/Java/MCP9803.java
השתמשנו בספריית pi4j עבור קוד java, השלבים להתקנת pi4j על פטל pi מתוארים כאן:
pi4j.com/install.html
אתה יכול גם להעתיק את הקוד מכאן, הוא ניתן כדלקמן:
// מופץ ברישיון רצון חופשי.
// השתמש בו בכל דרך שתרצה, ברווח או בחינם, בתנאי שהוא מתאים לרישיונות של העבודות הקשורות בו.
// MCP9803
// קוד זה נועד לעבודה עם מודול מיני MCP9808_I2CS I2C
ייבא com.pi4j.io.i2c. I2CBus;
ייבא com.pi4j.io.i2c. I2CDevice;
יבוא com.pi4j.io.i2c. I2CFactory;
יבוא java.io. IOException;
מעמד ציבורי MCP9803
{
פוסט סטטי ציבורי ריק (String args ) זורק חריגה
{
// צור אוטובוס I2C
אוטובוס I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);
// קבל מכשיר I2C, כתובת I2C MCP9803 היא 0x48 (72)
מכשיר I2CDevice = Bus.getDevice (0x48);
// בחר רשם תצורה
// מצב המרה רציף, הפעלה, מצב השוואה, רזולוציה של 12 סיביות
device.write (0x01, (בייט) 0x60);
Thread.sleep (500);
// קרא 2 בתים של נתונים מהכתובת 0x00 (0)
// זמני msb, temp lsb
בייט נתונים = בייט חדש [2];
device.read (0x00, data, 0, 2);
// המר את הנתונים ל -12 סיביות
int temp = ((data [0] & 0xFF) * 256 + (data [1] & 0xF0)) / 16;
אם (טמפ '> 2047)
{
טמפ ' -= 4096;
}
cTemp כפול = טמפ ' * 0.0625;
כפול fTemp = cTemp * 1.8 + 32;
// נתוני פלט למסך
System.out.printf ("הטמפרטורה בצלזיוס היא: %.2f C %n", cTemp);
System.out.printf ("הטמפרטורה בפרנהייט היא: %.2f F %n", fTemp);
}
}
שלב 4: יישומים..:
ניתן להשתמש ב- MCP9803 בזירה רחבה של מכשירים הכוללים מחשב אישי וציוד היקפי, כונני דיסק קשיח, מערכות בידור שונות, מערכות משרדיות ומערכות תקשורת נתונים. ניתן לשלב חיישן זה במערכות מתוחכמות שונות.