Arduino - Wikispaces

Anuncio
UNIVERSIDAD NACIONAL DE COLOMBIA
FACULTAD DE INGENIERÍA
DEPARTAMENTO DE INGENIERÍA MECÁNICA Y MECATRÓNICA
FUNDAMENTOS DE ELECTRICIDAD Y MAGNETISMO
PROFESOR
JAIME VILLALOBOS
PROYECTO FINAL SENSOR DE TEMPERATURA
JEISSON BARRIGA - 234744
MANUEL CARDOZO - 234732
SERGIO GONZALEZ - 234692
BOGOTA DC.
2012-11-28
OBJETIVO:
El objetivo principal de realizar un sensor de temperatura es aprender conceptos
básicos de electricidad, con el fin de emplearlos en un sensor que medirá
temperatura ambiente de una zona especificada por el usuario y transferirá los
datos a un computador el cual ira almacenando los datos obtenidos durante el día.
COMPONENTES:
El sensor es un proyecto compuesto principalmente por dos elementos; un sensor
de temperatura lm35 y una plataforma arduino. Adicionalmente se usó un cable USB
para transferir los datos al computador y una protoboard para conectar el sensor.
Sensor LM 35
El lm35 es un sensor de temperatura con una precisión calibrada de 1ºC y un rango
que abarca desde -55º a +150ºC.
El sensor se presenta en diferentes encapsulados pero el mas común es el to-92 de
igual forma que un típico transistor con 3 patas, dos de ellas para alimentarlo y la
tercera nos entrega un valor de tensión proporcional a la temperatura medida por el
dispositivo. Con el LM35 sobre la mesa las patillas hacia nosotros y las letras del
encapsulado hacia arriba tenemos que de izquierda a derecha los pines son: VCC Vout - GND.
La salida es lineal y equivale a 10mV/ºC por lo tanto:
+1500mV = 150ºC
+250mV = 25ºC
-550mV = -55ºC
Arduino
El arduino es una tarjeta basada en el microcontrolador ATmega168 (datasheet).
Tiene 14 entradas/salidas digitales de las cuales 6 pueden ser usadas como salidas
PWM, 6 entradas análogas, cristal de 16MHz, conexión USB, entrada de poder,
conector ICSP y botón de reset. Contiene todo lo que se necesita para el uso del
microcontrolador.
La tarjeta puede alimentarse directamente del puerto USB o usar alimentación
externa. El voltaje de operación del microcontrolador es de 5V, el voltaje de
alimentación de la tarjeta se recomienda entre 7-12V. El microcontrolador tiene
16KB de memoria FLASH (de los cuales usa 2KB para el bootloader), memoria SRAM
de 1KB y memoria EEPROM de 512 bytes.
El Arduino 2009 tiene un conector Mini USB (Mini-B) para conectarse al PC, para
esto puede usar el Cable Mini USB.
Cable USB
Los usamos para transferir los datos desde el arduino al computador y al mismo
tiempo alimentarlo sin necesidad de utilizar una toma corriente.
Protoboard
Se utilizo una protoboard para realizar la conexión entre el sensor de temperatura
LM35 y el arduino.
MONTAJE:
El transistor lm 35 cuenta con tres salidas, la primera es de la alimentación, esta va
conectada a la entrada de 5v del arduino, la salida del medio que es la análoga, se
conecta al 0 del arduino y la última va a tierra (ground) para cerrar el circuito.
Después de tener conectado el sensor al arduino conectamos mediante un cable
USB la placa al computador
Descargamos
los
drivers
directamente
de
la
página
http://www.ftdichip.com/Drivers/VCP.htm y los instalamos manualmente
dependiendo del tipo de sistema operativo que en nuestro caso es de 32 bits pero
puede ser en otros equipos de 64 bits.
Instalamos
además
el
programa
http://arduino.cc/en/Main/Software.
Arduino
en
la
página
Además debemos seleccionar el puerto al cuál tendremos conectado nuestro sensor
para ejecutar el código:
El código utilizado para ejecutar el programa fue:
/*
Jeisson Andres Barriga
Manuel Ivan Cardozo
Sergio Andres Gonzalez
Sensor de Temperatura
*/
int pin=0; //seleccion del pin entrada analogica
int tempc=0, tempf=0; // Variables de temperatura
int samples[5]; // Variable para guardar el numero de iteraciones para mejorar la
medicion
int maxi=-100, mini=100; // Limites de temperatura
int i; // Variable de iteraciones.
void setup()
{
Serial.begin(9600); // Inicia la comunicacion el serial
}
void loop()
{
for(i= 0;i<=4;i++){ // Realizara 5 iteraciones
samples[i] = (5.0 * analogRead(pin) * 100.0) / 1024.0; // Iterciones entre resolucion
tempc = tempc + samples[i];
delay(100);
// Retardo para realizar de nuevo el muestreo
}
tempc = tempc/5.0; // Mejoramos la precision.
tempf = (tempc*9)/5 + 32; // Conversor a grados Farenheit
if(tempc > maxi) {maxi = tempc;} // Max temperatura
if(tempc < mini) {mini = tempc;} // Min temperatura
Serial.print (tempc,DEC); // Variable de la temperatura
Serial.print ("Celcius, "); //Impresion de temperatura celsius
Serial.print(tempf,DEC); // Variable de temperatura
Serial.print("Frenheit ->"); //impresion de temperatura Farenheit
Serial.print (maxi,DEC);
Serial.print ("Max");
Serial.print (mini,DEC);
Serial.println("Arduino_lm35"); // Nombre delproyecto
tempc = 0; // Inicializa la variable con valor a 0
delay(100);// Retardo para iniciar de nuevo
Una vez el programa se ejecute abrimos una nueva ventana donde se mostrarán los
datos obtenidos cada 10 segundos.
CONCLUSIONES
Se cumplió el objetivo a pesar de todos los percances, logramos familiarizarnos con
el uso de un micro-controlador llamado Arduino, su programación y la manera para
manipularlo. Además de trabajar con un transistor como el LM35 utilizado durante
el laboratorio.
Lo más importante es la manera que podemos manipular fenómenos físicos,
transformarlos en datos para una red y utilizarlos de la manera más conveniente.
Entender la importancia que tiene la recolección de datos propios, ya que por
métodos sencillos están al alcance de todos. Además un enriquecimiento en el área
de electrónica y algo de programación ya que son elementos que no habíamos
trabajado antes y que son útiles en el área profesional.
BIBLIOGRAFIA
http://www.ucontrol.com.ar/wiki/index.php?title=LM35
http://www.sigmaelectronica.net/sigduino-2009-p-1143.html
http://www.ladyada.net/learn/sensors/tmp36.html
http://em2011.wikispaces.com/file/view/Tutorial.pdf
Descargar