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

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

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

Βίντεο: Μέτρηση θερμοκρασίας χρησιμοποιώντας MCP9803 και Raspberry Pi: 4 βήματα
Βίντεο: Χρησιμοποιώντας το υπέρυθρο όργανο μέτρησης testo 835-H1 σε θερμική αποκατάσταση 2024, Ιούλιος
Anonim
Image
Image

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

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

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

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

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

1. MCP9803

2. Βατόμουρο πι

3. Καλώδιο I2C

4. I2C Shield για raspberry pi

5. Καλώδιο Ethernet

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

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

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

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

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

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

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

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

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

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

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

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

pi4j.com/install.html

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

εισαγωγή com.pi4j.io.i2c. I2CBus;

εισαγωγή com.pi4j.io.i2c. I2CDevice;

εισαγωγή com.pi4j.io.i2c. I2CFactory?

εισαγωγή java.io. IOException; δημόσιας κλάσης MCP9803

{

public static void main (String args ) ρίχνει Εξαίρεση

{

// Δημιουργία διαύλου I2C

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// Λήψη συσκευής I2C, η διεύθυνση MCP9803 I2C είναι 0x48 (72)

I2CDevice device = Bus.getDevice (0x48);

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

// Λειτουργία συνεχούς μετατροπής, Ενεργοποίηση, λειτουργία σύγκρισης, ανάλυση 12 bit

device.write (0x01, (byte) 0x60);

Thread.sleep (500);

// Διαβάστε 2 byte δεδομένων από τη διεύθυνση 0x00 (0)

// temp msb, temp lsb

byte data = new byte [2];

device.read (0x00, δεδομένα, 0, 2);

// Μετατρέψτε τα δεδομένα σε 12-bit

int temp = ((δεδομένα [0] & 0xFF) * 256 + (δεδομένα [1] & 0xF0)) / 16;

εάν (θερμοκρασία> 2047)

{

θερμοκρασία -= 4096;

}

διπλό cTemp = temp * 0,0625;

διπλό fTemp = cTemp * 1,8 + 32;

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

System.out.printf ("Η θερμοκρασία σε Κελσίου είναι: %.2f C %n", cTemp);

System.out.printf ("Η θερμοκρασία σε Φαρενάιτ είναι: %.2f F %n", fTemp);

}

}

Η βιβλιοθήκη που διευκολύνει την επικοινωνία i2c μεταξύ του αισθητήρα και της πλακέτας είναι pi4j, τα διάφορα πακέτα I2CBus, I2CDevice και I2CFactory βοηθούν στη δημιουργία της σύνδεσης.

εισαγωγή com.pi4j.io.i2c. I2CBus;

εισαγωγή com.pi4j.io.i2c. I2CDevice;

εισαγωγή com.pi4j.io.i2c. I2CFactory?

εισαγωγή java.io. IOException;

Οι λειτουργίες εγγραφής () και ανάγνωσης () χρησιμοποιούνται για την εγγραφή συγκεκριμένων εντολών στον αισθητήρα για να λειτουργήσει σε μια συγκεκριμένη λειτουργία και να διαβάσει την έξοδο του αισθητήρα αντίστοιχα.

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

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

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

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

Συνιστάται: