Inhaltsverzeichnis:

TMP-112 mit Arduino Nano (I2C) verbinden - Gunook
TMP-112 mit Arduino Nano (I2C) verbinden - Gunook

Video: TMP-112 mit Arduino Nano (I2C) verbinden - Gunook

Video: TMP-112 mit Arduino Nano (I2C) verbinden - Gunook
Video: How to interface with HDC1080 humidity and temperature sensor with Arduino using I2C 2024, November
Anonim
TMP-112 mit Arduino Nano (I2C) verbinden
TMP-112 mit Arduino Nano (I2C) verbinden

Hallo, Schöne Grüße..!!

Ich (Somanshu Choudhary) im Auftrag von Dcube Tech Ventures werde die Temperatur mit Arduino Nano messen. Dies ist eine der Anwendungen des I2C-Protokolls zum Lesen analoger Daten des Temperatursensors TMP-112.

Schritt 1: Übersicht

Überblick
Überblick
  1. TMP-112 ist ein Temperatursensor.
  2. DATENBLATT Link:

Schritt 2: Was Sie brauchen / Links

Was Sie brauchen / Links
Was Sie brauchen / Links
  1. Arduino Nano
  2. I²C-Shield für Arduino Nano
  3. USB-Kabel Typ A zu Micro Typ B 6 Fuß lang
  4. I²C-Kabel
  5. TMP112 I²C Temperatursensor ±.5°C 12-Bit I²C Mini Modul

Schritt 3: Schaltplan

Schaltplan
Schaltplan
Schaltplan
Schaltplan

Schritt 4: Programmierung

Programmierung
Programmierung

#enthalten

Void-Setup ()

{

// I2C-Adresse des TMP112

#define TMP_ADDR 0x48

// I2c Bus als Master beitreten

Wire.begin();

// Serielle Kommunikation starten

Serial.begin (9600);

// Übertragung beginnen

Wire.beginTransmission(TMP_ADDR);

// Wählen Sie das ENABLE-Register

Wire.write (0x01);

// Normalbetrieb wählen

Wire.write (0x60A0);

// Übertragung beenden und I2C-Bus freigeben

Wire.endTransmission();

}

Leere Schleife ()

{

// Übertragung beginnen

Wire.beginTransmission(TMP_ADDR);

// Datenregister auswählen

Wire.write (0X00);

// Übertragung beenden

Wire.endTransmission();

Verzögerung (500);

// 2 Byte anfordern, Msb zuerst

Wire.requestFrom(TMP_ADDR, 2);

// Lesen Sie die zwei Bytes

while(Draht.verfügbar())

{

// Müll entfernen

Serial.flush();

int msb = Wire.read();

int lsb = Wire.read();

Wire.endTransmission();

// Datenkonvertierung in Rohwerte

int rawtmp = msb << 8 |lsb;

int-Wert = rawtmp >> 4;

Doppelans = Wert * 0,0625;

// Ausgabe drucken

Serial.print ("Celsius-Wert: ");

Serial.println(ans);

}

}

Schritt 5:

Ich habe mein Bestes gegeben, du tust deins;-)

Für weitere Fragen besuchen Sie gerne unsere Website:

www.dcubetechnologies.com

Empfohlen: