Satura rādītājs:

TMP-112 saskarne ar Arduino Nano (I2C): 5 soļi
TMP-112 saskarne ar Arduino Nano (I2C): 5 soļi

Video: TMP-112 saskarne ar Arduino Nano (I2C): 5 soļi

Video: TMP-112 saskarne ar Arduino Nano (I2C): 5 soļi
Video: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, Novembris
Anonim
TMP-112 saskarne ar Arduino Nano (I2C)
TMP-112 saskarne ar Arduino Nano (I2C)

Sveiki, Labi sveicieni.. !!

Es (Somanshu Choudhary) Dcube tehnoloģiju uzņēmumu vārdā, kas gatavojas mērīt temperatūru, izmantojot Arduino nano, tas ir viens no I2C protokola lietojumiem, lai nolasītu temperatūras sensora TMP-112 analogos datus.

1. darbība. Pārskats

Pārskats
Pārskats
  1. TMP-112 ir temperatūras sensors.
  2. DATU LAPA Saite:

2. darbība. Nepieciešamais / saites

Kas jums nepieciešams / Saites
Kas jums nepieciešams / Saites
  1. Arduino Nano
  2. I²C vairogs Arduino Nano
  3. USB kabelis no A tipa līdz mikro tipam B 6 pēdas garš
  4. I²C kabelis
  5. TMP112 I²C temperatūras sensors ±.5 ° C 12 bitu I²C mini modulis

3. darbība: shēmas shēma

Ķēdes diagramma
Ķēdes diagramma
Ķēdes diagramma
Ķēdes diagramma

4. solis: programmēšana

Programmēšana
Programmēšana

#iekļaut

anulēts iestatījums ()

{

// TMP112 I2C adrese

#define TMP_ADDR 0x48

// Pievienojieties I2c Bus kā galvenais

Wire.begin ();

// Sāciet seriālo komunikāciju

Sērijas sākums (9600);

// Sāciet pārraidi

Wire.beginTransmission (TMP_ADDR);

// Atlasiet ENABLE register

Wire.write (0x01);

// Izvēlieties normālu darbību

Wire.write (0x60A0);

// Pārtrauciet pārraidi un atlaidiet I2C kopni

Wire.endTransmission ();

}

tukša cilpa ()

{

// Sāciet pārraidi

Wire.beginTransmission (TMP_ADDR);

// Atlasiet Datu reģistri

Wire.write (0X00);

// Beigt pārraidi

Wire.endTransmission ();

kavēšanās (500);

// Pieprasiet 2 baitus, vispirms Msb

Wire.requestFrom (TMP_ADDR, 2);

// Izlasiet divus baitus

kamēr (Wire.available ())

{

// izņemt atkritumus

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Datu konvertēšana neapstrādātās vērtībās

int rawtmp = msb << 8 | lsb;

int vērtība = rawtmp >> 4;

dubultā ans = vērtība * 0,0625;

// Drukas izvade

Serial.print ("Celsija vērtība:");

Serial.println (ans);

}

}

5. darbība:

Es darīju visu iespējamo, lai tu darītu tavu;-)

Lai iegūtu papildu jautājumus, lūdzu, apmeklējiet mūsu vietni:

www.dcubetechnologies.com

Ieteicams: