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

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

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

Βίντεο: Μέτρηση υγρασίας με χρήση HYT939 και Raspberry Pi: 4 βήματα
Βίντεο: How To Measure Humidity? Bosch UniversalHumid - Wood Moisture Meter 2024, Ιούλιος
Anonim
Image
Image

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

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

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

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

Το υλικό που απαιτείται για την εκτέλεση της εργασίας είναι το ακόλουθο:

1. HYT939

2. Raspberry Pi

3. Καλώδιο I2C

4. I2C Shield For Raspberry Pi

5. Καλώδιο Ethernet

-

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

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

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

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

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

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

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

Βήμα 3: Κώδικας Java για μέτρηση υγρασίας:

Κώδικας Java για μέτρηση υγρασίας
Κώδικας Java για μέτρηση υγρασίας
Κώδικας Java για μέτρηση υγρασίας
Κώδικας Java για μέτρηση υγρασίας

Το πλεονέκτημα της χρήσης του raspberry pi είναι ότι σας παρέχει την ευελιξία της γλώσσας προγραμματισμού στην οποία θέλετε να προγραμματίσετε τον πίνακα προκειμένου να διασυνδέσετε τον αισθητήρα με αυτό. Αξιοποιώντας αυτό το πλεονέκτημα αυτού του πίνακα, αποδεικνύουμε εδώ τον προγραμματισμό του στην Java. Μπορείτε να κατεβάσετε τον κώδικα java για το HYT939 από την κοινότητα github που είναι το Dcube Store.

Εκτός από την ευκολία των χρηστών, εξηγούμε τον κώδικα και εδώ:

Ως πρώτο βήμα κωδικοποίησης πρέπει να κατεβάσετε τη βιβλιοθήκη 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;

δημόσια τάξη HYT939

{

public static void main (String args ) ρίχνει Εξαίρεση

{

// Δημιουργία I2CBus

I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);

// Λήψη συσκευής I2C, η διεύθυνση HYT939 I2C είναι 0x28 (40)

I2CDevice device = bus.getDevice (0x28);

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

device.write ((byte) 0x80);

Thread.sleep (500);

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

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

byte data = new byte [4];

device.read (δεδομένα, 0, 4);

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

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

διπλό cTemp = ((((δεδομένα [2] & 0xFF) * 256) + (δεδομένα [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

διπλό fTemp = (cTemp * 1.8) + 32;

// Έξοδος δεδομένων στην οθόνη

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 ((byte) 0x80); Thread.sleep (500); // Διαβάστε 4 byte δεδομένων // υγρασία msb, υγρασία lsb, temp msb, temp lsb byte δεδομένα = νέο byte [4]; device.read (δεδομένα, 0, 4);

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

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

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

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

Συνιστάται: