Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Το MCP9808 είναι ένας ψηφιακός αισθητήρας θερμοκρασίας υψηλής ακρίβειας mini 0,5 ° C μίνι μονάδα I2C. Είναι ενσωματωμένα με προγραμματιζόμενους από τον χρήστη καταχωρητές που διευκολύνουν τις εφαρμογές ανίχνευσης θερμοκρασίας. Ο αισθητήρας θερμοκρασίας υψηλής ακρίβειας MCP9808 έχει γίνει βιομηχανικό πρότυπο όσον αφορά τον παράγοντα μορφής και τη νοημοσύνη, παρέχοντας βαθμονομημένα, γραμμικοποιημένα σήματα αισθητήρων σε ψηφιακή μορφή, I2C. Εδώ είναι η επίδειξη με έναν κώδικα python χρησιμοποιώντας το Raspberry Pi.
Βήμα 1: Αυτό που χρειάζεστε..
1. Raspberry Pi
2. MCP9808
3. Καλώδιο I²C
4. I²C Shield για το Raspberry Pi
5. Καλώδιο Ethernet
Βήμα 2: Συνδέσεις
Πάρτε μια ασπίδα I2C για raspberry pi και σπρώξτε την απαλά πάνω από τις καρφίτσες gpio του raspberry pi.
Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα MCP9808 και το άλλο άκρο στην ασπίδα I2C.
Συνδέστε επίσης το καλώδιο Ethernet στο pi ή μπορείτε να χρησιμοποιήσετε μια μονάδα WiFi.
Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.
Βήμα 3: Κωδικός
Μπορείτε να κατεβάσετε τον κωδικό python για το MCP9808 από το αποθετήριο GitHub- Dcube Store
Εδώ είναι ο σύνδεσμος για το ίδιο:
github.com/DcubeTechVentures/MCP9808
Το φύλλο δεδομένων του MCP9808 μπορείτε να το βρείτε εδώ:
ww1.microchip.com/downloads/el/DeviceDoc/25…
Έχουμε χρησιμοποιήσει τη βιβλιοθήκη SMBus για κώδικα python, τα βήματα για την εγκατάσταση του SMBus στο raspberry pi περιγράφονται εδώ:
pypi.python.org/pypi/smbus-cffi/0.5.1
Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:
# Διανέμεται με άδεια ελεύθερης βούλησης.
# Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρα ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
# MCP9808
# Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module MCP9808_I2CS I2C που διατίθεται στο Dcube Store.
εισαγωγή smbus
χρόνο εισαγωγής
# Πάρτε το λεωφορείο I2C
bus = 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)
time.sleep (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
Βήμα 4: Εφαρμογές..:
Ο αισθητήρας ψηφιακής θερμοκρασίας MCP9808 έχει διάφορες εφαρμογές σε βιομηχανικό επίπεδο, οι οποίες ενσωματώνουν βιομηχανικούς καταψύκτες και ψυγεία μαζί με διάφορους επεξεργαστές τροφίμων. Αυτός ο αισθητήρας μπορεί να χρησιμοποιηθεί για διάφορους προσωπικούς υπολογιστές, διακομιστές καθώς και άλλους περιφερειακούς υπολογιστές.