Obsah:

Rozhraní TMP-112 s Arduino Nano (I2C): 5 kroků
Rozhraní TMP-112 s Arduino Nano (I2C): 5 kroků

Video: Rozhraní TMP-112 s Arduino Nano (I2C): 5 kroků

Video: Rozhraní TMP-112 s Arduino Nano (I2C): 5 kroků
Video: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, Listopad
Anonim
Rozhraní TMP-112 s Arduino Nano (I2C)
Rozhraní TMP-112 s Arduino Nano (I2C)

Ahoj, S pozdravem.. !!

Já (Somanshu Choudhary) jménem společnosti Dcube tech ventures, která se chystá měřit teplotu pomocí Arduino nano, je jednou z aplikací protokolu I2C ke čtení analogových dat teplotního senzoru TMP-112.

Krok 1: Přehled

Přehled
Přehled
  1. TMP-112 je teplotní senzor.
  2. Odkaz na DATASHEET:

Krok 2: Co potřebujete / odkazy

Co potřebujete / odkazy
Co potřebujete / odkazy
  1. Arduino Nano
  2. I²C štít pro Arduino Nano
  3. Kabel USB typu A na mikro typu B dlouhý 6 stop
  4. I²C kabel
  5. Senzor teploty TMP112 I²C ± 0,5 ° C 12bitový I²C mini modul

Krok 3: Schéma zapojení

Kruhový diagram
Kruhový diagram
Kruhový diagram
Kruhový diagram

Krok 4: Programování

Programování
Programování

#zahrnout

neplatné nastavení ()

{

// I2C adresa TMP112

#define TMP_ADDR 0x48

// Připojte se k I2c Bus jako hlavní

Wire.begin ();

// Zahájení sériové komunikace

Serial.begin (9600);

// Zahájení přenosu

Wire.beginTransmission (TMP_ADDR);

// Vyberte POVOLIT registr

Wire.write (0x01);

// Vyberte normální provoz

Wire.write (0x60A0);

// Ukončete přenos a uvolněte sběrnici I2C

Wire.endTransmission ();

}

prázdná smyčka ()

{

// Zahájení přenosu

Wire.beginTransmission (TMP_ADDR);

// Vyberte datové registry

Wire.write (0X00);

// Ukončení přenosu

Wire.endTransmission ();

zpoždění (500);

// Žádost o 2 bajty, nejprve Msb

Wire.requestFrom (TMP_ADDR, 2);

// Přečíst dva bajty

while (Wire.available ())

{

// odstranění odpadků

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Konverze dat v nezpracovaných hodnotách

int rawtmp = msb << 8 | lsb;

int hodnota = rawtmp >> 4;

dvojité ans = hodnota * 0,0625;

// Tiskový výstup

Serial.print ("hodnota Celsia:");

Serial.println (ans);

}

}

Krok 5:

Udělal jsem maximum, co děláte vy;-)

Pro další dotazy neváhejte navštívit naše stránky:

www.dcubetechnologies.com

Doporučuje: