lunes, 12 de marzo de 2018

Programación Básica con Bucles de Control


FASE 2: Programación básica con bucles de control

I. CAPACIDAD TERMINAL


  • Utilizar al micro controlador en aplicaciones de control electrónico. 
  • Desarrollar y ejecutar programas en un micro controlador PIC 
  • Programar y configurar interfaces básicas del micro controlador.


II. COMPETENCIA ESPECIFICA DE LA SESIÓN 


  • Manejo de puertos de forma grupal e independiente para manejo de luces 
  • Programación de sonidos mediante subrutinas. 
  • Creación de Subrutinas mediante funciones. 
  • Declaración de variables enteras. 


III. CONTENIDOS A TRATAR 


  • Control de puertos como entradas y/o salidas 
  • Generación de salida pulsante 
  • Bucles de control 


IV. RESULTADOS 


  • Diseñan y optimizan sistemas y procesos para cumplir con las condiciones establecidas y gestionando adecuadamente los recursos materiales y humanos. 


V. MATERIALES Y EQUIPO 


  • CCS Compiler instalado. 
  • Entrenador de PICS 
  • Pantalla LCD 
  • PIC16F877A 
  • Motor DC  
  • Guía de Laboratorio
  • El trabajo se desarrolla de manera GRUPAL. 
  • PC con Software de simulación. 


VI. REPASO DEL LABORATORIO ANTERIOR 


  • Herramientas de Programación en Hardware y Software


VII. FUNDAMENTO TEÓRICO 


  • Estructuras y Bucles de control.  
  • Ingresar a la página www.coursera.org , logearse y buscar el curso “¡A Programar! Una introducción a la programación”, inscribirse en el mismo. 
  • Las notas obtenidas en dicho curso serán parte de las evaluaciones de este proyecto. 


VIII. SEGURIDAD EN LA EJECUCIÓN DEL LABORATORIO 


  • Tener cuidado con el tipo y niveles de voltaje con los que trabaja. 
  • Antes de utilizar el multímetro, asegurarse que esta en el rango y magnitud eléctrica adecuada. 
  • Tener cuidado en la conexión y en la desconexión de los equipos utilizados



IX. TAREAS GUIADAS DENTRO DEL LABORATORIO: 

1. Transcriba el programa mostrado, compile dicho programa, simule en Proteus y compruebe funcionamiento en Tarjeta Entrenadora.Responda a las preguntas planteadas. 


2. Preguntas: 

a. ¿Para qué sirve el símbolo “!” antes del comando “input”? 

Este símbolo sirve para negación es decir un NOT entonces en nuestra programación se leerá la negación del puerto que estemos señalando.

b. ¿Qué valores acepta el tipo de variable ENTERO? 

El tipo de variable entero puede aceptar un subconjunto finito de valores su tamaño dependerá del espacio utilizado por el dato y la posibilidad de ser o no representado.

c. ¿Con qué comando introduzco retardos del orden de micro segundos? 

Podemos introducir retardos en micro segundos mediante el comando "Delay_ms()" dentro del paréntesis colocamos el tiempo deseado. 

3. Transcriba el programa mostrado, compile dicho programa, simule en Proteus y compruebe funcionamiento en Tarjeta Entrenadora. Responda a las preguntas planteadas


1. Preguntas: 

a. ¿Cuál sería el código más eficiente para emitir un sonido “bip” cada vez que se pulse una tecla cualquiera? 

Podemos elegir entre el penúltimo IF (ROJO) o el ultimo IF (ANARANJADO) los cuales son muy similares. 

b. Modifique y optimice el programa para emitir un sonido bip durante 100 ms aunque la tecla se mantenga pulsada.





X. CONTENIDO DEL INFORME EN EL BLOG: 

1. Principales BUCLES DE CONTROL: while, if, if-else, for. 

La toma de decisiones if-else:
Quizá la estructura de control más básica y la más utilizada sea if-else:
if (condicion) {

// instrucciones que hay que ejecutar si la condición es verdadera
} else {
// Instrucciones que hay que ejecutar si la condición es falsa
}

Bucles: While
If else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuantas veces queremos ejecutar una instrucción.:
While (condicion) {
// Instrucciones a ejecutar una y otra

//vez mientras la condición sea cierta
}

Bucles: for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
for (valor inicial; condicion; ejecutar en cada blucle) {
// Instrucciones a ejecutar mientras la condición sea cierta

}

2. Elaborar un programa que encienda un led a la vez cada vez que se presione un pulsador y al llegar al sexto pulso, que emita 3 bips y el programa se detenga allí hasta que se reinicie dicho programa presionando RESET. Muestre la simulación de dicho programa.



3. Vídeo mostrando las tareas realizadas en laboratorio. 






XI. RESUMEN 

  • Programación de los puertos como Entradas y/o salidas 
  • Prueba y uso de buzzer, pulsadores y leds 
  • Simulación paso a paso en PROTEUS 


XII. PROXIMO LABORATORIO: 


  • Fase 3: Display de 7 segmentos y Temporizadores. 


XII. BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA 

  • Marin, Francisco (2007) Diseño basado en microcontroladores. Málaga: Universidad de Málaga. (004.16/M26D) 
  • Pereira, Fabio (2007) Microcontroladores PIC. Sao Paulo:s.n. (005.13/P43) 
  • José María Angulo Usátegui [y otros]. (2007) Electrónica digital y micro programable .Madrid: Thomson. (621.381/A37/I)
XIII. OBSERVACIONES Y CONCLUSIONES

Observaciones:
  • Observamos de que en ocasiones nuestra placa no funcionaba de la manera deseada esto se debe a que con la ayuda del profesor tenemos que configurar algunas puentes los cuales se encuentran en la placa. 
  • Observamos de que para poder evitar errores en nuestra programación y posteriormente en la compilación de esta debemos cerrar todo y abrirlo nuevamente y recién cargar nuestro código.
  • Observamos de que nuestra placa no funciona exactamente igual que nuestro simulador de Proteus ya que no todos los ejercicios pudimos realizarlos en ambos casos.
Conclusiones:

  • Concluimos sobre dicho trabajo que nos permite conocer los tres tipos de estructura repetitiva, que son while, do while y for donde cada una cumple funciones distintas, una al principio otra al final, obteniendo resultados específicos según lo requerido, al mismo tiempo me permite conocer su estructura en lenguaje C y el algoritmo de cada uno de los ciclos.
  • Concluimos que la función while hace su función mientras la condición sea verdadera, esta se ejecuta al final, en cambio el do while su función es repetir mientras la condición sea verdadera, si esta es falsa el ciclo se detiene.
  • Concluimos que este tipo de estructuras nos sirven para ejecutar una o más líneas repetidamente y nos ahorra el trabajo de estar haciendo una para cada línea.

XIV. INTEGRANTES
  • FRANKLIN HANCCOCCALLO CCORIMANYA
  • RICHARD VILCARANA DURAND
  • ERIC RAMOS ROJAS