MCP9700, Sensor de temperatura

Este tutorial tiene como objetivo mostrar el funcionamiento del sensor de temperatura MCP9700 con Arduino.  El sensor genera una señal análoga y no se necesita algún otro componente para trabajar con él, sólo un ADC. Entonces, Lo que se debe obtener es la lectura del voltaje que se proporciona desde la terminal número 3 y esta señal es análoga.  Es un sensor de temperatura que convierte la temperatura en un voltaje análogo.  El pin de salida de voltaje (Vout) puede ser conectado directamente a una entrada ADC de un microcontrolador. Los coeficientes de temperatura están escalados para proporcionar una resolución de 1°C/bit para un ADC de 8 bits con una referencia de voltaje de 5V.

Con la información dada en la hoja de datos se sabe que la sensibilidad del sensor es de 10mV/°C es decir que 10mV equivale a 1°C, de la misma hoja se puede saber que 500mV corresponde a 0°C.

FISICO2
Sensor MCP9700

La siguiente imagen contiene el nombre de las terminales del MCP9700 y se ha obtenido de la hoja de datos del componente.

ENCAPSULADO
Imagen 1. Encapsulado de sensor MCP9700
PIN
Imagen 2. PIN de sensor MCP9700

Material necesario

Teniendo en cuenta lo anterior se prosigue  con la conexión de las terminales, la terminal número 4 se conecta a voltaje (5v), la terminal marcada con el número 3 se conecta a  A0 de la placa de Arduino y la terminal  con el número 2 se conecta a  tierra. Se muestra a continuación la conexión del componente con la tarjeta programable.

Conexión del MCP9700 con Arduino

simulacion
Imagen 3. Conexión simulada de sensor MCP9700 y arduino MEGA
FISICO
Imagen 4. Conexión de sensor MCP9700
Imagen 5. Conexión de sensor MCP9700
Imagen 5. Conexión de sensor de temperatura analógico con Arduino.

Las conexiones entre el sensor y el Arduino son de la siguiente manera:

SENSORARDUINO

VDD

5V
GNDGND
VOUT

A0

Explicación del código del MCP9700 con Arduino.

Se inicia  con la declaración de las variables a utilizar con la que se manipulara la temperatura y en la parte de setup se configura el serial a 9600.

[code language=»cpp»]
double TEM;
void setup() {
Serial.begin(9600);
};
[/code]

Se prosigue con la lectura de  la señal análoga en el  pin A0. Después  se multiplica por 5 que son los 5 volts que lee la placa  Arduino y se divide  en 1024, y se resta  0.5 para quitar el offset de que   0°C es igual a 500mV.

[code language=»cpp»]
void loop () {
TEM = analogRead(A0)*5/1024.0;
TEM = TEM – 0.5;
[/code]

Ahora se divide entre   0.01 para obtener la  equivalencia en valores de  °C., y se finaliza  imprimiendo  el valor en nuestro monitor serial y finalmente se establece un tiempo de espera.

[code language=»cpp»]
TEM = TEM / 0.01;
Serial.println(TEM);
delay(1000);
};
[/code]

A continuación se muestra cómo es que debe verse la información en la terminal, en este caso la terminal de la placa Arduino.

Imagen 6. Resultado mostrado en monitor serial
Imagen 6. Resultado mostrado en monitor serial

Sitios de interes

Código completo de sensor con Arduino

[code language=»cpp»]
double TEM;
void setup() {
Serial.begin(9600);
};
void loop () {
TEM = analogRead(A0)*5/1024.0;
TEM = TEM – 0.5;
TEM = TEM / 0.01;
Serial.println(TEM);
delay(2000);
};
[/code]

Otros sensores de temperatura analógicos

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *