Sei sulla pagina 1di 4

.

UNIVERSIDAD DE LAS AMRICAS


TALLER2
Andr Torres
aectorres@udlanet.ec
Darwin Suarez
dnsuarez@udlanet.ec

ABSTRACT: Este documento es un resumen de lo

una presin ms exacta usamos un Vref de 1,1V. Con


esta forma se podr visualizar la temperatura deseada
en grados en el display.

realizo en el taller llevado a cabo en clases. En el


cual utilizamos un sensor de temperatura LM35, el
cual nos devuelve una lectura analgica, que
nosotros la transformamos a digital y la mostramos
mediante un display de 4 dgitos. Para ver en video
el funcionamiento de este proyecto puede visitar el
siguiente link:

DARWIN ESCRIBE AQU SOBRE EL MANEJO DEL


DISPLAY Y LOS TRANSISTORES
II.
DESARROLLO
CONTENIDO

I.

DEL

INTRODUCCIN

Para la realizacin de este proyecto utilizamos un


microcontrolador Atmega 2560, el cual consta de un
mdulo ADC (Conversin analgica digital). Este
mdulo le permite al microcontrolador recibir una seal
analgica, y luego convertirla en un dato digital. Este
proceso el mdulo ADC lo realiza mediante
aproximaciones sucesivas. El Atmega 2560 nos ofrece
una aproximacin de hasta mximo 10 bits, cuando el
mdulo opera a una frecuencia entre 50Hz y 200Hz. Y
nos da una aproximacin de 8 bits, cuando opera a una
frecuencia de 1MHz.
Fig.2: Circuito implementado.

Una vez que tengamos implementado el circuito en el


protoboard, conjuntamente con el Atmega 2560.
Nuestro siguiente paso es escribir el programa para
que este funcione. Para su desarrollo usaremos el
software Atmel Studio, y desarrollaremos en lenguaje
C.
Lo primeros que tenemos que realizar es incluir algunas
libreras que nos ayudaran en el desarrollo de este
proyecto. Incluiremos la librera delay.h, la cual nos
brinda tiempos en los que el microcontrolador detiene
todas sus tareas, esto nos servir posteriormente para
el barrido del display. Tambin vamos a declarar
algunas variables de arreglos del tipo entero de 8 bits.
El primer arreglos es un arreglo de 10 enteros, que nos

Fig.1: Esquema del circuito.

El sensor LM35 segn su datasheet, funciona con un


rango de voltaje de 2V a 30V. Para nuestro caso lo
conectaremos a 5V. A este voltaje el sensor nos
devolver la temperatura en un rango de 2C a 110C. Y
su variacin es de 0,1C. Para tomar esta lectura y tener

.
permitir escribir en un entero, como se muestre el
dgito deseado en el display, ya que el display
dependiendo que bit le enviemos prendera su
respectivo LED. El otro arreglo de 4 enteros, nos sirve
para guardar el resultado de la conversin analgica
digital, para que se muestre en el display. Y tambin
declararemos una variable que nos servir de contador
para que la conversin no se realice tan
repetitivamente, ya que no se podra visualizar el dato
de la temperatura correctamente, ya que este de dato
se estar actualizando muy rpido.

esto provocara que la conversin se realice. Luego


tenemos que esperar que la conversin termine, para lo
cual utilizamos un WHILE, que mientras el bit 4 del
registro ADCSRA, no se coloque en 0, no se salga del
WHILE. Una vez que se termine la conversin el bit
anterior se colocara en 1 y por lo tanto la conversin
trmino y el programa salen del WHILE. Como ltimo
dentro del IF retornamos el registro del resultado de la
conversin, este registro de 16 bits se llama ADCW. En
el caso de que el contador sea menor a 30, el programa
entra en el ELSE, aqu solo se aumentara el contador,
para que as no se actualice muy rpido el registro
ADCW, y as mismo retornamos el registro ADCW. Esta
funcin se la implementa de la siguiente manera:

DARWIN AQU EXPLICA LA FUNCIN setIO del


programa.
Seguido se llama a la funcin set_AD(), en esta funcin
configuraremos el conversor analgico digital. Primero
vamos a configurar el registro ADMUX, en este registro
vamos escoger el voltaje de referencia a 1,1V, para
esto colocamos en 1 en bit 7 del registro. Y tambin se
escoge el canal por el cual entrara la seal analgica,
para nuestro caso habilitaremos el ch4. Seguido vamos
a configurar el registro ADCSRA, en este registro
habilitamos el mdulo ADC, y escogemos el prescaler
para la frecuencia del mdulo. En este caso
trabajaremos con una frecuencia de 125Khz, por lo que
utilizaremos el prescaler 128. Lo anterior se lo configura
de la siguiente manera:

ADMUX |= 0X84;
BITS, CH4
ADCSRA |= 0X87;
MODULO, PREESCALER 128

uint16_t leerAD(){
if(x> 30)
{
x=0;
ADCSRA |= 0X40;
//INCIA LA CONVERSION
while(!(ADCSRA &
0X10));//ESPERAMOS QUE LA CONVERSION
TERMINE (BANDERA)
ADCSRA
|= 0x10;
//while(ADCSRA &
0X40);
//grados=ADCW;
return ADCW;
}
else
{
x++;
return ADCW;
}
}

//VREF 1.1V, 10
//HABILITO

EL

DARWIN DETALLA AQU LA FUNCIN BARRIDO


DE DISPLAY, INDICARAS QUE RECIBE UN
ENTERO DE 16 BITS QUE ES EL DATO QUE SE
MOSTRARA EN EL DISPLAY, y que este dato lo
recibe de la funcin leerDato.

La funcin leerAD(), es la que me va a devolver el


dato que se obtiene de la conversin. Aqu implantamos
un IF que nos sirve para que la conversin no se realice
tan seguido, ya que si esta se realiza muy rpido, en el
display los datos que mostremos no se podrn apreciar
de la mejor manera. Entonces en este IF comparamos
que el contador, en este caso x, sea mayor a 30. Una
vez dentro volvemos a colocar al contador en cero y
ahora procedemos a iniciar la conversin, para esto
colocamos en 1 lgico el bit 6 del registro ADCSRA,

Fig.3: Circuito funcionando.

Como se aprecia en la imagen anterior, el proyecto


funciona apropiadamente mostrando la temperatura de
la habitacin. Con propsito de demostrar como la

.
temperatura sube, vamos a elevar la temperatura del
sensor con el uso de un cautn:

III.

CONCLUSIONES

DARWIN ESCRIBE UNA BUENAS CONCLUSIONES


JAJAJAJAJA QUE VALGAN LA PENA
IV.

REFERENCIAS

[1] Atmel. (2016). Atmega manual. Recuperado el 26 de


Septiembre del 2016 de:
http://www2.udla.edu.ec/udlapresencial/pluginfile.ph
p/1064641/mod_resource/content/14/Manual
%20Atmega2560.pdf

[2] J. Rosero (2016). Introduccin al lenguaje C. Recuperado


el 26 de Septiembre del 2016 de:
http://www2.udla.edu.ec/udlapresencial/pluginfile.ph
p/1064640/mod_resource/content/12/Semana3%202016-1.pd

Fig.4: Elevacin de temperatura.

Como se puede apreciar en el display, la temperatura


que el sensor indica se eleva al contacto del cautn.

Potrebbero piacerti anche