תוכן עניינים:
2025 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2025-01-13 06:57
לאחרונה עבדנו על פרויקטים שונים הדורשים ניטור טמפרטורה ולחות ואז הבנו ששני הפרמטרים הללו ממלאים למעשה תפקיד מרכזי בהערכה של יעילות העבודה של מערכת. הן ברמה התעשייתית והן במערכות האישיות רמת הטמפרטורה האופטימלית היא הדרישה לביצועים נאותים של המערכת.
זו הסיבה, במדריך זה אנו הולכים להסביר את פעולתו של חיישן הלחות והטמפרטורה SHT25 עם פוטון חלקיקים.
שלב 1: סקירת SHT25:
קודם כל נתחיל בהבנה הבסיסית של החיישן והפרוטוקול שעליו הוא פועל.
SHT25 חיישן לחות וטמפרטורה I2C ± 1.8%לחות יחסית ± 0.2 ° C מודול מיני I2C. חיישן הלחות והטמפרטורה ברמת דיוק גבוהה הפך לסטנדרט תעשייתי מבחינת גורם הצורה והאינטליגנציה, המספק אותות חיישן מכוילים, ליניאריים בפורמט I2C דיגיטלי. חיישן זה משולב במעגל אנלוגי ודיגיטלי מיוחד והוא אחד המכשירים היעילים ביותר למדידת הטמפרטורה והלחות.
פרוטוקול התקשורת שעליו החיישן עובד הוא I2C. I2C מייצג את המעגל הבין-משולב. זהו פרוטוקול תקשורת שבו התקשורת מתבצעת באמצעות קווי SDA (נתונים סדרתיים) ו- SCL (שעון טורי). הוא מאפשר חיבור של מספר מכשירים בו זמנית. זהו אחד מפרוטוקול התקשורת הפשוט והיעיל ביותר.
שלב 2: מה שאתה צריך..
החומרים הדרושים לנו להגשמת מטרתנו כוללים את רכיבי החומרה הבאים:
1. חיישן לחות וטמפרטורה SHT25
2. פוטון חלקיקים
3. כבל I2C
4. מגן I2C לפוטון חלקיקים
שלב 3: חיבור חומרה:
סעיף חיבור החומרה מסביר בעצם את חיבורי החיווט הנדרשים בין החיישן לפוטון החלקיקים. הבטחת חיבורים נכונים היא ההכרח הבסיסי בעת עבודה על כל מערכת לתפוקה הרצויה. אז, החיבורים הנדרשים הם כדלקמן:
ה- SHT25 יעבוד על I2C. להלן תרשים החיווט לדוגמה, המדגים כיצד לחבר כל ממשק של החיישן.
הלוח מחוץ לקופסה מוגדר לממשק I2C, ולכן אנו ממליצים להשתמש בחיבור זה אם אתה אגנוסטי אחרת. כל מה שאתה צריך זה ארבעה חוטים!
רק ארבעה חיבורים נדרשים סיכות Vcc, Gnd, SCL ו- SDA ואלו מחוברים בעזרת כבל I2C.
קשרים אלה מודגמים בתמונות למעלה.
שלב 4: קוד ניטור טמפרטורה ולחות:
נתחיל עם קוד החלקיקים עכשיו.
בעת השימוש במודול החיישנים עם הארדואינו, אנו כוללים את ספריית application.h ו- spark_wiring_i2c.h. הספרייה "application.h" ו- spark_wiring_i2c.h מכילה את הפונקציות המאפשרות תקשורת i2c בין החיישן לחלקיק.
קוד החלקיקים כולו ניתן להלן לנוחות המשתמש:
#לִכלוֹל
#לִכלוֹל
// כתובת SHT25 I2C היא 0x40 (64)
#define Addr 0x40
צף לחות = 0.0, cTemp = 0.0, fTemp = 0.0;
הגדרת חלל ()
{
// הגדר משתנה
Particle.variable ("i2cdevice", "SHT25");
Particle.variable ("לחות", לחות);
Particle.variable ("cTemp", cTemp);
// אתחל תקשורת I2C כ- MASTER
Wire.begin ();
// אתחל תקשורת טורית, הגדר קצב שידור = 9600
Serial.begin (9600);
עיכוב (300);
}
לולאת חלל ()
{
נתוני int ללא חתום [2];
// התחל תקשורת I2C
Wire.beginTransmission (Addr);
// שלח פקודת מדידת לחות, NO HOLD master
Wire.write (0xF5);
// עצור את שידור I2C
Wire.endTransmission ();
עיכוב (500);
// בקש 2 בתים של נתונים
Wire.requestFrom (Addr, 2);
// קרא 2 בתים של נתונים
// לחות msb, לחות lsb
אם (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
// המר את הנתונים
לחות = ((((נתונים [0] * 256.0) + נתונים [1]) * 125.0) / 65536.0) - 6;
// נתוני פלט ללוח המחוונים
הוצאה לאור Particle.publish ("לחות יחסית:", מחרוזת (לחות));
}
// התחל את שידור I2C
Wire.beginTransmission (Addr);
// שלח פקודת מדידת טמפרטורה, NO HOLD master
Wire.write (0xF3);
// עצור את שידור I2C
Wire.endTransmission ();
עיכוב (500);
// בקש 2 בתים של נתונים
Wire.requestFrom (Addr, 2);
// קרא 2 בתים של נתונים
// זמני msb, temp lsb
אם (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
// המר את הנתונים
cTemp = ((((נתונים [0] * 256.0) + נתונים [1]) * 175.72) / 65536.0) - 46.85;
fTemp = (cTemp * 1.8) + 32;
// נתוני פלט ללוח המחוונים
Particle.publish ("טמפרטורה בסלסיוס:", מחרוזת (cTemp));
Particle.publish ("טמפרטורה בפרנהייט:", מחרוזת (fTemp));
}
עיכוב (300);
}
הפונקציה Particle.variable () יוצרת את המשתנים לאחסון הפלט של החיישן והפונקציה Particle.publish () מציגה את הפלט בלוח המחוונים של האתר.
פלט החיישן מוצג בתמונה למעלה לעיונך.
שלב 5: יישומים:
לחיישן טמפרטורה ולחות יחסית SHT25 יש יישומים תעשייתיים שונים כמו ניטור טמפרטורות, הגנה תרמית היקפית למחשב. השתמשנו גם בחיישן זה ביישומי תחנות מזג אוויר וכן במערכת ניטור חממות.