Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Γεια σας, Καλούς χαιρετισμούς.. !!
I (Somanshu Choudhary) για λογαριασμό των τεχνολογικών επιχειρήσεων Dcube που μετρούν τη θερμοκρασία χρησιμοποιώντας το Arduino nano, είναι μια από τις εφαρμογές του πρωτοκόλλου I2C για την ανάγνωση αναλογικών δεδομένων αισθητήρα θερμοκρασίας TMP-112.
Βήμα 1: Επισκόπηση
- Το TMP-112 είναι αισθητήρας θερμοκρασίας.
- Σύνδεσμος DATASHEET:
Βήμα 2: Τι χρειάζεστε / Σύνδεσμοι
- Arduino Nano
- I²C Shield για Arduino Nano
- Καλώδιο USB τύπου A έως Micro Type B 6 πόδια μακριά
- Καλώδιο I²C
- TMP112 I²C Temperature Sensor ±.5 ° C 12-Bit I²C Mini Module
Βήμα 3: Διάγραμμα κυκλώματος
Βήμα 4: Προγραμματισμός
#περιλαμβάνω
void setup ()
{
// διεύθυνση I2C του TMP112
#define TMP_ADDR 0x48
// Εγγραφείτε στο I2c Bus ως κύριο
Wire.begin ();
// Έναρξη σειριακής επικοινωνίας
Serial.begin (9600);
// Έναρξη μετάδοσης
Wire.beginTransmission (TMP_ADDR);
// Επιλέξτε ENABLE register
Wire.write (0x01);
// Επιλέξτε κανονική λειτουργία
Wire.write (0x60A0);
// Τερματισμός μετάδοσης και απελευθέρωσης διαύλου I2C
Wire.endTransmission ();
}
κενός βρόχος ()
{
// Έναρξη μετάδοσης
Wire.beginTransmission (TMP_ADDR);
// Επιλέξτε Καταχωρητές δεδομένων
Wire.write (0X00);
// Τερματισμός μετάδοσης
Wire.endTransmission ();
καθυστέρηση (500)?
// Αίτημα 2 byte, Msb πρώτα
Wire.requestFrom (TMP_ADDR, 2)?
// Διαβάστε τα δύο byte
ενώ (Wire.available ())
{
// αφαιρέστε τα σκουπίδια
Serial.flush ();
int msb = Wire.read ();
int lsb = Wire.read ();
Wire.endTransmission ();
// Μετατροπή δεδομένων σε ακατέργαστες τιμές
int rawtmp = msb << 8 | lsb;
int value = rawtmp >> 4;
διπλό ans = τιμή * 0,0625;
// Έξοδος εκτύπωσης
Serial.print ("τιμή κελσίου:");
Serial.println (ans);
}
}
Βήμα 5:
Έκανα ό, τι καλύτερο μπορούσες να κάνεις το δικό σου;-)
Για περαιτέρω απορίες Μη διστάσετε να επισκεφθείτε τον ιστότοπό μας:
www.dcubetechnologies.com