Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Ο ψηφιακός αισθητήρας θερμοκρασίας STS21 προσφέρει ανώτερες επιδόσεις και αποτύπωμα εξοικονόμησης χώρου. Παρέχει βαθμονομημένα, γραμμικά σήματα σε ψηφιακή μορφή I2C. Η κατασκευή αυτού του αισθητήρα βασίζεται στην τεχνολογία CMOSens, η οποία αποδίδει στην ανώτερη απόδοση και αξιοπιστία του STS21. Η ανάλυση του STS21 μπορεί να αλλάξει με εντολή, μπορεί να ανιχνευθεί χαμηλή μπαταρία και το άθροισμα ελέγχου βοηθά στη βελτίωση της αξιοπιστίας της επικοινωνίας. Εδώ είναι η απόδειξή του ότι το διασυνδέει με το Parton Photon.
Βήμα 1: Αυτό που χρειάζεστε..
1. Φωτόνιο σωματιδίων
2. STS21
3. Καλώδιο I²C
4. I²C Shield for Particle Photon
Βήμα 2: Σύνδεση:
Πάρτε μια ασπίδα I2C για το σωματίδιο φωτονίου και σπρώξτε την απαλά πάνω από τις ακίδες του σωματιδίου φωτονίου.
Στη συνέχεια, συνδέστε το ένα άκρο του καλωδίου I2C στον αισθητήρα STS21 και το άλλο άκρο στην ασπίδα I2C.
Οι συνδέσεις φαίνονται στην παραπάνω εικόνα.
Βήμα 3: Κωδικός:
Μπορείτε να κατεβάσετε τον κωδικό σωματιδίων για το STS21 από το αποθετήριο GitHub- Dcube Store.
Εδώ είναι ο σύνδεσμος για το ίδιο:
github.com/DcubeTechVentures/STS21
Έχουμε χρησιμοποιήσει δύο βιβλιοθήκες για κώδικα σωματιδίων, οι οποίες είναι οι εφαρμογές.h και spark_wiring_i2c.h. Η βιβλιοθήκη Spark_wiring_i2c απαιτείται για τη διευκόλυνση της επικοινωνίας I2C με τον αισθητήρα.
Μπορείτε επίσης να αντιγράψετε τον κώδικα από εδώ, δίνεται ως εξής:
// Διανέμεται με άδεια ελεύθερης βούλησης.
// Χρησιμοποιήστε το με όποιον τρόπο θέλετε, κερδοφόρο ή δωρεάν, υπό την προϋπόθεση ότι ταιριάζει στις άδειες των σχετικών έργων του.
// STS21
// Αυτός ο κώδικας έχει σχεδιαστεί για να λειτουργεί με το Mini Module STS21_I2CS I2C που διατίθεται στο Dcube Store.
#περιλαμβάνω
#περιλαμβάνω
// Η διεύθυνση STS21 I2C είναι 0x4A (74)
#define addr 0x4A
float cTemp = 0,0;
void setup ()
{
// Ορισμός μεταβλητής
Particle.variable ("i2cdevice", "STS21");
Particle.variable ("cTemp", cTemp);
// Αρχικοποίηση επικοινωνίας 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 ();
καθυστέρηση (500)?
// Ζητήστε 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));
float fTemp = cTemp * 1.8 + 32;
// Έξοδος δεδομένων στον πίνακα ελέγχου
Particle.publish ("Temperature in Celsius:", String (cTemp));
Particle.publish ("Temperature in Fahrenheit:", String (fTemp));
καθυστέρηση (1000)?
}
Βήμα 4: Εφαρμογές:
Ο ψηφιακός αισθητήρας θερμοκρασίας STS21 μπορεί να χρησιμοποιηθεί σε συστήματα που απαιτούν παρακολούθηση θερμοκρασίας υψηλής ακρίβειας. Μπορεί να ενσωματωθεί σε διάφορους εξοπλισμούς υπολογιστών, ιατρικούς εξοπλισμούς και συστήματα βιομηχανικού ελέγχου με την απαραίτητη μέτρηση θερμοκρασίας με εξαιρετική ακρίβεια.