Inhoudsopgave:

Interface TMP-112 met Arduino Nano (I2C) - Ajarnpa
Interface TMP-112 met Arduino Nano (I2C) - Ajarnpa

Video: Interface TMP-112 met Arduino Nano (I2C) - Ajarnpa

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

Hallo, Goede groeten..!!

Ik (Somanshu Choudhary) namens Dcube tech ventures die de temperatuur gaan meten met behulp van Arduino nano, het is een van de toepassingen van het I2C-protocol om analoge gegevens van temperatuursensor TMP-112 te lezen.

Stap 1: Overzicht

Overzicht
Overzicht
  1. TMP-112 is een temperatuursensor.
  2. DATASHEET Link:

Stap 2: Wat je nodig hebt / Links

Wat je nodig hebt / Links
Wat je nodig hebt / Links
  1. Arduino Nano
  2. I²C-schild voor Arduino Nano
  3. USB-kabel Type A naar Micro Type B 6 voet lang
  4. I²C-kabel
  5. TMP112 I²C-temperatuursensor ± 0,5 °C 12-bits I²C-minimodule

Stap 3: Schakelschema

Schakelschema
Schakelschema
Schakelschema
Schakelschema

Stap 4: Programmeren

Programmeren
Programmeren

#erbij betrekken

ongeldige setup()

{

// I2C-adres van de TMP112

#define TMP_ADDR 0x48

// Word lid van I2c Bus als master

Draad.begin();

// Start seriële communicatie

Serieel.begin(9600);

// Begin met verzenden

Wire.beginTransmission (TMP_ADDR);

// Selecteer INSCHAKELEN register

Draad.schrijven (0x01);

// Selecteer normale werking

Draad.schrijven (0x60A0);

// Beëindig de verzending en laat de I2C-bus los

Wire.endTransmission();

}

lege lus()

{

// Begin met verzenden

Wire.beginTransmission (TMP_ADDR);

// Selecteer gegevensregisters

Draad.schrijven (0X00);

// Beëindig verzending

Wire.endTransmission();

vertraging (500);

// Vraag 2 bytes aan, eerst Msb

Wire.requestFrom(TMP_ADDR, 2);

// Lees de twee bytes

while(Draad.beschikbaar())

{

// verwijder afval

Serieel.flush();

int msb = Wire.read();

int lsb = Wire.read();

Wire.endTransmission();

// Gegevensconversie in onbewerkte waarden

int rawtmp = msb << 8 |lsb;

int-waarde = rawtmp >> 4;

dubbele ans = waarde * 0,0625;

// Afdrukuitvoer

Serial.print("celsiuswaarde: ");

Serial.println(ans);

}

}

Stap 5:

Ik heb mijn best gedaan, jij de jouwe;-)

Voor verdere katernen Bezoek gerust onze site:

www.dcubetechnologies.com

Aanbevolen: