Powered By Blogger

domingo, 27 de agosto de 2017

Control de LED con PIC16F84A y MikroC

En esta practica vamos a controlar el encendido y apagado de un led utilizando el microcontrolador PIC16F84A programado con lenguaje C.

Como primer punto vamos a utilizar el software MikroC para realizar la programación de nuestro pic, si no cuentas con este software te invito a que lo descargues, en la siguiente linea aparecen los links de descarga.

MikroC:
Parte 1.
Parte 2.
Parte 3.

El entorno de programación de MikroC es demasiado sencillo, para comenzar creamos un nuevo proyecto e indicamos el nombre del proyecto, el pic a utilizar y nuestro oscilador.

Parpadeo de LED

Material:

1 PIC16F84A.
1 Cristal oscilador de 4MHZ
2 Capacitores cerámicos de 1uf.
2 Resistores 220 ohm.
1 LED de 5mm preferente.
1 Protoboard.
Cables para conexión.

Una vez echo lo anterior escribimos el siguiente código de programación para encender y apagar un LED cada determinado tiempo:

void main(void) {

     TRISA.F0 = 0; // CONFIGURA PIN RA0 COMO SALIDA
     TRISB.F0 = 1; // CONFIGURA PON RB0 COMO ENTRADA
   
     // INICIO
   
     while(1)
     {

        PORTA.F0 = 1; // ENCIENDE LED
        Delay_ms(1000); // Retardo de 1seg
        PORTA.F0 = 0; // APAGA LED
        Delay_ms(500); //Retardo de 1/2seg
     }

}

Conexión del PIC16F84A

Antes de mostrar el diagrama de conexiones del circuito debemos tomar en cuenta la siguiente figura donde se muestra la distribución de los puertos en este microcontrolador.

Una vez visto lo anterior podemos llevar a cabo la conexión de nuestro circuito en la protoboard.

Figura de representación de conexión del circuito.


Para comprobar nuestra programación utilizamos la simulación en Proteus.

Figura de simulación en Proteus.


Encendido de LED con boton

Material:

1 PIC16F84A.
1 Cristal oscilador de 4MHZ
2 Capacitores cerámicos de 1uf.
2 Resistores (220 ohm y 10Kohm).
1 LED de 5mm preferente.
1 Push boton.
1 Protoboard.
Cables para conexión.

Para este otro ejercicio tomaremos en cuenta el codigo anterior unicamente le agregaremos la condicional "if" y "else", el codigo es el siguiente:

void main(void) {

     TRISA.F0 = 0; // CONFIGURA PIN RA0 COMO SALIDA
     TRISB.F0 = 1; // CONFIGURA PON RB0 COMO ENTRADA
   
     // INICIO
   
     while(1)
     {
      if (PORTB.F0 = 1) // SI ES DETECTADO UN PULSO POSITIVO "BOTON OPRIMIDO"
      {
        PORTA.F0 = 1; // ENCIENDE LED
      }
      else // SINO ES DETECTADO
      {
       PORTA.F0 = 0; // APAGA LED
      }
     }

}

La conexion es la siguiente:

Figura de conexión en protoboard de segundo ejercicio

Simulación en Proteus:

Figura de simulación en Proteus de segundo ejercicio.

Descarga de Archivos utilizados aqui:


Mira el vídeo


martes, 8 de agosto de 2017

Control de display 7 segmentos

En esta práctica se desea controlar un display de 7 a través de la interface de LabVIEW y Arduino.

Antes de comenzar:

Tener en cuenta instalar el toolkit LINX en LabVIEW para realizar la comunicación con la placa Arduino.

Identificar y considerar el tipo de display a utilizar (ánodo común o cátodo común).

El display de 7 Segmentos 




El display de 7 segmentos es un componente que se utiliza para la representación de caracteres (normalmente números) en muchos dispositivos electrónicos, debido en gran medida a su simplicidad. Aunque externamente su forma difiere considerablemente de un led típico, internamente están constituidos por una serie de leds con unas determinadas conexiones internas, estratégicamente ubicados de tal forma que forme un número '8'

Los hay de dos tipos: ánodo común y cátodo común.

En los de tipo de ánodo común, todos los ánodos de los ledes o segmentos están unidos internamente a una patilla común que debe ser conectada a potencial positivo (nivel “1”). El encendido de cada segmento individual se realiza aplicando potencial negativo (nivel “0”) por la patilla correspondiente a través de una resistencia que limite el paso de la corriente.

En los de tipo de cátodo común, todos los cátodos de los ledes o segmentos están unidos internamente a una patilla común que debe ser conectada a potencial negativo (nivel “0”). El encendido de cada segmento individual se realiza aplicando potencial positivo (nivel “1”) por la patilla correspondiente a través de una resistencia que limite el paso de la corriente.

Material a utilizar:

Placa Arduino UNO o alguna otra que soporte LINX
Display de 7 segmentos
Protoboard

Cables para conexión

Representación de conexión en protoboard.

Identificacion de pines de display

Figura de relación entre pines de display de 7 segmentos.



.