תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
חיישן הטמפרטורה הדיגיטלי STS21 מציע ביצועים מעולים וטביעת רגל חוסכת מקום. הוא מספק אותות מכויל, לינארית בפורמט דיגיטלי, I2C. ייצור חיישן זה מבוסס על טכנולוגיית CMOSens, המייחסת את הביצועים והאמינות של STS21. ניתן לשנות את הרזולוציה של STS21 על ידי פקודה, ניתן לזהות סוללה חלשה וסכום ביקורת עוזר לשפר את אמינות התקשורת. להלן הדגמת ההתממשקות שלו לפוטון חלקיקים.
שלב 1: מה שאתה צריך..
1. פוטון חלקיקים
2. STS21
3. כבל I²C
4. מגן I²C לפוטון חלקיקים
שלב 2: חיבור:
קח מגן I2C עבור פוטון חלקיקים ודחוף אותו בעדינות על סיכות פוטון החלקיקים.
לאחר מכן חבר את הקצה האחד של כבל I2C לחיישן STS21 והקצה השני למגן I2C.
חיבורים מוצגים בתמונה למעלה.
שלב 3: קוד:
ניתן להוריד את קוד החלקיקים עבור STS21 ממאגר GitHub שלנו- חנות Dcube.
להלן הקישור לאותו דבר:
github.com/DcubeTechVentures/STS21
השתמשנו בשתי ספריות לקוד חלקיקים, שהם application.h ו- spark_wiring_i2c.h. ספריית Spark_wiring_i2c נדרשת על מנת להקל על תקשורת I2C עם החיישן.
אתה יכול גם להעתיק את הקוד מכאן, הוא ניתן כדלקמן:
// מופץ ברישיון רצון חופשי.
// השתמש בו בכל דרך שתרצה, ברווח או בחינם, בתנאי שהוא מתאים לרישיונות של העבודות הקשורות בו.
// STS21
// קוד זה נועד לעבודה עם מודול מיני STS21_I2CS I2C הזמין בחנות Dcube.
#לִכלוֹל
#לִכלוֹל
// כתובת STS21 I2C היא 0x4A (74)
#define addr 0x4A
צף cTemp = 0.0;
הגדרת חלל ()
{
// הגדר משתנה
Particle.variable ("i2cdevice", "STS21");
Particle.variable ("cTemp", cTemp);
// אתחל תקשורת I2C כ- MASTER
Wire.begin ();
// התחל תקשורת טורית, הגדר קצב שידור = 9600
Serial.begin (9600);
עיכוב (300);}
לולאת חלל ()
{
נתוני int ללא חתום [2];
// התחל את שידור I2C
Wire.beginTransmission (addr);
// בחר אין מאסטר אחזקה
Wire.write (0xF3);
// סיום שידור I2C
Wire.endTransmission ();
עיכוב (500);
// בקש 2 בתים של נתונים
Wire.requestFrom (addr, 2);
// קרא 2 בתים של נתונים
אם (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// המר את הנתונים
int rawtmp = data [0] * 256 + נתונים [1];
int value = rawtmp & 0xFFFC;
cTemp = -46.85 + (175.72 * (ערך / 65536.0));
צף fTemp = cTemp * 1.8 + 32;
// נתוני פלט ללוח המחוונים
Particle.publish ("טמפרטורה בסלסיוס:", מחרוזת (cTemp));
Particle.publish ("טמפרטורה בפרנהייט:", מחרוזת (fTemp));
עיכוב (1000);
}
שלב 4: יישומים:
ניתן להשתמש בחיישן טמפרטורה דיגיטלי STS21 במערכות הדורשות ניטור טמפרטורה ברמת דיוק גבוהה. ניתן לשלב אותו במכשירי מחשב שונים, ציוד רפואי ומערכות בקרה תעשייתיות הדרושות למדידת טמפרטורה בדיוק רב.