Tabla de contenido:

Interfaz de TMP-112 con Arduino Nano (I2C): 5 pasos
Interfaz de TMP-112 con Arduino Nano (I2C): 5 pasos

Video: Interfaz de TMP-112 con Arduino Nano (I2C): 5 pasos

Video: Interfaz de TMP-112 con Arduino Nano (I2C): 5 pasos
Video: How to Interface the TMP102 & TMP112 Temperature Sensors with Arduino 2024, Noviembre
Anonim
Interfaz de TMP-112 con Arduino Nano (I2C)
Interfaz de TMP-112 con Arduino Nano (I2C)

Hola, Buenos saludos.. !!

Yo (Somanshu Choudhary) en nombre de Dcube tech ventures que va a medir la temperatura usando Arduino nano, es una de las aplicaciones del protocolo I2C para leer datos analógicos del sensor de temperatura TMP-112.

Paso 1: descripción general

Visión general
Visión general
  1. TMP-112 es un sensor de temperatura.
  2. Enlace a la HOJA DE DATOS:

Paso 2: Qué necesita / Enlaces

Lo que necesita / enlaces
Lo que necesita / enlaces
  1. Arduino Nano
  2. Escudo I²C para Arduino Nano
  3. Cable USB tipo A a micro tipo B de 6 pies de largo
  4. Cable I²C
  5. TMP112 Sensor de temperatura I²C ±.5 ° C Mini módulo I²C de 12 bits

Paso 3: diagrama de circuito

Diagrama de circuito
Diagrama de circuito
Diagrama de circuito
Diagrama de circuito

Paso 4: programación

Programación
Programación

#incluir

configuración vacía ()

{

// Dirección I2C del TMP112

#define TMP_ADDR 0x48

// Únete a I2c Bus como maestro

Wire.begin ();

// Iniciar la comunicación en serie

Serial.begin (9600);

// Iniciar transmisión

Wire.beginTransmission (TMP_ADDR);

// Seleccionar registro ENABLE

Wire.write (0x01);

// Seleccionar operación normal

Wire.write (0x60A0);

// Finalizar la transmisión y liberar el bus I2C

Wire.endTransmission ();

}

bucle vacío ()

{

// Iniciar transmisión

Wire.beginTransmission (TMP_ADDR);

// Seleccionar registros de datos

Wire.write (0X00);

// Finalizar transmisión

Wire.endTransmission ();

retraso (500);

// Solicita 2 bytes, Msb primero

Wire.requestFrom (TMP_ADDR, 2);

// Leer los dos bytes

while (Wire.available ())

{

// eliminar basura

Serial.flush ();

int msb = Wire.read ();

int lsb = Wire.read ();

Wire.endTransmission ();

// Conversión de datos en valores brutos

int rawtmp = msb << 8 | lsb;

valor int = rawtmp >> 4;

doble ans = valor * 0.0625;

// Salida de impresión

Serial.print ("valor celsius:");

Serial.println (ans);

}

}

Paso 5:

Hice lo mejor que pude, haz el tuyo;-)

Para más preguntas, no dude en visitar nuestro sitio:

www.dcubetechnologies.com

Recomendado: