Está en la página 1de 4

Sebastián Carmona Jiménez 1628801 Johan Alexis Abril Muñoz 1628774

1

Laboratorio de microprocesadores II GUÍA NO. 2 – CONVERSOR ANÁLOGO A DIGITAL

Sebastián Carmona Jiménez 1628801-2710 Email: sebastian.carmona@correounivalle.edu.co Johan Alexis Abril Muñoz 1628774-2710 Email: johan.abril@correounivalle.edu.co

AbstractLa práctica 2 del Laboratorio de Microprocesadores II, está orientada a introducir el manejo de los puertos de E/S y el manejo básico del conversor analógico / digital usando un microcontrolador tipo ATMEGA2560.

Mediante la utilization de conceptos y ejercicios realizados en clase se realizará la implementación del desarrollo de los problemas propuestos.

Index TermsAtmega2560, AVR, ADC, Atmel Studio, Teclado matricial, LCD, Sensors.

I.

INTRODUCCION

En los dispositivos microcontrolados, el lenguaje C permite una interacción con el dispositivo mucho más amigable, haciendo que los programas sean fácilmente sostenibles, legibles y expandibles.

Estas características hacen de C el lenguaje más usado para el desarrollo de aplicaciones en sistemas microcontrolados.

En esta práctica se implementa un sistema de lectura de temperaturas de un invernadero, a través de un sensor LM35 que captura una temperatura y la traduce a una señal análoga de voltaje; haciendo uso del ADC se imprimen estos valoren en un LCD y se nevega por los menús con un teclado.

II. CONVERSOR ANÁLOGO A DIGITAL

El ADC convertidor analógico digital AVR, permite medir señales analógicas en forma digital, para ello el AVR cuenta con pines por donde le llegará la señal analógica, estos pines deben configurarse como entradas analógicas, el convertidor analógico digital AVR convierte la señal analógica que le llega al pin configurado como entrada analógica, en un número binario de 10 bits que representará la

medida analógica, este número binario se guarda en sus registros ADCH y ADCL de 8 bits cada uno pero estos actúan como un solo registro de 16 bits, en el registro ADCH se guardan los bits mas significativos y en el registro ADCL se guardan los bits menos significativos, el número que representa la tensión analógica y guardado en forma binaria dentro de estos registros será de 10 bits para el Atmega2560 que será el microcontrolador AVR utilizado para la práctica.

El ADC AVR necesita una tensión de referencia para poder trabajar adecuadamente, esta tensión de referencia Vref normalmente será la tensión a la cual trabaja el AVR, aunque por programa se puede elegir otras tensiones de referencia, en nuestro caso, escogimos 1.1 V.

III.

MATERIALES

Para el desarrollo de la práctica se utilizaron los siguientes elementos:

Tarjeta

de

Atmega2560

desarrollo

Teclado matricial 4x4

6 LM35

LCD

con

microcontrolador

elementos:  Tarjeta de Atmega2560 desarrollo  Teclado matricial 4x4  6 LM35  LCD con

2

Sebastián Carmona Jiménez 1628801 Johan Alexis Abril Muñoz 1628774

IV. ASIGNACIÓN DE PUERTOS

Iniciamos con la asignación de puertos de los diferentes elementos utilizados:

El LCD es conectado y asignado al puerto B, de la siguiente manera:

es conectado y asignado al puerto B, de la siguiente manera: Ilustración 1 Puertos lcd El

Ilustración 1 Puertos lcd

El teclado matricial 4x4 es conectado y asignado al puerto A, de la siguiente manera:

es conectado y asignado al puerto A, de la siguiente manera: Ilustración 2 Puertos teclado En

Ilustración 2 Puertos teclado

En el ADC no fue necesario asignar puertos, ya que contamos con una función que nos lee el valor del canal, es decir, queremos leer el ADC ubicado en el puerto K/posición 0, que corresponde al ADC8, leemos el dato con adc_read(8).

V. ESTRATEGIA UTILIZADA

Se hace uso de la programación modular, de la siguiente manera:

uso de la programación modular, de la siguiente manera: En la cual creamos archivos de cabecera

En la cual creamos archivos de cabecera y librerias, que nos permiten tener orden y control en el programa.

VI. RESULTADOS OBTENIDOS

orden y control en el programa. VI. RESULTADOS OBTENIDOS Se inicia el programa con un menú

Se inicia el programa con un menú inicial, que espera a que el usuario presione la tecla 0 para comenzar.

Al presionar, se habilita el siguiente menú:

3

Sebastián Carmona Jiménez 1628801 Johan Alexis Abril Muñoz 1628774

Carmona Jiménez 1628801 Johan Alexis Abril Muñoz 1628774 Un aviso habilitado por 1 segundo, que le

Un aviso habilitado por 1 segundo, que le indica al usuario que debe presionar un número.

que le indica al usuario que debe presionar un número. En este menú podemos presionar 1,

En este menú podemos presionar 1, 2 o 3, indica sí queremos ver todas las temperaturas registradas, los datos estadísticos como promedio y desviación estándar y si queremos visualizar un sensor en particular.

Sí presionamos el botón 1:

un sensor en particular. Sí presionamos el botón 1: Se puede visualizar la lectura del ADC,

Se puede visualizar la lectura del ADC, sin embargo, hay inconveniente con la lectura de los otros canales, pues no imprime el valor real medido.

Regresamos al menú principal si presionamos 0 otra vez:

Regresamos al menú principal si presionamos 0 otra vez: Se puede visualizar los datos estadísticos calculados,
Regresamos al menú principal si presionamos 0 otra vez: Se puede visualizar los datos estadísticos calculados,

Se puede visualizar los datos estadísticos calculados, como el promedio y la desviación estándar.

Regresamos al menú principal si presionamos 0 otra vez:

Regresamos al menú principal si presionamos 0 otra vez: Sí presionamos el botón 3: Se desplega

Sí presionamos el botón 3:

si presionamos 0 otra vez: Sí presionamos el botón 3: Se desplega el menú para visualizar

Se desplega el menú para visualizar la temperatura medida

de un sensor en particular, por ejemplo, se presiona el botón

5.

la temperatura medida de un sensor en particular, por ejemplo, se presiona el botón 5. Sí

4

Sebastián Carmona Jiménez 1628801 Johan Alexis Abril Muñoz 1628774

VII. DIAGRAMA DE FLUJO

Johan Alexis Abril Muñoz 1628774 VII. DIAGRAMA DE FLUJO Ilustración 3 Diagrama de flujo VIII. CONCLUSIONES

Ilustración 3 Diagrama de flujo

VIII.

CONCLUSIONES

A pesar de no realizar la práctica de la manera mas óptioma posible, es decir, haciendo uso de los canales de ADC necesarios que se requerían (8), y de habitos, estructuras y elementos de programación que facilitan la construcción de código, pudimos implementar la captura de datos del ADC, programando sus registros y enviando los datos entre librerías.

Es nuestro primer encuentro con el manejo de un teclado matricial en lenguaje C, por lo que tuvimos que estudiar la librería suministrada con el profesor e implementarla.

Además que (en general) fue un reto para nosotros llevar a cabo la programácion de está practica, pues había información que tuvimos que volver a repasar.