Está en la página 1de 8

Inicio

Blog

Cursos

Tienda

SENSOR DE TEMPERATURA CON ARDUINO


Detalles
Escrito por Diego
Categora: boards
ltima actualizacin: 15 Junio 2016

arduino

sensores

.
Los sensores de temperatura son los primeros sensores que utilizaremos en muchos de nuestros proyectos y
cada vez es ms comn tenerlos en formato digital con una interfaz fcil de manejar como el nuestro =). Asi que
empezemos conectando tu tarjeta Hotboards Temp a tu Arduino como lo muestra la siguiente imagen:

.
La libreria de la tarjeta la encuentras aqui

Leyendo la temperatura
Leemos la temperatura de un nico sensor, este sensor se comunica via i2c por lo que ocupamos usar e
inicializar la librera Wire antes de usar nuestro sensor. Una vez inicializado en la funcin setup, leemos la
temperatura cada dos segundos y la desplegamos por serial en la funcin loop. El valor de la temperatura estara
en grados centgrados con una resolucin de 0.5C ( valor por default ).

#include<Arduino.h>
#include<Wire.h>
#include<Hotboards_temp.h>
//Declaramosnuestrosensordetemperatura
Hotboards_tempsensor(Sensor_7);
voidsetup(void)
{
//iniciamosnuestropuertoserial
Serial.begin(9600);
//comoelsensorusalalibreriawire,lainicializamos
Wire.begin();
//despuesinicializamosnuestrosensor
sensor.begin();
}
voidloop(void)
{
//leemoslatemperaturaengradoscelsius
floatval=sensor.read();
//desplegamoselvalorleidoenelpuertoserial
Serial.print("Temp:");
Serial.print(val);
Serial.println("C");
//esperamos2segundosparanoleertanseguido
delay(2000);
}

Si te jas cuando declaramos nuestro sensor le pasamos el parmetro Sensor_7, este valor representa la
direccin de nuestro sensor y se puede congurar en tu tarjeta cortocircuitando los puentes A0, A1 y A2, la
siguiente tabla te muestra la direccin que tendr el sensor dependiendo del valor de estos puentes.
Direccion

A2

A1

A0

Sensor_7

Sensor_6

Sensor_5

Sensor_4

Sensor_3

Sensor_2

Sensor_1

Sensor_0

Nota: "*" puente cerrado ( _cortocircuito_ ) "-" puente abierto ( _sin cortocircuitar_ )
.
Antes de continuar: Con un pequeo cautn y un poco de soldadura asigna la direccin Sensor_5 y ajusta tu
cdigo.
.

Ampliando la resolucin
La librera del sensor digital asigna por default una resolucin de 0.5C pero el sensor puede trabajar con una
resolucin mucho mayor, esto te permite medir con mayor precisin la temperatura ambiental, pero a un
pequeo coste, a mayor resolucin mayor el tiempo de conversin de la temperatura, esto se traduce a que tan
rpido puedes leer una temperatura vlida del sensor. Para una resolucin de 0.5C podemos leer tan seguindo
como 30ms mientras que para la mayor resolucin de 0.0625C podemos leer tan seguido como 250ms.

#include<Arduino.h>
#include<Wire.h>
#include<Hotboards_temp.h>
//Declaramosnuestrosensordetemperatura
Hotboards_tempsensor(Sensor_7);
voidsetup(void)
{
//iniciamosnuestropuertoserial
Serial.begin(9600);
//comoelsensorusalalibreriawire,lainicializamos
Wire.begin();
//despuesinicializamosnuestrosensor
sensor.begin();
//cambiamoslaresoluciona0.0625C
sensor.setResolution(_0p0625C);
}
voidloop(void)
{
//leemoslatemperaturaengradoscelsius
floatval=sensor.read();
//desplegamoselvalorleidoenelpuertoserial
Serial.print("Temp:");
Serial.print(val);
Serial.println("C");
//lasiguientelecturaladebemoshacercomomnimoalos250ms
//enestecasousamosundelayde2segundos,asiquenohayproblema
delay(2000);
}

.
Antes de continuar: investiga las dems resoluciones que maneja el sensor, adems establece un valor de alarma
en el cual se encienda un led cuando la temperatura alcance ese valor.
.

Conectando dos sensores


Ajusta el circuito para tener dos sensores conectados como se muestran en la siguiente gura, NOTA que el
segundo sensor tiene cortocircuitado el puente A0, por lo que su direccin ser Sensor_6
.

.
El echo de tener un sensor digital con una interfaz tipo bus como lo es el i2c nos facilita en mucho el conectar
mas de un sensor, pues al nal no ocuparemos ms pines de nuestro Arduino, ambos sensores del siguiente
ejemplo comparten los mismos pines (excepto la seal de ALERT).

#include<Arduino.h>
#include<Wire.h>
#include<Hotboards_buttons.h>
//Declaramoselprimersensordetemperatura
Hotboards_tempsensor1(Sensor_7);
//Declaramoselsegundosensorcondirecion6,A0estacortocircuitadaenlatarjeta
Hotboards_tempsensor2(Sensor_6);
voidsetup(void)
{
//iniciamosnuestropuertoserial
Serial.begin(9600);
//comoelsensorusalalibreriawire,lainicializamos
Wire.begin();
//despuesinicializamosambosensores
sensor1.begin();
sensor2.begin();
}
voidloop(void)
{
//leemosalprimersensorylodesplegamos
floattemp1=sensor1.read();
Serial.print("Sensor1:");
Serial.print(temp1);
Serial.print("C,");
//leemosalsegundosensor
floattemp2=sensor2.read();
Serial.print("Sensor2:");
Serial.print(temp2);
Serial.println("C");
//esperamos2segundosparanoleertanseguido
delay(2000);
}

.
Antes de continuar: suma el valor de ambas temperaturas y despliega su promedio, adems despliega su valor
en grados Fahrenheit y Kelvin.
.
Puedes revisar ms ejemplos en los codigos que acompaan la libreria y ademas no se te olvide revisar su
repositorio en GitHub.
Establecemos alarmas superior e inferior
Convertimos temperatura a grados Farenheit

Simple lecura de uns sensor


Cmabiando la resolucion del sensor
Leyendo dos sensores
Sensor en modo Low power

Anterior

Siguiente

Comments

COMMENTS

No comments found

Please login to comment

Powered by Komento

REGISTRARSE

Usuario

Contrasea

Recurdeme
Identificarse

Crear una cuenta


Recordar usuario?
Recordar contrasea?

CATEGORIAS

CATEGORIAS
Toolchain(30)
pepper(8)
stm32cube(6)
boards(25)

TAGCLOUD
android

arduino

eclipse

9
28

keyboard,

mbed

pepper

programming

14

storage

git

microhip

12

WIFI,

arm

4
2

registros
wireless,

Audio,

gnu-arm
nucleo

7
3

sensores

Bluetooth,

14

gpios

inputs

nucleos

5
2

st

26

cortex

cmsis

22

stm32

debug

interfaces

openocd

stm32cube

Hotboards
401Megusta

Megustaestapgina

Selprimerodetusamigosen
indicarquelegustaesto.

davispropertymanagement.com

2016 Hotboards Inc.

También podría gustarte