sábado, 25 de mayo de 2019

laboratorio 11

LABORATORIO 11

PROGRAMACION DE ARDUINO EN BASE DE EJEMPLOS II

I.        CAPACIDAD 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.

II.        COMPETENCIA ESPECÍFICA DE LA SESION

·         Programar la tarjeta ARDUINO UNO.
·         Conocer el entorno de la plataforma arduino.
·         Realizar programación básica utilizando ejemplos de arduino.
·         Realizar simulaciones a través de la plataforma Tinkercad.

III.          MARCO TEÓRICO

Arduino en Internet

Master cuenta con una amplia variedad de Placas de Arduino, la intención principal era disminuir el costo de los microcontroladores utilizados para el aprendizaje universitario. Es por esto que el proyecto nació como un hardware abierto, al alcance de la mayoría de los bolsillos.


Dentro de los diferentes tipos de placas, los procesadores y las plataformas tienen la tarea de gestionar los datos. Pero son los sensores los encargados de traducir la información física y transportarla para ser procesada. Se trata de los componentes que interactúan entre la tecnología Arduino y el entorno, capturando la información que el usuario desee.
Gracias a este tipo de hardware hoy casi cualquier persona puede iniciarse en el universo de la electrónica. La implementación de Arduino ha hecho mucho más accesible obtener resultados satisfactorios en pruebas escolares y prototipos a nivel profesional. A esto ha ayudado no sólo su bajo costo, sino también el enorme catálogo de funciones que tienen a disposición del público.



IV.        TAREA

Programar un potenciómetro en la cual al variarlo a un 25% de intensidad debe encender el led "1”, cuando le variamos a un 50% de intensidad debe encender el led "2", cuando variamos el a un 75% de intensidad se debe encender el led "3" y a un 100% el cuarto led se debe encender a su máxima intensidad además de que el monitor serie debe mostrar "Voltaje", el valor y la unidad.


V.        VIDEO DEMOSTRATIVO


VI.        OBSERVACIONES
·         Se observa que en esta tarea se tuvo que declarar todos los leds ya que estos van a estar en los pines digitales.
·         Se observa que para conseguir  que los leds enciendan se tienen que poner las intensidades convertir los porcentajes además que los colores de los leds influyen con la intensidad que le demos.
VII.        CONCLUSIONES
·         Se concluye que para que en un cierto voltaje se tenga que dividir 1023 entre las cuartas partes iguales para que cada vez que aumentemos o disminuyamos el potenciómetro prenda el led.

·         Se concluye que en el ejercicio la intensidad en la que los leds van a encender se debe declarar como una entrada ya que estos si no son mencionados nos dará error.



jueves, 25 de abril de 2019

LABORATORIO 5

PROGRAMACIÓN DE UNA PANTALLA LCD 

COMPETENCIA ESPECÍFICA DE LA SESIÓN

·         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.

I.                   MARCO TEÓRICO

1)      ¿Qué es una pantalla LCD?

Una pantalla LCD (liquid crystal display: ‘pantalla de cristal líquido’ por sus siglas en inglés) es una pantalla delgada y plana formada por un número de píxeles 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.

Está presente en un sin número de aparatos, desde la limitada imagen que muestra una calculadora de bolsillo hasta televisores de 50 o más pulgadas. Estas pantallas se componen de miles de pequeños cristales líquidos, que no son sólidos ni líquidos en realidad, sino un estado intermedio.

2)      Funcionamiento de la pantalla LCD

La base de su funcionamiento hay que buscarla en los cristales líquidos, elementos que se coloca entre dos capas de cristales polarizados. Cada píxel de la pantalla podríamos decir que incluye moléculas helicoidales de cristal líquido, que es un material especial que comparte propiedades de un sólido y líquido.
II.                  EVIDENCIA DEL LABORATORIO

#include <16f877a.h>
#use delay (clock=20M)
#fuses HS, NOPROTECT, NOWDT

#define LCD_ENABLE_PIN        PIN_D3   //Definimos los pines a ser
#define LCD_RS_PIN            PIN_D2   //pantalla LCD
#define LCD_RW_PIN            PIN_A0
#define LCD_DATA4             PIN_D4
#define LCD_DATA5             PIN_D5
#define LCD_DATA6             PIN_D6
#define LCD_DATA7             PIN_D7 

#include <lcd.c>                 // Incluimos librería para manejar Pantalla LCD

int16 dato;

void main ()
{
   lcd_init () ;                       // Inicializamos pantalla LCD
   dato = 50;                          // Damos valor inicial para empezar la cuenta
   printf (lcd_putc, "   CONTADOR") ;  // Mandamos mensaje por única vez
   lcd_gotoxy(1,2);
   printf (lcd_putc, "Valor: %4lu", dato) ;

   WHILE (true)
   {
      IF (!input(PIN_D0))              // Rutina para INCREMENTAR dato
         {
            dato++;
            lcd_gotoxy(1,2);
            printf (lcd_putc, "Valor: %4lu", dato) ;
    while (!input(PIN_D0))     // Rutina ANTIRREBOTE por software
            {}                         
         }
      IF (!input(PIN_D1))
         {
            dato--;
            lcd_gotoxy(1,2);
            printf (lcd_putc, "Valor: %4lu", dato) ;
            while (!input(PIN_D1))     // Rutina ANTIRREBOTE por software
            {}
         }   
    }
}

III.                VIDEO DE LA TAREA

Se dispone de una pantalla LCD. Elaborar un programa que INCREMENTE un número en 150 unidades cada vez que se presione un pulsador y DECREMENTE dicho número en 25 unidades cada vez que se presione otro pulsador.
Si el valor del número supera 1000 unidades, mostrar en la pantalla LCD en la primera línea: “FULL”. Si el valor llega a ser menor o igual a 10, mostrar “VALOR MINIMO”. En ambos casos el valor del número no debe incrementarse ni decrementarse.

https://www.youtube.com/watch?v=FMXY0NtkVIo&feature=youtu.be



IV.       OBSERVACIONES
·         Se observó que hubo varios saltos cuando incrementamos 150  de forma muy rápido.
·         Se observa que si no declaramos con gran precisión la fila de la pantalla LCD se mostrara en toda la pantalla.
·         Si sobrepasa en la fila y columna debimos dar una variable que nos indique lo excesivo de los valores.

·         La pantalla LCD tiene su propia librería que si no copiamos este nos mostrara error y nos será difícil copilar datos a la pantalla. 
·           
V.                CONCLUSIONES
·         Se concluye que el tiempo que le demos a cada pulsador no nos de muchos satos ya que esto retrasara su incremento será más preciso las pulsaciones que le demos.
·         Se concluye que con este programa logramos el crecimiento de valores a 150 y también los decrecimiento de 25 indicándonos por medio de la pantalla LCD que si nos faltan valores o estamos bien.
·         Se concluye que a través del programa Copiler CCS también se pueden declarar variables para trabajar con LCD.
·         En los comandos de la pantalla LCD tenemos de proporcionar la dirección de las filas y columnas en caso de que queramos colocar varios valores y también si queremos ponerlos en enteros o decimales (lcd_gotoxy(1,2)), printf (lcd_putc, "Valor: %4lu", dato)