prepa diseño

9
DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA DISEÑO ELECTRONICO TRABAJO PREPARATORIO LABORATORIO No. 2.1 GUÍA DE PRÁCTICA No. 2.1 Tema: Prueba de LCD para desplegar menú del Dosificador de alimento de comida para canes. Realizado por: Pazmiño René Gonzalez Diego Hualpa Fernando 1. Objetivos: Diseñar un circuito con display para mostrar el menú de las diferentes opciones del dosificador de alimento de comida para canes. Comprobar la precisión de los datos. Comparar resultados calculados, simulados y medidos. 2. Materiales y Equipos. Materiales: Resistencias (de acuerdo al circuito de acondicionamiento) Cables

Upload: renepazmino

Post on 21-Nov-2015

4 views

Category:

Documents


1 download

DESCRIPTION

electronica

TRANSCRIPT

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA

DISEO ELECTRONICO

TRABAJO PREPARATORIO LABORATORIO No. 2.1

GUA DE PRCTICA No. 2.1

Tema:Prueba de LCD para desplegar men del Dosificador de alimento de comida para canes.

Realizado por: Pazmio RenGonzalez DiegoHualpa Fernando

1. Objetivos:

Disear un circuito con display para mostrar el men de las diferentes opciones del dosificador de alimento de comida para canes. Comprobar la precisin de los datos. Comparar resultados calculados, simulados y medidos.

2. Materiales y Equipos.

Materiales: Resistencias (de acuerdo al circuito de acondicionamiento) Cables Protoboard Display 16x2 Arduino

Herramientas: Multmetro Fuente Computador Arduino

3. Procedimiento 3.1 Disear, simular y armar el circuito que permita motrar los datos obtenidos en el dosificador de alimento de comida para canes.

El diseo del LCD esta implementado para mostrar datos como los son: Seleccin de tipo de raza sea: Pequea, Mediana y Grande. Y Guardar en memoria cada seleccin.

Ilustracin 1 Diseo del LCDProceso para la seleccin de razas

Ilustracin 2 Ejecucion de los primeros parametros

Ilustracin 3 Seleccion de Razas

Ilustracin 4 Selecion de razas

Ilustracin 5 Etiquetar Razas

Programacin en Arduino

LCD 16x2 - Menu -------------------------------------- La LCD que vamos a utilizar es de caracteres (16x2) esto corresponde a 16 columnas y 2 filas y funciona gracias a un Hitachi HD44780 driver. En este tutorial vamos a hacer un Menu para controlar salidas leerentradas e imprimir Anuncios. El circuito: * LCD RS pin va conectado al digital pin 12 * LCD Enable pin conectado al digital pin 11 * LCD D4 pin conectado al digital pin 5 * LCD D5 pin conectado al digital pin 4 * LCD D6 pin conectado al digital pin 3 * LCD D7 pin conectado al digital pin 2 * LCD R/W pin conectado a ground * los dos ultimos a +5V and ground * El cable de la LCD VO va conectado a la referencia del potenciometro */ //int menu; //byte selec; int salida; //Conexion led, buzzer. int Raza; //int cont=0; //int fotocelda; //Conexion Fotocelda //String AnuncioMenu; //Anuncio de impresion LCD //Funciones int Entrada_Raza(); //Funcion Estado de las salidas int Edad(); //Funcion para visualizar Mensaje int Hora(); //Funcion para visualizar el Menu #include //incluimos la libreria LCDLiquidCrystal lcd(12, 11, 5, 4, 3, 2);//inicializamos los pines //------------------------------------//Funcion principal//------------------------------------ void setup() { pinMode (13,OUTPUT); //Led como salida pinMode (6,OUTPUT); //Buzzer como salida lcd.begin (16, 2); //Configuramos el tamao de la LCD digitalWrite(14,HIGH); //Resistancia de PullUp A0 pulsador digitalWrite(15,HIGH); //Resistancia de PullUp A1 pulsador} //------------------------------------//Funcion ciclicla//------------------------------------ void loop() { // menu = analogRead (0); //iguardamos la posicion del potencio //menu = map(menu,0,1023,0,3); //Escalamos el valor para que sea Menu Raza=Entrada_Raza(); lcd.setCursor(1, 1); lcd.print(Raza); delay(1000); lcd.clear(); }

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////int Entrada_Raza() { //Funcion de valoracion ON/OFF salidas byte guardar = 0; int cont=1; byte selec=0; lcd.setCursor(1, 0); lcd.print("Tipo de Raza"); lcd.setCursor(1, 1); //Asignamos la posicion de impresion lcd.print(">"); lcd.setCursor(2, 1); //Asignamos la posicion de impresion lcd.print("Pequena"); while(guardar == 0) { guardar = digitalRead (15); if(guardar != HIGH) { guardar=0; } selec = digitalRead (14); if(selec == HIGH) { cont=cont+1; selec = digitalRead (14); if (cont == 4) { cont=1; } while(selec == HIGH) { selec = digitalRead (14); digitalWrite(13,HIGH); //lcd.setCursor(5, 1); //lcd.print(cont); } digitalWrite(13,LOW); } switch (cont) { //Valoramos el estadp del Menu case 1 : //si el valor de escala es igual a 0: lcd.setCursor(1, 1); //Asignamos la posicion de impresion lcd.print(">"); lcd.setCursor(2, 1); //Asignamos la posicion de impresion lcd.print("Pequena "); break; //Retorno case 2 : //si el valor de escala es igual a 1: lcd.setCursor(1, 1); //Asignamos la posicion de impresion lcd.print(">"); lcd.setCursor(2, 1); //Asignamos la posicion de impresion lcd.print("Mediana "); break; //Retorno case 3 : //si el valor de escala es igual a 2: lcd.setCursor(1, 1); //Asignamos la posicion de impresion lcd.print(">"); lcd.setCursor(2, 1); //Asignamos la posicion de impresion lcd.print("Grande "); break; //Retorno } delay(300); //Retardo entre impresiones //lcd.clear(); //Borramos todo de la pantalla }return cont;}

4. Conclusiones y Recomendaciones.

El diseo implementado funciona a los parmetros requeridos por el usuario, en todas sus caractersticas. Se recomienda primeramente, el reinicio del arduino y la buena implementacin del circuito, ya que puede generar errores en la ejecucin del programa. Se debe tener en cuenta estar bien polarizado las tierras ,para no generar errores en la ejecucin.

5. Bibliografa.[1] Areny, R. P. (2003). Sensores y acondicionadores de seal. Barcelona: MARCOMBO S.A.[2] Gea, J. A. (2003). Tecnologia. Sevilla: Mad, S.L.[3] Moreno, E. G. (2006). Automatizacin de procesos industriales: robtica y automtica. Valencia: REPROVAL, S.L.[4] Prez, E. M. (18 de 11 de 2014). Circuitos acondicionadores. Obtenido de E.T.S. de Ingenieros de Telecomunicacin de Vigo: http://www.marcombo.com/

Fecha: 2015-01-09