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

Παρακολούθηση θερμοκρασίας χρησιμοποιώντας MCP9808 και Raspberry Pi: 4 βήματα
Παρακολούθηση θερμοκρασίας χρησιμοποιώντας MCP9808 και Raspberry Pi: 4 βήματα

Βίντεο: Παρακολούθηση θερμοκρασίας χρησιμοποιώντας MCP9808 και Raspberry Pi: 4 βήματα

Βίντεο: Παρακολούθηση θερμοκρασίας χρησιμοποιώντας MCP9808 και Raspberry Pi: 4 βήματα
Βίντεο: Estia Telemtry (Push Notification Setup) 2024, Ιούλιος
Anonim
Image
Image

Το MCP9808 είναι ένας ψηφιακός αισθητήρας θερμοκρασίας υψηλής ακρίβειας mini 0,5 ° C μίνι μονάδα I2C. Είναι ενσωματωμένα με προγραμματιζόμενους από τον χρήστη καταχωρητές που διευκολύνουν τις εφαρμογές ανίχνευσης θερμοκρασίας. Ο αισθητήρας θερμοκρασίας υψηλής ακρίβειας MCP9808 έχει γίνει βιομηχανικό πρότυπο όσον αφορά τον παράγοντα μορφής και τη νοημοσύνη, παρέχοντας βαθμονομημένα, γραμμικοποιημένα σήματα αισθητήρων σε ψηφιακή μορφή, I2C.

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

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

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

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

1. MCP9808

2. Raspberry Pi

3. Καλώδιο I2C

4. Ασπίδα I2C για βατόμουρο pi

5. Καλώδιο Ethernet

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

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

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

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

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

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

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

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

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

Το πλεονέκτημα της χρήσης του raspberry pi είναι ότι σας παρέχει την ευελιξία της γλώσσας προγραμματισμού στην οποία θέλετε να προγραμματίσετε τον πίνακα προκειμένου να διασυνδέσετε τον αισθητήρα με αυτό. Αξιοποιώντας αυτό το πλεονέκτημα αυτού του πίνακα, αποδεικνύουμε εδώ τον προγραμματισμό του στον πύθωνα. Η Python είναι μία από τις ευκολότερες γλώσσες προγραμματισμού με την ευκολότερη σύνταξη. Μπορείτε να κατεβάσετε τον κωδικό python για το MCP9808 από την κοινότητα github που είναι η Κοινότητα καταστημάτων DCUBE.

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

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

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

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

εισαγωγή smbus

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

# Λήψη I2C busbus = smbus. SMBus (1)

# Διεύθυνση MCP9808, 0x18 (24)

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

# 0x0000 (00) Λειτουργία συνεχούς μετατροπής, Προεπιλογή ενεργοποίησης

config = [0x00, 0x00] bus.write_i2c_block_data (0x18, 0x01, config)

# Διεύθυνση MCP9808, 0x18 (24)

# Επιλέξτε ανάλυση rgister, 0x08 (8)

# 0x03 (03) Ανάλυση = +0.0625 / C

bus.write_byte_data (0x18, 0x08, 0x03)

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

# Διεύθυνση MCP9808, 0x18 (24)

# Ανάγνωση δεδομένων από 0x05 (5), 2 byte

# Temp MSB, TEMP LSB

δεδομένα = bus.read_i2c_block_data (0x18, 0x05, 2)

# Μετατρέψτε τα δεδομένα σε 13-bit

ctemp = ((δεδομένα [0] & 0x1F) * 256) + δεδομένα [1]

αν ctemp> 4095:

ctemp -= 8192

ctemp = ctemp * 0,0625

ftemp = ctemp * 1.8 + 32

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

εκτύπωση "Η θερμοκρασία σε Κελσίου είναι: %.2f C" %ctemp

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

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

$> python MCP9808.py gt; python MCP9808.py

gt; python MCP9808.py

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

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

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

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

Συνιστάται: