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

Διασύνδεση TMP-112 με Arduino Nano (I2C): 5 βήματα
Διασύνδεση TMP-112 με Arduino Nano (I2C): 5 βήματα

Βίντεο: Διασύνδεση TMP-112 με Arduino Nano (I2C): 5 βήματα

Βίντεο: Διασύνδεση TMP-112 με Arduino Nano (I2C): 5 βήματα
Βίντεο: Ηλεκτρική διασύνδεση Ελλάδας - Αιγύπτου: To Project Gap και οι σχεδιασμοί του 2024, Νοέμβριος
Anonim
Διασύνδεση TMP-112 με Arduino Nano (I2C)
Διασύνδεση TMP-112 με Arduino Nano (I2C)

Γεια σας, Καλούς χαιρετισμούς.. !!

I (Somanshu Choudhary) για λογαριασμό των τεχνολογικών επιχειρήσεων Dcube που μετρούν τη θερμοκρασία χρησιμοποιώντας το Arduino nano, είναι μια από τις εφαρμογές του πρωτοκόλλου I2C για την ανάγνωση αναλογικών δεδομένων αισθητήρα θερμοκρασίας TMP-112.

Βήμα 1: Επισκόπηση

ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
  1. Το TMP-112 είναι αισθητήρας θερμοκρασίας.
  2. Σύνδεσμος DATASHEET:

Βήμα 2: Τι χρειάζεστε / Σύνδεσμοι

Τι χρειάζεστε / Σύνδεσμοι
Τι χρειάζεστε / Σύνδεσμοι
  1. Arduino Nano
  2. I²C Shield για Arduino Nano
  3. Καλώδιο USB τύπου A έως Micro Type B 6 πόδια μακριά
  4. Καλώδιο I²C
  5. 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

Συνιστάται: