Obsah:

Rozhranie TMP-112 s Arduino Nano (I2C): 5 krokov
Rozhranie TMP-112 s Arduino Nano (I2C): 5 krokov

Video: Rozhranie TMP-112 s Arduino Nano (I2C): 5 krokov

Video: Rozhranie TMP-112 s Arduino Nano (I2C): 5 krokov
Video: Текстовые LCD дисплей на контроллере HD44780, Уроки Arduino 2024, November
Anonim
Rozhranie TMP-112 s Arduino Nano (I2C)
Rozhranie TMP-112 s Arduino Nano (I2C)

Ahoj, Dobrý pozdrav.. !!

Ja (Somanshu Choudhary) v mene technologických spoločností Dcube, ktorí sa chystajú merať teplotu pomocou Arduino nano, je jednou z aplikácií protokolu I2C na čítanie analógových údajov teplotného senzora TMP-112.

Krok 1: Prehľad

Prehľad
Prehľad
  1. TMP-112 je snímač teploty.
  2. Odkaz na DATASHEET:

Krok 2: Čo potrebujete / odkazy

Čo potrebujete / odkazy
Čo potrebujete / odkazy
  1. Arduino Nano
  2. I²C štít pre Arduino Nano
  3. Kábel USB typ A na mikro typ B dlhý 6 stôp
  4. I²C kábel
  5. Snímač teploty TMP112 I²C ± 0,5 ° C 12-bitový I²C mini modul

Krok 3: Schéma zapojenia

Schéma zapojenia
Schéma zapojenia
Schéma zapojenia
Schéma zapojenia

Krok 4: Programovanie

Programovanie
Programovanie

#zahrnúť

neplatné nastavenie ()

{

// I2C adresa TMP112

#define TMP_ADDR 0x48

// Pripojte sa k I2c Bus ako hlavný

Wire.begin ();

// Začnite sériovú komunikáciu

Serial.begin (9600);

// Začnite prenos

Wire.beginTransmission (TMP_ADDR);

// Vyberte POVOLIŤ register

Wire.write (0x01);

// Vyberte normálnu prevádzku

Wire.write (0x60A0);

// Ukončite prenos a uvoľnite zbernicu I2C

Wire.endTransmission ();

}

prázdna slučka ()

{

// Začnite prenos

Wire.beginTransmission (TMP_ADDR);

// Vyberte Dátové registre

Wire.write (0X00);

// Ukončenie prenosu

Wire.endTransmission ();

oneskorenie (500);

// Požiadajte o 2 bajty, najskôr o Msb

Wire.requestFrom (TMP_ADDR, 2);

// Prečítajte si dva bajty

while (Wire.available ())

{

// odstránenie odpadkov

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Konverzia údajov v nespracovaných hodnotách

int rawtmp = msb << 8 | lsb;

int hodnota = rawtmp >> 4;

dvojité ans = hodnota * 0,0625;

// Tlačový výstup

Serial.print ("hodnota Celsia:");

Serial.println (ans);

}

}

Krok 5:

Urobil som všetko pre to, čo robíte vy;-)

V prípade ďalších otázok neváhajte navštíviť naše stránky:

www.dcubetechnologies.com

Odporúča: