Cuprins:

Interfațarea TMP-112 cu Arduino Nano (I2C): 5 pași
Interfațarea TMP-112 cu Arduino Nano (I2C): 5 pași

Video: Interfațarea TMP-112 cu Arduino Nano (I2C): 5 pași

Video: Interfațarea TMP-112 cu Arduino Nano (I2C): 5 pași
Video: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, Noiembrie
Anonim
Interfațarea TMP-112 cu Arduino Nano (I2C)
Interfațarea TMP-112 cu Arduino Nano (I2C)

Buna ziua, Salutari bune.. !!

I (Somanshu Choudhary), în numele Dcube, se aventurează să măsoare temperatura folosind Arduino nano, este una dintre aplicațiile protocolului I2C să citească datele analogice ale senzorului de temperatură TMP-112.

Pasul 1: Prezentare generală

Prezentare generală
Prezentare generală
  1. TMP-112 este un senzor de temperatură.
  2. Fișă tehnică Link:

Pasul 2: De ce aveți nevoie / linkuri

Ce aveți nevoie / linkuri
Ce aveți nevoie / linkuri
  1. Arduino Nano
  2. Scut I²C pentru Arduino Nano
  3. Cablu USB de tip A la Micro tip B lung de 6 picioare
  4. Cablu I²C
  5. TMP112 Senzor de temperatură I²C ±.5 ° C Mini-modul I²C pe 12 biți

Pasul 3: Diagrama circuitului

Diagrama circuitului
Diagrama circuitului
Diagrama circuitului
Diagrama circuitului

Pasul 4: Programare

Programare
Programare

#include

configurare nulă ()

{

// Adresa I2C a TMP112

#define TMP_ADDR 0x48

// Alăturați-vă I2c Bus ca master

Wire.begin ();

// Începeți comunicarea în serie

Serial.begin (9600);

// Începeți transmisia

Wire.beginTransmission (TMP_ADDR);

// Selectați ENABLE register

Wire.write (0x01);

// Selectați funcționarea normală

Wire.write (0x60A0);

// Încheiați transmisia și eliberați magistrala I2C

Wire.endTransmission ();

}

bucla nulă ()

{

// Începeți transmisia

Wire.beginTransmission (TMP_ADDR);

// Selectați Registrele de date

Wire.write (0X00);

// Încheie transmisia

Wire.endTransmission ();

întârziere (500);

// Solicitați 2 octeți, mai întâi Msb

Wire.requestFrom (TMP_ADDR, 2);

// Citiți cei doi octeți

while (Wire.available ())

{

// scoate gunoiul

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Conversia datelor în valori brute

int rawtmp = msb << 8 | lsb;

valoare int = rawtmp >> 4;

ans dublu = valoare * 0,0625;

// Imprimare

Serial.print ("valoare celsius:");

Serial.println (ans);

}

}

Pasul 5:

Am făcut tot posibilul să-l faci pe al tău;-)

Pentru întrebări suplimentare Simțiți-vă liber să vizitați site-ul nostru:

www.dcubetechnologies.com

Recomandat: