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

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

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

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

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

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

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

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

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

1. HDC1000

2. Raspberry Pi

3. Καλώδιο I2C

4. I2C Shield για raspberry pi

5. Καλώδιο Ethernet

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

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

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

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

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

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

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

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

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

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

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

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

pypi.python.org/pypi/smbus-cffi/0.5.1

Μπορείτε επίσης να αντιγράψετε τον κωδικό python που λειτουργεί για αυτόν τον αισθητήρα από εδώ:

εισαγωγή smbus

χρόνο εισαγωγής

# Πάρτε το λεωφορείο I2C

bus = smbus. SMBus (1)

# Διεύθυνση HDC1000, 0x40 (64)

# Επιλογή καταχωρητή διαμόρφωσης, 0x02 (02)

# 0x30 (48) Θερμοκρασία, Υγρασία ενεργοποιημένη, Resolultion = 14-bit, Θέρμανση ενεργοποιημένη

bus.write_byte_data (0x40, 0x02, 0x30)

# Διεύθυνση HDC1000, 0x40 (64)

# Αποστολή εντολής μέτρησης θερμοκρασίας, 0x00 (00)

bus.write_byte (0x40, 0x00)

ώρα. ύπνος (0,5)

# Διεύθυνση HDC1000, 0x40 (64)

# Ανάγνωση δεδομένων πίσω, 2 byte

# temp MSB, temp LSB

data0 = bus.read_byte (0x40)

data1 = bus.read_byte (0x40)

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

temp = (data0 * 256) + data1

cTemp = (temp / 65536.0) * 165.0 - 40

fTemp = cTemp * 1,8 + 32

# Διεύθυνση HDC1000, 0x40 (64)

# Αποστολή εντολής μέτρησης υγρασίας, 0x01 (01)

bus.write_byte (0x40, 0x01)

ώρα. ύπνος (0,5)

# Διεύθυνση HDC1000, 0x40 (64)

# Ανάγνωση δεδομένων πίσω, 2 byte

# υγρασία MSB, υγρασία LSB

data0 = bus.read_byte (0x40)

data1 = bus.read_byte (0x40)

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

υγρασία = (δεδομένα0 * 256) + δεδομένα1

υγρασία = (υγρασία / 65536.0) * 100.0

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

εκτύπωση "Σχετική υγρασία: %.2f %%" %υγρασία

εκτύπωση "Θερμοκρασία σε Κελσίου: %.2f C" %cTemp

εκτύπωση "Θερμοκρασία σε Φαρενάιτ: %.2f F" %fTemp

Το τμήμα του κώδικα που αναφέρεται παρακάτω περιλαμβάνει τις βιβλιοθήκες που απαιτούνται για τη σωστή εκτέλεση των κωδικών python.

εισαγωγή smbus

χρόνο εισαγωγής

Ο κώδικας μπορεί να εκτελεστεί πληκτρολογώντας την παρακάτω αναφερόμενη εντολή στη γραμμή εντολών.

$> python HDC1000.py gt; python HDC1000.py

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

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

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

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

Συνιστάται: