Πίνακας περιεχομένων:
- Βήμα 1: Απαιτείται υλικό:
- Βήμα 2: Σύνδεση υλικού:
- Βήμα 3: Κωδικός για μέτρηση υγρασίας και θερμοκρασίας:
- Βήμα 4: Εφαρμογές:
Βίντεο: Μέτρηση υγρασίας και θερμοκρασίας με χρήση HTS221 και Raspberry Pi: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Το HTS221 είναι ένας εξαιρετικά συμπαγής χωρητικός ψηφιακός αισθητήρας για σχετική υγρασία και θερμοκρασία. Περιλαμβάνει ένα στοιχείο ανίχνευσης και ένα ολοκληρωμένο κύκλωμα ειδικής εφαρμογής μικτού σήματος (ASIC) για την παροχή των πληροφοριών μέτρησης μέσω ψηφιακών σειριακών διεπαφών. Ενσωματωμένο με τόσα πολλά χαρακτηριστικά, αυτός είναι ένας από τους πιο κατάλληλους αισθητήρες για κρίσιμες μετρήσεις υγρασίας και θερμοκρασίας.
Σε αυτό το σεμινάριο αποδεικνύεται η διασύνδεση της μονάδας αισθητήρα HTS221 με το raspberry pi και έχει επίσης απεικονιστεί ο προγραμματισμός της χρησιμοποιώντας γλώσσα python. Για να διαβάσετε τις τιμές υγρασίας και θερμοκρασίας, χρησιμοποιήσαμε βατόμουρο pi με προσαρμογέα I2C. Αυτός ο προσαρμογέας I2C καθιστά τη σύνδεση με τη μονάδα αισθητήρα εύκολη και πιο αξιόπιστη.
Βήμα 1: Απαιτείται υλικό:
Τα υλικά που χρειαζόμαστε για την επίτευξη του στόχου μας περιλαμβάνουν τα ακόλουθα στοιχεία υλικού:
1. HTS221
2. Raspberry Pi
3. Καλώδιο I2C
4. I2C Shield για raspberry pi
5. Καλώδιο Ethernet
Βήμα 2: Σύνδεση υλικού:
Το τμήμα σύνδεσης υλικού εξηγεί βασικά τις συνδέσεις καλωδίωσης που απαιτούνται μεταξύ του αισθητήρα και του raspberry pi. Η διασφάλιση των σωστών συνδέσεων είναι η βασική ανάγκη ενώ εργάζεστε σε οποιοδήποτε σύστημα για την επιθυμητή έξοδο. Έτσι, οι απαιτούμενες συνδέσεις είναι οι εξής:
Το HTS221 θα λειτουργήσει μέσω I2C. Ακολουθεί το παράδειγμα διαγράμματος καλωδίωσης, που δείχνει πώς συνδέεται κάθε διασύνδεση του αισθητήρα.
Εκτός συσκευασίας, ο πίνακας έχει διαμορφωθεί για διεπαφή I2C, ως εκ τούτου συνιστούμε τη χρήση αυτής της σύνδεσης εάν είστε αλλιώς αγνωστικιστής.
Το μόνο που χρειάζεστε είναι τέσσερα καλώδια! Απαιτούνται μόνο τέσσερις συνδέσεις ακροδέκτες Vcc, Gnd, SCL και SDA και αυτές συνδέονται με τη βοήθεια καλωδίου I2C.
Αυτές οι συνδέσεις φαίνονται στις παραπάνω εικόνες.
Βήμα 3: Κωδικός για μέτρηση υγρασίας και θερμοκρασίας:
Το πλεονέκτημα της χρήσης του raspberry pi είναι ότι σας παρέχει την ευελιξία της γλώσσας προγραμματισμού στην οποία θέλετε να προγραμματίσετε τον πίνακα προκειμένου να διασυνδέσετε τον αισθητήρα με αυτό. Αξιοποιώντας αυτό το πλεονέκτημα αυτού του πίνακα, αποδεικνύουμε εδώ τον προγραμματισμό του στον πύθωνα. Μπορείτε να κατεβάσετε τον κώδικα python για το HTS221 από την κοινότητα github που είναι η Κοινότητα Control Everything.
Εκτός από την ευκολία των χρηστών, εξηγούμε τον κώδικα και εδώ:
Ως πρώτο βήμα κωδικοποίησης πρέπει να κατεβάσετε τη βιβλιοθήκη smbus σε περίπτωση python, επειδή αυτή η βιβλιοθήκη υποστηρίζει τις λειτουργίες που χρησιμοποιούνται στον κώδικα. Έτσι, για να κατεβάσετε τη βιβλιοθήκη μπορείτε να επισκεφθείτε τον ακόλουθο σύνδεσμο:
pypi.python.org/pypi/smbus-cffi/0.5.1
Μπορείτε επίσης να αντιγράψετε τον κωδικό python που λειτουργεί για αυτόν τον αισθητήρα από εδώ:
εισαγωγή smbus
χρόνο εισαγωγής
# Πάρτε το λεωφορείο I2C
bus = smbus. SMBus (1)
# Διεύθυνση HTS221, 0x5F (95)
# Επιλογή μέσου καταχωρητή διαμόρφωσης, 0x10 (16)
# 0x1B (27) Δείγματα μέσης θερμοκρασίας = 256, Δείγματα μέσης υγρασίας = 512
bus.write_byte_data (0x5F, 0x10, 0x1B)
# Διεύθυνση HTS221, 0x5F (95)
# Επιλογή καταχωρητή ελέγχου1, 0x20 (32)
# 0x85 (133) Ενεργοποίηση, Συνεχής ενημέρωση, Ρυθμός εξόδου δεδομένων = 1 Hz
bus.write_byte_data (0x5F, 0x20, 0x85)
ώρα. ύπνος (0,5)
# Διεύθυνση HTS221, 0x5F (95)
# Διαβάστε τιμές βαθμονόμησης από μη πτητική μνήμη της συσκευής
# Τιμές βαθμονόμησης υγρασίας
# Ανάγνωση δεδομένων από 0x30 (48), 1 byte
val = bus.read_byte_data (0x5F, 0x30)
H0 = val / 2
# Ανάγνωση δεδομένων από 0x31 (49), 1 byte
val = bus.read_byte_data (0x5F, 0x31)
H1 = val /2
# Ανάγνωση δεδομένων από 0x36 (54), 2 byte
val0 = bus.read_byte_data (0x5F, 0x36)
val1 = bus.read_byte_data (0x5F, 0x37)
H2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Ανάγνωση δεδομένων από 0x3A (58), 2 byte
val0 = bus.read_byte_data (0x5F, 0x3A)
val1 = bus.read_byte_data (0x5F, 0x3B)
H3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Τιμές βαθμονόμησης θερμοκρασίας
# Ανάγνωση δεδομένων από 0x32 (50), 1 byte
T0 = bus.read_byte_data (0x5F, 0x32)
T0 = (T0 & 0xFF)
# Ανάγνωση δεδομένων από 0x32 (51), 1 byte
T1 = bus.read_byte_data (0x5F, 0x33)
T1 = (T1 & 0xFF)
# Ανάγνωση δεδομένων από 0x35 (53), 1 byte
raw = bus.read_byte_data (0x5F, 0x35)
ωμό = (ακατέργαστο & 0x0F)
# Μετατρέψτε τις τιμές βαθμονόμησης θερμοκρασίας σε 10-bit
T0 = ((ακατέργαστο & 0x03) * 256) + T0
T1 = ((ακατέργαστο & 0x0C) * 64) + T1
# Ανάγνωση δεδομένων από 0x3C (60), 2 byte
val0 = bus.read_byte_data (0x5F, 0x3C)
val1 = bus.read_byte_data (0x5F, 0x3D)
T2 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Ανάγνωση δεδομένων από 0x3E (62), 2 byte
val0 = bus.read_byte_data (0x5F, 0x3E)
val1 = bus.read_byte_data (0x5F, 0x3F)
T3 = ((val1 & 0xFF) * 256) + (val0 & 0xFF)
# Ανάγνωση δεδομένων από 0x28 (40) με καταχωρητή εντολών 0x80 (128), 4 byte
# υγρασία msb, υγρασία lsb, temp msb, temp lsb
δεδομένα = bus.read_i2c_block_data (0x5F, 0x28 | 0x80, 4)
# Μετατρέψτε τα δεδομένα
υγρασία = (δεδομένα [1] * 256) + δεδομένα [0]
υγρασία = ((1.0 * H1) - (1.0 * H0)) * (1.0 * υγρασία - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0)
temp = (δεδομένα [3] * 256) + δεδομένα [2]
εάν θερμοκρασία> 32767:
θερμοκρασία -= 65536
cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0)
fTemp = (cTemp * 1.8) + 32
# Έξοδος δεδομένων στην οθόνη
εκτύπωση "Σχετική υγρασία: %.2f %%" %υγρασία
εκτύπωση "Θερμοκρασία σε Κελσίου: %.2f C" %cTemp
εκτύπωση "Θερμοκρασία σε Φαρενάιτ: %.2f F" %fTemp
Το τμήμα του κώδικα που αναφέρεται παρακάτω περιλαμβάνει τις βιβλιοθήκες που απαιτούνται για τη σωστή εκτέλεση των κωδικών python.
εισαγωγή smbus
χρόνο εισαγωγής
Ο κώδικας μπορεί να εκτελεστεί πληκτρολογώντας την παρακάτω αναφερόμενη εντολή στη γραμμή εντολών.
$> python HTS221.py
Η έξοδος του αισθητήρα εμφανίζεται επίσης στην παραπάνω εικόνα για αναφορά του χρήστη.
Βήμα 4: Εφαρμογές:
Το HTS221 μπορεί να χρησιμοποιηθεί σε διάφορα καταναλωτικά προϊόντα, όπως υγραντήρες αέρα και ψυγεία κ.λπ.
Συνιστάται:
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Arduino Nano: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Arduino Nano: Το HIH6130 είναι αισθητήρας υγρασίας και θερμοκρασίας με ψηφιακή έξοδο. Αυτοί οι αισθητήρες παρέχουν επίπεδο ακρίβειας ± 4% RH. Με κορυφαία μακροπρόθεσμη σταθερότητα στη βιομηχανία, πραγματικό ψηφιακό I2C με αντιστάθμιση θερμοκρασίας, κορυφαία αξιοπιστία στη βιομηχανία, ενεργειακή απόδοση
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HTS221 και Arduino Nano: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HTS221 και Arduino Nano: Το HTS221 είναι ένας εξαιρετικά συμπαγής χωρητικός ψηφιακός αισθητήρας για σχετική υγρασία και θερμοκρασία. Περιλαμβάνει ένα στοιχείο ανίχνευσης και ένα ολοκληρωμένο κύκλωμα ειδικής εφαρμογής μικτού σήματος (ASIC) για την παροχή των πληροφοριών μέτρησης μέσω ψηφιακού σειριακού
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Raspberry Pi: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας με χρήση HIH6130 και Raspberry Pi: Το HIH6130 είναι αισθητήρας υγρασίας και θερμοκρασίας με ψηφιακή έξοδο. Αυτοί οι αισθητήρες παρέχουν επίπεδο ακρίβειας ± 4% RH. Με κορυφαία μακροπρόθεσμη σταθερότητα στη βιομηχανία, πραγματικό ψηφιακό I2C με αντιστάθμιση θερμοκρασίας, κορυφαία αξιοπιστία στη βιομηχανία, ενεργειακή απόδοση
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και Raspberry Pi: 4 βήματα
Μέτρηση θερμοκρασίας και υγρασίας χρησιμοποιώντας HDC1000 και Raspberry Pi: Το HDC1000 είναι ένας ψηφιακός αισθητήρας υγρασίας με ενσωματωμένο αισθητήρα θερμοκρασίας που παρέχει εξαιρετική ακρίβεια μέτρησης σε πολύ χαμηλή ισχύ. Η συσκευή μετρά την υγρασία με βάση έναν νέο χωρητικό αισθητήρα. Οι αισθητήρες υγρασίας και θερμοκρασίας είναι
Μέτρηση υγρασίας και θερμοκρασίας χρησιμοποιώντας το HTS221 και το φωτόνιο σωματιδίων: 4 βήματα
Μέτρηση υγρασίας και θερμοκρασίας χρησιμοποιώντας το HTS221 και το σωματίδιο φωτονίου: Το HTS221 είναι ένας εξαιρετικά συμπαγής χωρητικός ψηφιακός αισθητήρας για σχετική υγρασία και θερμοκρασία. Περιλαμβάνει ένα στοιχείο ανίχνευσης και ένα ολοκληρωμένο κύκλωμα ειδικής εφαρμογής μικτού σήματος (ASIC) για την παροχή των πληροφοριών μέτρησης μέσω ψηφιακού σειριακού