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

מדידת לחות באמצעות HYT939 ו- Arduino Nano: 4 שלבים
מדידת לחות באמצעות HYT939 ו- Arduino Nano: 4 שלבים

וִידֵאוֹ: מדידת לחות באמצעות HYT939 ו- Arduino Nano: 4 שלבים

וִידֵאוֹ: מדידת לחות באמצעות HYT939 ו- Arduino Nano: 4 שלבים
וִידֵאוֹ: New Arduino boards : ARDUINO NANO 33 BLE SENSE 2024, נוֹבֶמבֶּר
Anonim
Image
Image

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

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

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

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

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

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

1. HYT939

2. ארדואינו ננו

3. כבל I2C

4. מגן I2C לננו Arduino

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

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

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

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

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

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

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

שלב 3: קוד ארדואינו למדידת לחות:

קוד ארדואינו למדידת לחות
קוד ארדואינו למדידת לחות
קוד ארדואינו למדידת לחות
קוד ארדואינו למדידת לחות

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

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

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

#לִכלוֹל

// כתובת HYT939 I2C היא 0x28 (40)

#define Addr 0x28

הגדרת חלל ()

{

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

Wire.begin ();

// אתחל תקשורת סדרתית

Serial.begin (9600);

עיכוב (300);

}

לולאת חלל ()

{

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

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

Wire.beginTransmission (Addr);

// שלח פקודה במצב רגיל

Wire.write (0x80);

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

Wire.endTransmission ();

עיכוב (300);

// בקש 4 בתים של נתונים

Wire.requestFrom (אדר, 4);

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

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

אם (Wire.available () == 4)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

data [3] = Wire.read ();

// המר את הנתונים ל -14 סיביות

לחות צפה = (((נתונים [0] & 0x3F) * 256.0) + נתונים [1]) * (100.0 / 16383.0);

float cTemp = (((data [2] * 256.0) + (data [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

צף fTemp = (cTemp * 1.8) + 32;

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

Serial.print ("לחות יחסית:");

Serial.print (לחות);

Serial.println (" %RH");

Serial.print ("טמפרטורה בצלזיוס:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("טמפרטורה בפרנהייט:");

Serial.print (fTemp);

Serial.println ("F");

}

עיכוב (300);

}

בספריית תיל Wire.write () ו- Wire.read () משמשים לכתיבת הפקודות וקריאת פלט החיישן. החלק הבא של הקוד ממחיש את קריאת פלט החיישן.

// קרא 4 בתים של נתונים // msb לחות, lsb לחות, msb temp, lsb temp אם (Wire.available () == 4) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); data [3] = Wire.read ();

}

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

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

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

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

מוּמלָץ: