Faculta de Ingeniera Escuela de Mecnica Departamento de Tecnologa y Diseo Mecnica de Robot Integrantes: Astrid Daz C.I.: 19.146.017 Yerson Garca C.I.: 20.432.717
Practica 4. Implementacin de un sensor de temperatura mediante la
utilizacin de la tarjeta Arduino. Objetivo General: Medir diferentes temperaturas mediante un sensor que estar enviando seales analgicas a la tarjeta Arduino. Materiales que se utilizaran para el desarrollo de la prctica: 1. 2. 3. 4. 5. 6.
Una tarjeta Arduino Uno-R3 o Arduino Mega 2560.
Un cable USB impresora. Un computador. Cables para el montaje del circuito. Tarjeta Protoboard. Sensor de temperatura ML35.
Los sensores de temperatura son pequeos dispositivos capaces de medir la
temperatura del entorno. Entre los ms populares y fciles de usar se encuentran el ML35 y el sensor TMP36. El TMP36 es un circuito integrado que acta como un sensor de temperatura calibrado directamente en grados Celsius, que se alimenta entre 2.7V y 5.5V y que por lo tanto es ideal para usarlo con nuestra placa Arduino. Proporciona una salida de voltaje directamente proporcional a la temperatura en grados Celsius y es muy parecido al clsico LM335A. Algunas caractersticas son:
Rango de temperatura: -40C to 150C / -40F to 302F
Factor de escala 10 mV/C Precisin de 2C Linealidad de 0.5 Alimentacin: Entre 2.7 y 5.5V.
Montaje de la prctica:
Con el fin de comprender de una manera ms fcil el funcionamiento del
circuito, as como verificar todas las conexiones existentes, se realiza en primer lugar el montaje del circuito mediante el uso del programa Fritzing. El sensor de temperatura LM35 se debe colocar correctamente para su adecuado funcionamiento, teniendo en cuenta como diferenciar las partes que lo componen, las cuales se mencionaron anteriormente, el nodo se conecta al pin de 5V de la tarjeta Arduino, el ctodo va conectado al pin GND y el cable que enva la seal desde el sensor hasta la tarjeta se coloca en el pin A0. El objetivo de la prctica es medir la temperatura del ambiente, a travs del sensor, este captara la temperatura, y mediante su mecanismo interno generara una seal anloga que ser enviada al pin A0 de la tarjeta, para su posterior manipulacin.
Figura 1: Montaje del circuito en el programa Fritzing.
Luego que tengamos armado el circuito en el programa Fritzing,
podemos empezar con el desarrollo del programa en el IDE de Arduino.
Procedimiento de cmo llevar a cabo el codificado del programa:
1. Se debe seleccionar en la IDE de Arduino el tipo de tarjeta con el que vamos a trabajar siendo Arduino Uno-R3 o Arduino Mega 2560. 2. Se selecciona el Puerto Serial, es decir el puerto USB se va a conectar la tarjeta Arduino con el computador. 3. Se empieza a realizar el cdigo: Inicialmente debemos identificar el programa que estamos desarrollando, por tanto se asigna un nombre al programa, esto se hace empleando el smbolo //, que permite colocar comentarios a lo largo del cdigo para poder facilitar la comprensin de la instruccin que realiza cada lnea, podemos colocar el ttulo de la prctica o del programa en s. Se deben declarar las variables globales que sern utilizadas en el programa. En primer lugar se declara una constante de tipo entero llamada sensorPin y se le asigna el pinA0. Adems fue declarada una variable de tipo Float denominada baselineTemp asignndole un valor real igual a 20.0, sin embargo esta variable no ser utilizada en la ejecucin del programa. Es importante acotar que una variable de tipo Float es una variable que puede almacenar un valor real con 8 dgitos en la parte decimal. Quedando la declaracin de las variables de la siguiente manera: Const int sensorPin = A0; Float baselineTemp= 20.0;
Seguidamente se realiza la declaracin de las configuraciones de
las variables o la inicializacin de la comunicacin serie dentro de los corchetes que delimitan el bloque de programa void setup (). Para la realizacin de esta prctica se trabajara con la comunicacin serie, es decir la comunicacin de datos con el computador. Para abrir el puerto serie se utiliza el comando Serial.Begin(9600); indicando dentro de los parntesis la velocidad de comunicacin con el computador, esta generalmente es 9600 bits por segundo, aunque otras tasas pueden ser soportadas. Luego de inicializada la comunicacin serie, se procede con el bloque de programacin que se encuentra ubicado en el interior de los corchetes del comando void loop() el cual se ejecutara continuamente leyendo las entradas y generando las salidas. En las primeras instrucciones del bloque de programa se quiere leer la seal enviada por el sensor de temperatura al pin A0 y mostrar a travs del monitor la seal captada. Para realizar estas acciones primero se necesita declarar una variable local de tipo entero, esta ser llamada sensorVal. Para ejecutar la lectura de la seal se realiza mediante el comando analogRead(sensorpin); debido a
que se trata de una seal analgica, indicndole adems el pin en
el que debe leer la entrada, la cual se almacena en la variable sensorVal. Posteriormente se empleara la funcin Serial.print(); para ensear el valor medido a travs del monitor, en el interior de los parntesis se debe colocar el valor, si se quieren escribir palabras o frases estas deben ir delimitadas mediante los comillas, ejemplo Serial.print( Valor del sensor ). Luego se quiere mostrar en el monitor el valor del voltaje medido por el sensor, este valor ser almacenado en la variable local llamada voltaje de tipo Float y que ha sido declarada previamente. Se utiliza el valor guardado en la variable sensorVal y se realiza la transformacin a voltios dividiendo esta variable por la resolucin (para esta tarjeta Arduino es 1024) y multiplicndola por el valor mximo del voltaje que es 5V. Realizada la conversin se utilizara nuevamente el comando Serial.print(); para permitir la visualizacin de los datos. La parte final del bloque contiene la conversin a valores de temperatura del valor del voltaje almacenado en la variable voltaje, se debe declarar previamente una variable local para donde se guardara el valor obtenido en la conversin a temperatura, esta ser denominada temperatura y ser de tipo Float y tambin se mostrara utilizando nuevamente el comando Serial.print();. Finalmente se debe verificar que al final de cada instruccin se haya colocado el respectivo punto y coma, de lo contrario habrn errores a la hora de compilar. Una vez compilado el programa se ejecuta el mismo. Si las conexiones se hicieron de manera correcta el seor capta y enva las seal a la tarjeta y esta posteriormente al monitor, sin embargo para poder observar estos datos es necesario activar el monitor serial, esto se realiza oprimiendo click izquierdo en la barra de herramientas del IDE de Arduino que sealiza el monitor serial en la parte superior derecha.
Como parte de la prctica para observar los cambios de temperatura
registrados por el sensor, y tener una idea de si estaba funcionando de manera correcta, se observaba la temperatura que media en el ambiente y luego se proceda a tratar de hacer aumentar esta temperatura y verificar si ocurra algn cambio en los datos medidos, constatando que el circuito funcionaba correctamente. A continuacin se muestra el cdigo completo requerido para la realizacin de esta prctica.
Figura 2: Cdigo para manipular mediante Arduino la seal medida
por un sensor de temperatura.
Figura 3: Botn para activar el Monitor Serial.
Conclusiones: Los sensores de temperatura constituyen un elemento muy
importante a la hora de realizar algn monitoreo o supervisin de algn tipo de proceso en el que mantener rangos de temperatura signifique una accin esencial a tomar en cuenta. Con la realizacin de esta prctica se conocieron nuevos comandos que permiten manipular seales analgicas, por tanto seales que son captadas del exterior, como el caso de la temperatura obtenida mediante los sensores de esta propiedad. Adems se aprendi la manera de como transmitir a un usuario los datos captados por un sensor. Todos estos elementos de manipulacin de estmulos exteriores nos permiten observar el funcionamiento de algn proceso y en base a los datos obtenidos establecer posteriormente mediante programacin y otros elementos acciones de control de dicha tares o la ejecucin de trabajos paralelos para optimizar los resultados finales.