martes, 29 de octubre de 2019

LABORATORIO NRO. 9

MICROCONTROLADORES

Laboratorio N°09:
Programación básica con bucles de control

1. COMPETENCIA TERMINAL:
  • Utilizar al microcontrolador en aplicaciones de control electrónico.
  • Desarrollar y ejecutar programas en un microcontrolador PIC.
  • Programar y configurar interfaces básicas del microcontrolador.
2. 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.
3. CONTENIDOS A TRATAR
  • Control de puertos como entradas y/o salidas.
  • Generación de salidas pulsante.
  • Bucles de control
4. MARCO TEÓRICO:

4.1. PIC 16F877A:

Este microcontrolador es fabricado por MicroChip familia a la cual se le denomina PIC. El modelo 16F877A posee varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y práctico para ser dar uso en diferentes aplicaciones.
Algunas de estas características se muestran a continuación:
  • Soporta modo de comunicación serial, posee dos pines para ello.
  • Amplia memoria para datos y programa.
  • Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
  • Set de instrucciones reducido (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo.
4.2. BUCLE WHILE:

para escribir una instrucción while (repetitiva mientras) se utiliza la sintaxis:


Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, los caracteres abrir llave ({) y cerrar llave (}) son opcionales.

Por otra parte, al igual que en las instrucciones alternativas doble y simple, a la <expresión_lógica> de una instrucción repetitiva 
while, también se le llama condición.

Para que se ejecute el <bloque_de_instrucciones>, la condición tiene que ser verdadera. Por el contrario, si la condición es falsa, el <bloque_de_instrucciones> no se ejecuta.

Por tanto, cuando el f
de un programa llega a un bucle while, existen dos posibilidades:
  1. Si la condición se evalúa a falsa, el bloque de instrucciones no se ejecuta, y el bucle while finaliza sin realizar ninguna iteración.
  2. Si la condición se evalúa a verdadera, el bloque de instrucciones sí que se ejecuta y, después, se vuelve a evaluar la condición, para decidir, de nuevo, si el bloque de instrucciones se vuelve a ejecutar o no. Y así sucesivamente, hasta que, la condición sea falsa.


4.3. BUCLE IF-ELSE

Cuando el programa llega a una sentencia condicional del tipo If …Else, primero se evalúa una expresión; si se cumple (es cierta) se ejecuta un bloque de sentencias y si es falsa se ejecuta otro bloque.




4.4. BUCLE FOR


La sintaxis del bucle for es la siguiente:




expr1: Ajustas un variable a un valor.

expr2: Colas la condición para el bucle.
expr3: Puedes realizar un incremento a la variable.


4. EVIDENCIA DE TAREAS EN LABORATORIO:

En este video se explicará cada actividad desarrollada en el laboratorio.

|

5. OBSERVACIONES:
  • El pulsador A5 no se utilizo debido a que no funcionaba correctamente.
  • El tiempo para hacer el antirrebote se puso en 300 ms.
  • Al ejercicio se le aumento la realimentación para evitar usar el botón de RESET.
  • Para proponer las condiciones para el bucle IF es necesario tomar en cuenta donde se deja el led prendido para asi continuar ya sea con el varrido hacia abajo o arriba.
6. CONCLUSIONES:
  • Se logró plantear un programa que cumpla con las condiciones que se propusieron en el laboratorio  usando lo aprendido en esta y la anterios sesión.
  • Se comprendió la sintaxis y como poder usar los bucles IF, WHILE y FOR.
  • Antes de subir el programa en el entrenador lo simulamos en Proteus para poder encontrar fallas y evitar dañar al equipo.
  • Mejoramos el código para poder evitar usar el botón RESET, haciendo que se realimente automáticamente ya sea cuando se use el barrido hacia arribo o abajo








martes, 22 de octubre de 2019

LABORATORIO NRO. 8


MICROCONTROLADORES

Laboratorio N°08:
Herramientas de Programación Hardware y Software

1. COMPETENCIA TERMINAL:
  • Utilizar al microcontrolador en aplicaciones de control electrónico.
  • Desarrollar y ejecutar programas en un microcontrolador PIC.
  • Programar y configurar interfaces básicas del microcontrolador.
2. COMPETENCIA ESPECIFICA DE LA SESIÓN:
  • Listar las partes internas generales de un microcontrolador
  • Identificar funciones generales de un microcontrolador PIC.
  • Introducción a la programación en PIC C Compiler.
  • Como utilizar el Entrenador.

3. MARCO TEÓRICO:

3.1. PIC 16F877A:

Este microcontrolador es fabricado por MicroChip familia a la cual se le denomina PIC. El modelo 16F877A posee varias características que hacen a este microcontrolador un dispositivo muy versátil, eficiente y práctico para ser dar uso en diferentes aplicaciones.
Algunas de estas características se muestran a continuación:
  • Soporta modo de comunicación serial, posee dos pines para ello.
  • Amplia memoria para datos y programa.
  • Memoria reprogramable: La memoria en este PIC es la que se denomina FLASH; este tipo de memoria se puede borrar electrónicamente (esto corresponde a la "F" en el modelo).
  • Set de instrucciones reducido (tipo RISC), pero con las instrucciones necesarias para facilitar su manejo.




3.1.1 Diagrama interno:

3.1.2 Pines del PIC 16F877A

4. EVIDENCIA DE TAREAS EN LABORATORIO:

En este video se explicará cada actividad desarrollada en el laboratorio.

|

5. OBSERVACIONES:
  • Para realizar la simulación en Proteus de nuestro programa se puede usar el archivo".hex y .cof" siendo de mayor utilidad el último para encontrar errores en el programa.
  • Antes de subir el programa en el microcontrolador es necesario simularlo en Proteus para ver si funcionamiento  correctamente, de lo contrario podemos identificar donde esta el error.
  • Si no se coloca la función while al principio no lograremos que nuestro programa se ejecute indefinidamente.
  • Para conocer mejor la función que se utiliza seleccionándola y presionando "F1", esto abrirá otra ventana donde esta toda la información necesaria para comprender su funcionamiento. 
6. CONCLUSIONES:
  • Comprendimos los conceptos básicos para la programación en el microcontrolador PIC, logrando compilar y subir correctamente el programa en este.
  • Logramos comprender la arquitectura del entrenador y el microcontrolador que usaremos a lo largo del curso.
  • En el laboratorio se vio que las funciones output_bit y output_high-output._low tienen el mismo resultado al poner el pin en Alto o Bajo siendo la diferencia su argumento.
  • Identificamos las funciones principales del microcontrolador PIC, a su vez que logramos tener una correcta introducción en la programación en PIC C Compiler, subiendo un programa simple al microcontrolador.
  • Vimos las 2 maneras de subir un programa al microcontrolador siendo que la de Auto Import Hex es la más adecuada para hacer modificaciones y subirlo automaticamente presinadado "Build" en PIC C Compiler.

miércoles, 2 de octubre de 2019

LABORATORIO NRO. 7

MICROCONTROLADORES

Laboratorio N°07:
Reto del Proyecto Pastillero


1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
  • Aplicar todo la aprendido en sesiones anteriores

2. EVIDENCIA DE TAREAS EN LABORATORIO:

En este video se explicará la primera actividad que se propuso en el laboratorio.

|

RETO ADICIONAL

En el siguiente video se ve el funcionamiento del Reto adicional que se nos dio.



4. OBSERVACIONES:
  • Para la alimentación de los motores se uso una fuente externa debido a que cuando se prendía no llegaba suficiente corriente al LCD.
  • En el reto adicional el sentido de giro es anti-horario, si se cambia el giro no afecta en nada a la programación.
5. CONCLUSIONES:
  • Logramos plantear un código que cumpla con las condiciones que se propusieron para el reto.
  • Empleamos todas la funciones que se aprendieron a lo largo del curso.
  • Se logró escribir mesajes en LCD comprendiendo su funcionamiento.
  • Comprendimos que la programación es libre y que no existe una sola solución al problema.

martes, 1 de octubre de 2019

LABORATORIO NRO. 6

MICROCONTROLADORES

Laboratorio N°06:
Integración del Proyecto Pastillero


1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
  • Comprender el la integración de los códigos de la Alarma, ActivarMoror y Reloj LCD.
  • Aplicar los conceptos aprendidos en sesiones anteriores.
  • Armar el proyecto en protoboard.
2. MARCO TEÓRICO:

2.1 ARDUINO:

Arduino es una plataforma de creación de electrónica de código abierto, la cual está basada en hardware y software libre, flexible y fácil de utilizar para los creadores y desarrolladores. Esta plataforma permite crear diferentes tipos de microordenadores de una sola placa a los que la comunidad de creadores puede darles diferentes tipos de uso.


2.2. LCD:


Una pantalla de cristal líquido o LCD (sigla del inglés Liquid Crystal Display) es una pantalla delgada y plana formada por un número de pixeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrónicos de pilas, ya que utiliza cantidades muy pequeñas de energía eléctrica.



En la siguiente imagen de Proteus se puede observar la estructura de sus pines.
Lo podemos dividir en los Pines de alimentación, pines de control y los pines del bus de datos bidireccional. Por lo general podemos encontrar ademas en su estructura los pines de Anodo de led backlight y cátodo de led backlight.


2.3. L293D:


El integrado L293D incluye cuatro circuitos para manejar cargas de potencia media, en especial pequeños motores y cargas inductivas, con la capacidad de controlar corriente hasta 600 mA en cada circuito y una tensión entre 4,5 V a 36 V.


Los circuitos individuales se pueden usar de manera independiente para controlar cargas de todo tipo y, en el caso de ser motores, manejar un único sentido de giro. Pero además, cualquiera de estos cuatro circuitos sirve para configurar la mitad de un puente H.


2.4. MOTOR DC:


El motor de corriente continua, denominado también motor de corriente directa, motor CC o motor DC (por las iniciales en inglés direct current), es una máquina que convierte energía en mecánica, provocando un movimiento rotatorio, gracias a la acción de un campo magnético.

Un motor de corriente continua se compone, principalmente, de dos partes: - El estátor da soporte mecánico al aparato y contiene los polos de la máquina, que pueden ser o bien devanados de hilo de cobre sobre un núcleo de hierro, o imanes permanentes. - El rotor es generalmente de forma cilíndrica, también devanado y con núcleo, alimentado con corriente directa a través las delgas, que están en contacto alternante con escobillas fijas.

2.5. PROYECTO PASTILLERO:

2.5.1. CORTE LÁSER:

El corte láser es un tipo de proceso de separación térmica. El rayo láser incide en la superficie del material y lo calienta con tanta fuerza que se derrite o se vaporiza por completo. Una vez que el rayo láser ha penetrado completamente en un punto del material, comienza el proceso de corte real. El sistema láser sigue la geometría seleccionada y separa el material en el proceso. Dependiendo de la aplicación, el uso de gases de proceso puede influir positivamente en los resultados.




2.5.2. ARMADO EN EL PROTOBOARD:

Para realizar las pruebas del código se armo el circuito en un protoboard.



3. EVIDENCIA DE TAREAS EN LABORATORIO:

En este video se explicará cada actividad desarrollada en el laboratorio.

|



4. OBSERVACIONES:
  • Para la alimentación de los motores se uso una fuente externa debido a que cuando se prendía no llegaba suficiente corriente al LCD.
  • En el primera parte a "millis()" se le multiplicó por 60 para que el tiempo transcurra más rápido y visualizar el funcionamiento del programa.
  • El curso nos pedía usar MDF de 3 mm pero se uso de 2.7 mm debido a que no se encontró esa medida , esto solo afecto en el encaje de alguna piezas.

5. CONCLUSIONES:
  • Logramos plantear un código que cumpla con las condiciones que se propusieron para el reto.
  • Se logró implementar proyecto propuesto por el Curso de Arduino, aprendiendo el funcionamiento básico de las funciones (for, while, do whle, millis(), etc).
  • Comprendimos como realizar operaciones matemáticas para la conversiones de horas, minutos a mili-segundo y viceversa.
  • En este laboratorio, se conoció la forma correcta de conectar cada pin de un LDC 16x2, a su vez de como poder emplearla para visualizar diferentes mensajes.