Indholdsfortegnelse:

Grænseflade TMP-112 med Arduino Nano (I2C): 5 trin
Grænseflade TMP-112 med Arduino Nano (I2C): 5 trin

Video: Grænseflade TMP-112 med Arduino Nano (I2C): 5 trin

Video: Grænseflade TMP-112 med Arduino Nano (I2C): 5 trin
Video: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, November
Anonim
Grænseflade TMP-112 med Arduino Nano (I2C)
Grænseflade TMP-112 med Arduino Nano (I2C)

Hej, God hilsen.. !!

I (Somanshu Choudhary) på vegne af Dcube tech ventures, der skal måle temperaturen ved hjælp af Arduino nano, er det en af applikationerne i I2C-protokollen til at læse analoge data fra temperatursensoren TMP-112.

Trin 1: Oversigt

Oversigt
Oversigt
  1. TMP-112 er en temperatursensor.
  2. DATASHEET Link:

Trin 2: Hvad du har brug for / Links

Hvad du har brug for / links
Hvad du har brug for / links
  1. Arduino Nano
  2. I²C Shield til Arduino Nano
  3. USB -kabel Type A til Micro Type B 6 fod lang
  4. I²C kabel
  5. TMP112 I²C Temperatursensor ±.5 ° C 12-bit I²C Mini Modul

Trin 3: Kredsløbsdiagram

Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram
Kredsløbsdiagram

Trin 4: Programmering

Programmering
Programmering

#omfatte

ugyldig opsætning ()

{

// I2C -adresse på TMP112

#define TMP_ADDR 0x48

// Deltag i I2c Bus som master

Wire.begin ();

// Start seriel kommunikation

Serial.begin (9600);

// Start transmissionen

Wire.beginTransmission (TMP_ADDR);

// Vælg ENABLE register

Wire.write (0x01);

// Vælg normal drift

Wire.write (0x60A0);

// Afslut transmission og frigiv I2C -bus

Wire.endTransmission ();

}

hulrum ()

{

// Start transmissionen

Wire.beginTransmission (TMP_ADDR);

// Vælg dataregistre

Wire.write (0X00);

// Afslut transmission

Wire.endTransmission ();

forsinkelse (500);

// Anmod om 2 bytes, Msb først

Wire.requestFrom (TMP_ADDR, 2);

// Læs de to bytes

mens (Wire.available ())

{

// fjern skrald

Seriel.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Datakonvertering i råværdier

int rawtmp = msb << 8 | lsb;

int værdi = rawtmp >> 4;

dobbelt ans = værdi * 0,0625;

// Udskrivning

Serial.print ("celsius -værdi:");

Serial.println (ans);

}

}

Trin 5:

Jeg gjorde mit bedste, du gør dit;-)

For yderligere spørgsmål Besøg gerne vores websted:

www.dcubetechnologies.com

Anbefalede: