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

ניטור טמפרטורה ולחות באמצעות SHT25 ו- Raspberry Pi: 5 שלבים
ניטור טמפרטורה ולחות באמצעות SHT25 ו- Raspberry Pi: 5 שלבים

וִידֵאוֹ: ניטור טמפרטורה ולחות באמצעות SHT25 ו- Raspberry Pi: 5 שלבים

וִידֵאוֹ: ניטור טמפרטורה ולחות באמצעות SHT25 ו- Raspberry Pi: 5 שלבים
וִידֵאוֹ: Sonoff SNZB-02 Zigbee датчик температуры и влажности, Tuya Smart, интеграция в Home Assistant 2024, יולי
Anonim
Image
Image

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

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

חומרה שתזדקק לה למטרה זו היא:

1. SHT25

2. פטל פטל

3. כבל I2C

4. מגן I2C לפאי פטל

שלב 1: סקירת SHT25:

מה אתה צריך….!!
מה אתה צריך….!!

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

SHT25 חיישן לחות וטמפרטורה I2C ± 1.8%לחות יחסית ± 0.2 ° C מודול מיני I2C. חיישן הלחות והטמפרטורה ברמת דיוק גבוהה הפך לסטנדרט תעשייתי מבחינת גורם הצורה והאינטליגנציה, המספק אותות חיישן מכוילים, ליניאריים בפורמט I2C דיגיטלי. חיישן זה משולב במעגל אנלוגי ודיגיטלי מיוחד והוא אחד המכשירים היעילים ביותר למדידת הטמפרטורה והלחות.

פרוטוקול התקשורת שעליו החיישן עובד הוא I2C. I2C מייצג את המעגל הבין-משולב. זהו פרוטוקול תקשורת שבו התקשורת מתבצעת באמצעות קווי SDA (נתונים סדרתיים) ו- SCL (שעון טורי). הוא מאפשר חיבור של מספר מכשירים בו זמנית. זהו אחד מפרוטוקול התקשורת הפשוט והיעיל ביותר.

שלב 2: מה שאתה צריך …

מה אתה צריך….!!
מה אתה צריך….!!
מה אתה צריך….!!
מה אתה צריך….!!
מה אתה צריך….!!
מה אתה צריך….!!

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

1. חיישן לחות וטמפרטורה SHT25

2. פטל פטל

3. כבל I2C

4. מגן I2C עבור פטל פטל

5. כבל אתרנט

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

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

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

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

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

שלב 4: טמפרטורת ולחות ניטור קוד Java:

קוד Java של ניטור טמפרטורה ולחות
קוד Java של ניטור טמפרטורה ולחות
קוד Java של ניטור טמפרטורה ולחות
קוד Java של ניטור טמפרטורה ולחות

היתרון בשימוש בפטל פאי הוא בכך שהוא מספק לך את הגמישות של שפת התכנות בה ברצונך לתכנת את הלוח על מנת לחבר אליו את החיישן. תוך ניצול היתרון הזה של הלוח הזה, אנו מדגימים כאן את התכנות שלו ב- Java. ניתן להוריד את קוד הג'אווה ל- SHT25 מקהילת github שלנו שהיא חנות Dcube.

בנוסף לנוחות המשתמשים, אנו מסבירים את הקוד גם כאן:

כשלב הראשון של קידוד עליך להוריד את ספריית pi4j במקרה של java, מכיוון שספרייה זו תומכת בפונקציות המשמשות את הקוד. אז, כדי להוריד את הספרייה אתה יכול לבקר בקישור הבא:

pi4j.com/install.html

תוכל להעתיק מכאן גם את קוד ה- Java שעובד עבור חיישן זה:

ייבא com.pi4j.io.i2c. I2CBus;

ייבא com.pi4j.io.i2c. I2CDevice; יבוא com.pi4j.io.i2c. I2CFactory; יבוא java.io. IOException; class public SHT25 {public static void main (String args ) זורק חריגה {// צור אוטובוס I2C I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // קבל מכשיר I2C, כתובת I2C SHT25 היא 0x40 (64) מכשיר I2CDevice = Bus.getDevice (0x40); // שלח פקודת מדידת טמפרטורה, NO HOLD device device.write ((בייט) 0xF3); Thread.sleep (500); // קרא 2 בתים של נתונים // msb זמני, temp lsb byte data = byte new [2]; device.read (נתונים, 0, 2); // המר את הנתונים הכפולים cTemp = ((((נתונים [0] & 0xFF) * 256) + (נתונים [1] & 0xFF)) * 175.72) / 65536.0) - 46.85; כפול fTemp = (cTemp * 1.8) + 32; // שלח פקודת מדידת לחות, NO HOLD device device.write ((בייט) 0xF5); Thread.sleep (500); // קרא 2 בתים של נתונים // msb לחות, מכשיר lsb device.read (נתונים, 0, 2); // המרת הנתונים לחות כפולה = ((((([0] & 0xFF) * 256) + (נתונים [1] & 0xFF)) * 125.0) / 65536.0) - 6; // נתוני פלט למסך System.out.printf ("לחות יחסית: %.2f %% RH %n", לחות); System.out.printf ("טמפרטורה בצלזיוס: %.2f C %n", cTemp); System.out.printf ("טמפרטורה בפרנהייט: %.2f F %n", fTemp); }}

פלט הקוד מוצג גם בתמונה למעלה.

הספרייה המאפשרת תקשורת i2c בין החיישן ללוח היא pi4j, החבילות השונות שלה I2CBus, I2CDevice ו- I2CFactory עוזרות ביצירת החיבור.

ייבא com.pi4j.io.i2c. I2CBus;

ייבא com.pi4j.io.i2c. I2CDevice; יבוא com.pi4j.io.i2c. I2CFactory; יבוא java.io. IOException;

חלק זה של הקוד גורם לחיישן לפעול למדידת טמפרטורה ומדידת לחות על ידי כתיבת הפקודות המתאימות באמצעות הפונקציה write () ולאחר מכן הנתונים נקראים באמצעות הפונקציה read ().

device.write ((בייט) 0xF3);

Thread.sleep (500);

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

// זמני msb, temp lsb

בייט נתונים = בייט חדש [2];

device.read (נתונים, 0, 2);

// שלח פקודת מדידת לחות, NO HOLD master

device.write ((בייט) 0xF5);

Thread.sleep (500);

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

// לחות msb, לחות lsb

device.read (נתונים, 0, 2);

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

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

מוּמלָץ: