Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Μόνο καλωδίωση ένα:
- Βήμα 2: Αλλαγή διεύθυνσης (κωδικοποίηση)
- Βήμα 3: Καλωδίωση όλων των αισθητήρων:
- Βήμα 4: Η τελική κωδικοποίηση:
Βίντεο: Πολλαπλοί αισθητήρες θερμοκρασίας IR - MLX90614: 4 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Αυτός είναι ένας γρήγορος οδηγός για τον τρόπο ρύθμισης πολλαπλών αισθητήρων θερμοκρασίας MLX90614B χωρίς επαφή μέσω του διαύλου I2C με uno Arduino και εμφάνιση των αναγνώσεις στη σειριακή οθόνη του Arduino IDE. Χρησιμοποιώ τις προκατασκευασμένες πλακέτες, αλλά αν αγοράσετε τον αισθητήρα από μόνο του, θα χρειαστείτε αντιστάσεις έλξης για το δίαυλο I2C και έναν πυκνωτή αποσύνδεσης μεταξύ Vdd και Vss.
Συνιστώ ανεπιφύλακτα να ελέγξετε το φύλλο δεδομένων Melexis επειδή δεν θα μπω σε λεπτομέρειες για όλες τις προδιαγραφές και τις ανοχές του αισθητήρα.
Προμήθειες
x1 Breadboard
x8 Jumper Wires
x6 άλτες
x3 MLX90614 αισθητήρες θερμοκρασίας χωρίς επαφή
x1 Arduino UNO R3
(Εάν έχετε το MLX90614 χωρίς την πλακέτα)
x2 (αντιστάσεις 4,7k ohm)
x3 (.01 uf Πυκνωτές)
Βήμα 1: Μόνο καλωδίωση ένα:
Το παραπάνω διάγραμμα βασίζεται στις συστάσεις των φύλλων δεδομένων για αυτόνομο αισθητήρα. Εάν έχετε τον αισθητήρα με την προκατασκευασμένη πλακέτα, τότε συνδέετε SLC από την πλακέτα στον ακροδέκτη A5 στο Arduino, τον SDA στον ακροδέκτη A4, τον Vin στον ακροδέκτη 3.3V και τον GND στο τερματικό GND στο Arduino.
Θα χρειαστεί να αλλάξουμε τη διεύθυνση του αισθητήρα εάν θέλουμε να χρησιμοποιήσουμε πολλούς αισθητήρες στον ίδιο δίαυλο I2C, αλλά μπορείτε να επαναπρογραμματίσετε μόνο έναν κάθε φορά
Βήμα 2: Αλλαγή διεύθυνσης (κωδικοποίηση)
Ευτυχώς για όλους μας την ανάγκη κωδικοποίησης σε αυτό το έργο υπάρχουν βιβλιοθήκες για κάθε βήμα.
Μπορείτε είτε να βρείτε τη βιβλιοθήκη sparkfun στη "Διαχείριση βιβλιοθηκών" στα εργαλεία, επιλέγοντας το MLX90614 στο Arduino IDE ή μπορείτε να αντιγράψετε το φάκελο που παρείχα στο αρχείο zip στο "Document/Arduino/βιβλιοθήκες" στα παράθυρα.
Το αρχείο ονομάζεται "MLX90614_Set_Address.ino" ή μπορείτε να βρείτε το αρχείο "set_address" κάτω από το αναπτυσσόμενο μενού "παραδείγματα" στο IDE. Μετά από όλα αυτά, η προεπιλεγμένη/εργοστασιακή διεύθυνση είναι "0x5A" και στη συνέχεια για τη μεταβλητή "newaddress" μπορείτε να την αλλάξετε σε όποια διεύθυνση επιθυμείτε λόγω των περιορισμών του φύλλου δεδομένων και απλώς βεβαιωθείτε ότι όλες διαφέρουν μεταξύ τους Το Ανεβάστε τον κώδικα στο Arduino, ανοίξτε τη σειριακή οθόνη κάτω από τα εργαλεία και πληκτρολογήστε "e" στη σειριακή οθόνη και πατήστε enter, θα σας ζητήσει να αλλάξετε τη διεύθυνση και να αποσυνδέσετε το MLX90614 από την τροφοδοσία.
Βήμα 3: Καλωδίωση όλων των αισθητήρων:
Η ίδια μέθοδος με την προηγούμενη φορά εάν έχετε τον αυτόνομο αισθητήρα ακολουθήστε το παραπάνω διάγραμμα, εάν έχετε τους πίνακες τότε μπορείτε να τους συνδέσετε με αλυσίδα και στη συνέχεια να συνδέσετε τον τελευταίο σαν να ήταν ένας μόνο αισθητήρας στο Arduino.
Βήμα 4: Η τελική κωδικοποίηση:
Για την πραγματική εκτέλεση των αισθητήρων έπρεπε να τροποποιήσω τη βιβλιοθήκη από το Adafruit για να τρέξω τους πολλαπλούς αισθητήρες, επομένως θα χρειαστεί να εγκαταστήσετε τη βιβλιοθήκη χειροκίνητα από το αρχείο zip που παρείχα, δηλαδή να μετακινήσετε το φάκελο "Adafruit_MLX90614_Library" στο φάκελο βιβλιοθηκών Arduino όπως αναφέρεται στο βήμα 2. Στη συνέχεια, ανοίξτε το "SiMlx.ino" και βεβαιωθείτε ότι οι διευθύνσεις ταιριάζουν με αυτές στις οποίες αλλάξατε τους αισθητήρες σας και, στη συνέχεια, περάστε αυτές τις διευθύνσεις ξεχωριστά και διαδοχικά μέσω του προτύπου "mlx. AddrSet ()" που έχω παράσχει. Ανεβάστε το στο Adruino και θα πρέπει να εκτυπωθεί στη σειριακή οθόνη όπως φαίνεται παραπάνω.
Δημιούργησα μόνο τρία, αλλά μπορείτε να έχετε περισσότερα αντιγράφοντας και επικολλώντας κάθε μπλοκ κώδικα, καθορίζοντας περισσότερη διεύθυνση και αλλάζοντας τον αριθμό των αισθητήρων για το μέσο όρο, εάν θέλετε να ενεργοποιηθεί ο μέσος όρος.
Βρήκα ότι οι αισθητήρες είναι αρκετά ακριβείς, αρκεί να μην τους έχω ενσύρματα μακριά ο ένας από τον άλλο.
Καλή τύχη.
Συνιστάται:
Ξεκινώντας με αισθητήρες ασύρματης θερμοκρασίας και δόνησης μεγάλης εμβέλειας: 7 βήματα
Ξεκινώντας με αισθητήρες ασύρματης θερμοκρασίας και δόνησης μεγάλης εμβέλειας: Μερικές φορές οι δονήσεις είναι η αιτία σοβαρών προβλημάτων σε πολλές εφαρμογές. Από τους άξονες και τα ρουλεμάν της μηχανής έως την απόδοση του σκληρού δίσκου, οι κραδασμοί προκαλούν ζημιά στο μηχάνημα, έγκαιρη αντικατάσταση, χαμηλή απόδοση και προκαλεί σημαντικό πλήγμα στην ακρίβεια. Παρακολούθηση
Πολλαπλοί αισθητήρες BMP280 στο Arduino Uno μέσω SPI: 6 βήματα
Πολλαπλοί αισθητήρες BMP280 στο Arduino Uno μέσω SPI: Σε αυτό το σεμινάριο θα συνδέσουμε τρία BMP280 στο Arduino Uno μέσω SPI, αλλά θα μπορούσατε να συνδέσετε έως και οκτώ BMP280 στο Uno χρησιμοποιώντας ψηφιακές θύρες D3 έως D10 ως nSS (Slave Select) για κάθε αισθητήρα. Το αποτέλεσμα των δειγμάτων ατμοσφαιρικής πίεσης που μετρήθηκαν με το Β
ESP32 NTP Θερμόμετρο μαγειρέματος θερμοκρασίας ανιχνευτή θερμοκρασίας με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: 7 βήματα (με εικόνες)
ESP32 NTP Θερμόμετρο Θερμόμετρο μαγειρέματος με διόρθωση και συναγερμό θερμοκρασίας Steinhart-Hart .: Ακόμα στο ταξίδι για να ολοκληρώσετε ένα «επερχόμενο έργο», ", ESP32 NTP Temperature Probe Cooking Thermometer With Steinhart-Hart Correction and Temperature Alarm " είναι ένας οδηγός που δείχνει πώς προσθέτω έναν αισθητήρα θερμοκρασίας NTP, piezo b
Arduino Nano και δύο αισθητήρες θερμοκρασίας DS18B20 με I2C LCD: 5 βήματα
Arduino Nano και δύο αισθητήρες θερμοκρασίας DS18B20 με I2C LCD: Σήμερα θέλω να σας δείξω πώς να φτιάξετε δύο αισθητήρες θερμοκρασίας DS18B20 με Arduino Nano Clone και I2C LCD. a I2C displejem. Χρησιμοποιώ Arduino IDE 1.8.8 // Pouziv
Θερμόμετρο με σχετικό χρώμα θερμοκρασίας σε οθόνη TFT 2 ιντσών και πολλαπλούς αισθητήρες: 5 βήματα
Θερμόμετρο με σχετικό χρώμα θερμοκρασίας σε οθόνη TFT 2 "και πολλαπλούς αισθητήρες: Έχω κάνει μια οθόνη που δείχνει τις μετρήσεις πολλών αισθητήρων θερμοκρασίας. Το ωραίο είναι ότι το χρώμα των τιμών αλλάζει με τη θερμοκρασία: > 75 βαθμοί Κελσίου = ΚΟΚΚΙΝΟ > 60 > 75 = ΠΟΡΤΟΚΑΛΙ > 40 < 60 = ΚΙΤΡΙΝΟ > 30 < 40