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

Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: 4 βήματα
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: 4 βήματα

Βίντεο: Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: 4 βήματα

Βίντεο: Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και σωματίδιο φωτονίου: 4 βήματα
Βίντεο: Μέτρηση θερμοκρασίας με arduino (nodemcu) 2024, Ιούλιος
Anonim
Image
Image

Ο HDC1000 είναι ένας ψηφιακός αισθητήρας υγρασίας με ενσωματωμένο αισθητήρα θερμοκρασίας που παρέχει εξαιρετική ακρίβεια μέτρησης σε πολύ χαμηλή ισχύ. Η συσκευή μετρά την υγρασία με βάση έναν νέο χωρητικό αισθητήρα. Οι αισθητήρες υγρασίας και θερμοκρασίας είναι εργοστασιακά βαθμονομημένοι. Λειτουργεί μέσα στο πλήρες εύρος θερμοκρασιών -40 ° C έως +125 ° C.

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

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

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

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

1. HDC1000

2. Φωτόνιο σωματιδίων

3. Καλώδιο I2C

4. Ασπίδα I2C για σωματίδιο φωτονίου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// Η διεύθυνση HDC1000 I2C είναι 0x40 (64)

#define Addr 0x40

διπλό cTemp = 0,0, fTemp = 0,0, υγρασία = 0,0.

int temp = 0, βουητό = 0;

void setup ()

{

// Ορισμός μεταβλητής

Particle.variable ("i2cdevice", "HDC1000");

Particle.variable ("υγρασία", υγρασία).

Particle.variable ("cTemp", cTemp);

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

Wire.begin ();

// Αρχικοποίηση Σειριακής Επικοινωνίας, ρυθμισμένος ρυθμός baud = 9600

Serial.begin (9600);

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

Wire.beginTransmission (Addr);

// Επιλέξτε καταχωρητής διαμόρφωσης

Wire.write (0x02);

// Θερμοκρασία, ενεργοποιημένη υγρασία, ανάλυση = 14-bit, θερμαντήρας ενεργοποιημένος

Wire.write (0x30);

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

Wire.endTransmission ();

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

}

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

{

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

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

Wire.beginTransmission (Addr);

// Αποστολή εντολής μέτρησης θερμοκρασίας

Wire.write (0x00);

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

Wire.endTransmission ();

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

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

Wire.requestFrom (Addr, 2)?

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

// temp msb, temp lsb

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

{

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

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

}

// Μετατρέψτε τα δεδομένα

temp = ((δεδομένα [0] * 256) + δεδομένα [1]);

cTemp = (temp / 65536.0) * 165.0 - 40;

fTemp = cTemp * 1.8 + 32;

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

Wire.beginTransmission (Addr);

// Αποστολή εντολής μέτρησης υγρασίας

Wire.write (0x01);

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

Wire.endTransmission ();

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

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

Wire.requestFrom (Addr, 2)?

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

// temp msb, temp lsb

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

{

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

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

}

// Μετατρέψτε τα δεδομένα

βουητό = ((δεδομένα [0] * 256) + δεδομένα [1]);

υγρασία = (βουητό / 65536,0) * 100,0;

// Έξοδος δεδομένων στον πίνακα ελέγχου

Particle.publish ("Relative Υγρασία:", String (υγρασία));

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

Particle.publish ("Temperature in Celsius:", String (cTemp));

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

Particle.publish ("Temperature in Fahrenheit:", String (fTemp));

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

}

Η συνάρτηση Particle.variable () δημιουργεί τις μεταβλητές για αποθήκευση της εξόδου του αισθητήρα και η λειτουργία Particle.publish () εμφανίζει την έξοδο στον πίνακα ελέγχου της τοποθεσίας.

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

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

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

Το HDC1000 μπορεί να χρησιμοποιηθεί σε θέρμανση, εξαερισμό και κλιματισμό (HVAC), έξυπνους θερμοστάτες και οθόνες δωματίων. Αυτός ο αισθητήρας βρίσκει επίσης την εφαρμογή του σε Εκτυπωτές, Φορητούς μετρητές, Ιατρικές συσκευές, Cargo Shipping καθώς και Autogotive Windshield Defog.

Συνιστάται: