Πίνακας περιεχομένων:

Μέτρηση υγρασίας με χρήση HYT939 και Arduino Nano: 4 βήματα
Μέτρηση υγρασίας με χρήση HYT939 και Arduino Nano: 4 βήματα

Βίντεο: Μέτρηση υγρασίας με χρήση HYT939 και Arduino Nano: 4 βήματα

Βίντεο: Μέτρηση υγρασίας με χρήση HYT939 και Arduino Nano: 4 βήματα
Βίντεο: Ηλεκρονικός Μετρητής Υγρασίας και Θερμοκρασίας HETHT01 Digital Humidity Temperature Meter INGCO 2024, Ιούλιος
Anonim
Image
Image

Ο HYT939 είναι ένας ψηφιακός αισθητήρας υγρασίας που λειτουργεί στο πρωτόκολλο επικοινωνίας I2C. Η υγρασία είναι μια βασική παράμετρος όταν πρόκειται για ιατρικά συστήματα και εργαστήρια. Έτσι, για να επιτύχουμε αυτούς τους στόχους προσπαθήσαμε να διασυνδέσουμε το HYT939 με το arduino nano. Σε αυτό το σεμινάριο αποδεικνύεται η διασύνδεση της μονάδας αισθητήρα HYT939 με το arduino nano.

Για να διαβάσετε τις τιμές υγρασίας, χρησιμοποιήσαμε arduino με προσαρμογέα I2c. Αυτός ο προσαρμογέας I2C καθιστά τη σύνδεση με τη μονάδα αισθητήρα εύκολη και πιο αξιόπιστη.

Το πρωτόκολλο επικοινωνίας στο οποίο λειτουργεί ο αισθητήρας είναι I2C. Το I2C σημαίνει το ενσωματωμένο κύκλωμα. Είναι ένα πρωτόκολλο επικοινωνίας στο οποίο η επικοινωνία πραγματοποιείται μέσω γραμμών SDA (σειριακά δεδομένα) και SCL (σειριακό ρολόι). Επιτρέπει τη σύνδεση πολλαπλών συσκευών ταυτόχρονα. Είναι ένα από τα πιο απλά και αποτελεσματικά πρωτόκολλα επικοινωνίας.

Βήμα 1: Απαιτείται υλικό:

Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό
Απαιτούμενο υλικό

Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:

1. HYT939

2. Arduino Nano

3. Καλώδιο I2C

4. Ασπίδα I2C για Arduino nano

Βήμα 2: Σύνδεση υλικού:

Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού
Σύνδεση υλικού

Η ενότητα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του arduino nano. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:

Το HYT939 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.

Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής. Το μόνο που χρειάζεστε είναι τέσσερα καλώδια!

Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.

Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.

Βήμα 3: Κωδικός Arduino για μέτρηση υγρασίας:

Κωδικός Arduino για μέτρηση υγρασίας
Κωδικός Arduino για μέτρηση υγρασίας
Κωδικός Arduino για μέτρηση υγρασίας
Κωδικός Arduino για μέτρηση υγρασίας

Ας ξεκινήσουμε με τον κώδικα Arduinoo τώρα.

Κατά τη χρήση της μονάδας αισθητήρα με το Arduino, συμπεριλαμβάνουμε τη βιβλιοθήκη Wire.h. Η βιβλιοθήκη "Wire" περιέχει τις λειτουργίες που διευκολύνουν την επικοινωνία i2c μεταξύ του αισθητήρα και της πλακέτας Arduino.

Ολόκληρος ο κωδικός Arduino δίνεται παρακάτω για τη διευκόλυνση του χρήστη:

#περιλαμβάνω

// Η διεύθυνση HYT939 I2C είναι 0x28 (40)

#define Addr 0x28

void setup ()

{

// Αρχικοποίηση επικοινωνίας I2C ως MASTER

Wire.begin ();

// Αρχικοποίηση σειριακής επικοινωνίας

Serial.begin (9600);

καθυστέρηση (300)?

}

κενός βρόχος ()

{

ανυπόγραφα δεδομένα int [4];

// Έναρξη μετάδοσης I2C

Wire.beginTransmission (Addr);

// Αποστολή εντολής κανονικής λειτουργίας

Wire.write (0x80);

// Διακοπή μετάδοσης I2C

Wire.endTransmission ();

καθυστέρηση (300)?

// Ζητήστε 4 byte δεδομένων

Wire.requestFrom (Addr, 4)?

// Διαβάστε 4 byte δεδομένων

// υγρασία msb, υγρασία lsb, temp msb, temp lsb

εάν (Wire.available () == 4)

{

δεδομένα [0] = Wire.read ();

δεδομένα [1] = Wire.read ();

δεδομένα [2] = Wire.read ();

δεδομένα [3] = Wire.read ();

// Μετατρέψτε τα δεδομένα σε 14-bit

υγρασία επίπλευσης = (((δεδομένα [0] & 0x3F) * 256.0) + δεδομένα [1]) * (100.0 / 16383.0);

float cTemp = (((δεδομένα [2] * 256.0) + (δεδομένα [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

float 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 bytes δεδομένων // υγρασία msb, υγρασία lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); δεδομένα [1] = Wire.read (); δεδομένα [2] = Wire.read (); δεδομένα [3] = Wire.read ();

}

Η έξοδος του αισθητήρα εμφανίζεται στην παραπάνω εικόνα.

Βήμα 4: Εφαρμογές:

Εφαρμογές
Εφαρμογές

Το HYT939 είναι ένας αποδοτικός ψηφιακός αισθητήρας υγρασίας που χρησιμοποιείται σε ιατρικά συστήματα, αυτόκλειστα. Τα συστήματα μέτρησης σημείου δρόσου πίεσης και στεγνώματος βρίσκουν επίσης τη χρήση αυτής της μονάδας αισθητήρα. Σε διάφορα εργαστήρια όπου το κατάλληλο επίπεδο υγρασίας είναι βασική παράμετρος για τη διεξαγωγή πειραμάτων, αυτός ο αισθητήρας μπορεί να αναπτυχθεί εκεί για μετρήσεις υγρασίας.

Συνιστάται: