Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Ο ψηφιακός αισθητήρας θερμοκρασίας STS21 προσφέρει ανώτερες επιδόσεις και αποτύπωμα εξοικονόμησης χώρου. Παρέχει βαθμονομημένα, γραμμικά σήματα σε ψηφιακή μορφή I2C. Η κατασκευή αυτού του αισθητήρα βασίζεται στην τεχνολογία CMOSens, η οποία αποδίδει στην ανώτερη απόδοση και αξιοπιστία του STS21. Η ανάλυση του STS21 μπορεί να αλλάξει με εντολή, μπορεί να ανιχνευθεί χαμηλή μπαταρία και το άθροισμα ελέγχου βοηθά στη βελτίωση της αξιοπιστίας της επικοινωνίας. Εδώ είναι η απόδειξή του για διασύνδεση με Arduino nano.
Βήμα 1: Αυτό που χρειάζεστε..
1. Arduino Nano
2. STS21
3. Καλώδιο I²C
4. I²C Shield για Arduino Nano
Βήμα 2: Σύνδεση:
Πάρτε μια ασπίδα I2C για το Arduino Nano και σπρώξτε την απαλά πάνω από τις ακίδες του Nano.
Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα STS21 και το άλλο άκρο στην ασπίδα I2C.
Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.
Βήμα 3: Κωδικός:
Μπορείτε να κατεβάσετε τον κώδικα Arduino για το STS21 από το αποθετήριο GitHub-Dcube Store.
Εδώ είναι ο σύνδεσμος για το ίδιο:
github.com/DcubeTechVentures/STS21…
Περιλαμβάνουμε τη βιβλιοθήκη Wire.h για τη διευκόλυνση της επικοινωνίας I2c του αισθητήρα με την πλακέτα Arduino.
Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:
// Διανέμεται με άδεια ελεύθερης βούλησης.
// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρο ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
// STS21
// Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module STS21_I2CS I2C που διατίθεται στο Dcube Store.
#περιλαμβάνω
// Η διεύθυνση STS21 I2C είναι 0x4A (74)
#define addr 0x4A
void setup ()
{
// Αρχικοποίηση επικοινωνίας I2C ως MASTER
Wire.begin ();
// Έναρξη σειριακής επικοινωνίας, ρύθμιση ρυθμού baud = 9600
Serial.begin (9600);
καθυστέρηση (300)?
}
κενός βρόχος ()
{
ανυπόγραφα δεδομένα int [2];
// Έναρξη μετάδοσης I2C
Wire.beginTransmission (addr);
// Επιλέξτε no hold master
Wire.write (0xF3);
// Τέλος μετάδοσης I2C
Wire.endTransmission ();
καθυστέρηση (300)?
// Ζητήστε 2 byte δεδομένων
Wire.requestFrom (addr, 2)?
// Διαβάστε 2 byte δεδομένων
εάν (Wire.available () == 2)
{
δεδομένα [0] = Wire.read ();
δεδομένα [1] = Wire.read ();
}
// Μετατρέψτε τα δεδομένα
int rawtmp = δεδομένα [0] * 256 + δεδομένα [1];
int value = rawtmp & 0xFFFC;
διπλό cTemp = -46,85 + (175,72 * (τιμή / 65536,0));
διπλό fTemp = cTemp * 1,8 + 32;
// Έξοδος δεδομένων σε σειριακή οθόνη
Serial.print ("Θερμοκρασία σε Κελσίου:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Θερμοκρασία σε Φαρενάιτ:");
Serial.print (fTemp);
Serial.println ("F");
καθυστέρηση (300)?
}
Βήμα 4: Εφαρμογές:
Ο ψηφιακός αισθητήρας θερμοκρασίας STS21 μπορεί να χρησιμοποιηθεί σε συστήματα που απαιτούν παρακολούθηση θερμοκρασίας υψηλής ακρίβειας. Μπορεί να ενσωματωθεί σε διάφορους εξοπλισμούς υπολογιστών, ιατρικούς εξοπλισμούς και συστήματα βιομηχανικού ελέγχου με την απαραίτητη μέτρηση θερμοκρασίας με εξαιρετική ακρίβεια.