Ir al contenido principal

CONTADOR ASCENDENTE Y DESCENDTE, PROGRAMADO CON PIC.


INTRODUCCION: En electrónica digital, un contador es un circuito secuencial construido a partir de un biestable y puertas lógicas capaz de almacenar y contar los impulsos (a menudo relacionados con una señal de reloj), que recibe en la entrada destinada a tal efecto, pero en nuestro caso todo eso lo ara el microcontrolador PIC, a este PIC nosotros lo vamos a programar que cuando pulsamos el pulsador vaya contando en ascendente o descendente.





 Normalmente, el cómputo se realiza en código binario, en nuestro caso vamos a programar el código en PROTON IDE, y lo aremos con el código Binario.

Diagrama.


MATERIALES:

  • 1 PIC 16F84A.
  • 1 Display Cátodo Común.
  • 1 Crystal de 4MHz.
  • 2 Condensadores cerámicos de 22pf.
  • 3 Pulsadores N.A.
  • 3 Resistencias de 10kΩ.
  • 7 Resistencias de 330Ω.
  • 1 Protoboard.
  • 1 Fuente de 5v (pueden utilizar como fuente de alimentación, un cargador de celular, estos nos dan 5v).

EL PIC 16F84A: El PIC16F84A es un microcontrolador de gama media de 8 bits que físicamente consta de 18 pines, su memoria de programa es de tipo flash, lo que nos permitirá grabarlo hasta unas 10000 veces. Es realmente sencillo de manejar, y es un PIC muy comercial, la programación para este PIC es muy fácil que  lo veremos más adelante.

El puerto RA0 (pin 17) se va a encargar de contar en forma ascendente (A), y el puerto RA1 (pin 18) se encargara de contar en forma descendente (D).

CARACTERISTICAS:
  • Tiene 35 instrucciones.
  • Memoria de programa de 1 KB (equivale a 1024 instrucciones).
  • Máxima velocidad de operación: 20 MHz.
  • 68 Bytes de RAM.
  • 64 Bytes de EEPROM.
  • 4 fuentes de interrupción.
  • 2 puertos de salida.
  • 13 Líneas de I/O configurables individualmente.
  • 25 mA de consumo por pin.





¿QUE ES UN DISPLAY 7 SEGMENTOS?

El display 7 segmentos es un componente electrónico muy utilizado para representar visualmente números y letras, es de gran utilidad dado su simpleza para implementar en cualquier proyecto electrónico.

Está compuesto por 7 Leds que forman un “8”, y hay otro led (un punto) que es para visualizar un punto, que se utiliza para números decimales, de esta forma controlamos el encendido y apagado de cada led, podremos representar el numero o letra que necesitamos, en electrónica tenemos dos tipos de display: Ánodo común y Cátodo común.- En nuestro caso  vamos a utilizar display cátodo común.

Y para que el contador sea ascendente y descendente tenemos que programar al PIC, cada vez que pulsamos el pulsador cuente un número y así sucesivamente, y para esto tenemos que tener un conocimiento en código binario.

CODIGO BINARIO: El código binario es el sistema numérico usado para la representación de textos, o procesadores de instrucciones de una computadora, el sistema binario es aquel sistema de numeración que se emplea en las matemáticas y en la informática y en el cual los números se representan usando únicamente las cifras cero y uno (0 y 1).

Podemos decir entonces, que el sistema de numeración binario es utilizado básicamente por los microprocesadores de los dispositivos informáticos para detectar la ausencia o presencia de señal o de bits como también se les conoce. La facilidad que tiene el microprocesador de agrupar hasta 8 bits en una sola señal, se denomina velocidad de transferencia de datos y este grupo de bits forman un byte, la unidad base de medida de datos en informática.

La utilidad de código binario se ha demostrado en todo el mundo moderno en multitudes de tecnologías audiovisuales y dispositivos de comunicaciones. Debido a que el código binario es la base de la comunicación electrónica, este lenguaje aparentemente sencillo ha transformado radicalmente al mundo moderno en una sociedad más rápida, clara y fuerte basada en la tecnología con posibilidades prácticamente ilimitadas.

1 registro equivale a 128.
Y la suma de todo el peso binario es 255.

A continuación les dejo un cuadro del código binario.

Tabla básica del código  binario.

Como vemos en el cuadro el código binario 10001000 equivale al número 136, porque sumamos 128+8.

Este mismo sistema aplica para hacer letras o números en un display, a continuación les dejo un diagrama con todos los números, del 0 al 9.

¿COMO HACER LOS NÚMEROS?


Teniendo ya esta base,  ahora vamos a programar el PIC, en mi caso programo con el PROTON IDE, es un código muy simple de programar, a continuación les dejo el código bas o código fuente, al final del blog los dejare para que lo descarguen.

Device = 16F84A             'declaramos el pic a usar 
XTAL = 4                          'declaramos el crystal 

TRISA.0 = 1                  'declaramos el puerto A.0=1,como entrada y a la vez es el pulsador ASCENDENTE.
TRISA.1 = 1                 'declaramos el puerto A.1=1,como estrada y ala vez es el pulsador DESCENDENTE.
TRISB   = 0                    'puerto B ,direccionamos como salida , que ban al display.

ALL_DIGITAL true            'entradas analogicas 

Dim vec As Byte              'declarando el almacebamiento en el registro *vec* y
Dim num As Byte             'que se visualicen en el display  *num* 

     
vec = 0           
PORTB= 63                   'CONTEO QUE EMPIESE DESDE  CERO 

inicio:
     If PORTA.0=0 Then            'SI EL PUERTO A.0=0 POR Q CON EL PULSO LO ENVIAREMOS A CERO (0) PARA Q CUENTE
     vec=vec+1                                              'QUE  BAYA SUMANDO DE A UNO +1
     LookUp vec,[63,63,6,91,79,102,109,125,7,127,103],num    'NUMERO DESDE 0 AL 9
     PORTB=num                                                    'EN EL PUERTO B (DISPLAY) VISUALIZACION DE LOS NUEMEROS 
     If vec>=10 Then
     vec=0
     End If               
     DelayMS 600
     End If
     
     If PORTA.1=0 Then
     vec=vec-1
     LookUp vec,[63,63,6,91,79,102,109,125,7,127,103],num
     PORTB=num
     If vec<=1 Then
     vec=11
     End If
     DelayMS 600
     End If
     
     GoTo inicio
     End  

Una vez  que hayamos programado el PIC en PROTON IDE, y lo hayamos compilado sin ningún error, entonces aremos nuestras pruebas en PROTEUS (programa para simular circuitos en la PC), después de esto tenemos que cargar ese  código hex a nuestro PIC, y para eso necesitamos de un GRAVADOR DE PICs, una vez cargado el código ahora lo podemos conectar el PIC a la protoboard con el circuito armado, y hacemos las pruebas y debe de funcionar muy bien.

A continuación leds dejo el video para que vean de cómo debe de funcionar el circuito contador con pulsadores.






Links de descarga aquí:

1.- Circuito en proteus (para hacer sus pruebas).

2.- Código bas. O código fuente en Protón Ide.

3.- Código hex. para que lo carguen a su PIC.



















Comentarios

Entradas más populares de este blog

Carrito a control remoto con Arduino / Bluetooth / Android, circuito en Protoboard y en Baquelita.

Circuito en Protoboard. Circuito en baquelita. 1.- INTRODUCCION: En este blog y video, haremos un carrito / coche a control remoto, lo vamos hacer con Arduino Uno , o también podemos utilizar el Arduino Leonardo , y lo vamos a controlar por medio de bluetooth , el dispositivo bluetooth que estamos utilizando es el HC-05 o también pueden utilizar el HC-06 , el carrito lo vamos a con nuestro teléfono celular Android , el aplicativo lo vamos a descargar desde le Play Store, tengo el código, el diagrama, materiales y la explicación paso a paso de como ensamblar el circuito. 2.- ¿QUE ES 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. Para poder entender este concepto, primero vas

Carrito evasor de obstáculos con Arduino, con sensor ultrasónico y servomotor, en protoboard y baquelita.

1.-INTRODUCCION: El objetivo de este proyecto será crear un robot que avance recto mientras no detecte la presencia de un obstáculo. En caso de detectar algún obstáculo en su camino debe ir girando sobre sí mismo hasta que esquive el obstáculo y pueda seguir su camino. El sensor HC-SR04 nos permitirá percibir la presencia de un obstáculo y con el control de los motores de corriente continua podremos accionar nuestro robot para avanzar y girar ante los obstáculos. Este circuito es uno de los proyectos que más entusiasman a estudiantes y aficionados de la robótica y/o la Electrónica. Con la ayuda del tutorial y el código podrás ponerlo en funcionamiento este robot.  El robot es capaz de esquivar obstáculos a una distancia (en nuestro caso 15cm) definida en el programa girando a la derecha antes de colisionar con el objeto. 2.-DIAGRAMA: A continuación, les dejo el diagrama, donde allí se ve todas las conexiones a realizar, estamos utilizando el Arduino uno, un servomotor SG90 , y un

Como hacer un Dimmer Electrónico con TRIAC y DIAC | Muy fácil paso a paso.

INTRODUCCIÓN :   Un Dimmer electrónico es un  regulador, atenuador o dímer, sirve para regular la energía en uno o varios focos con el fin de variar la intensidad de la luz que emiten, cuando las propiedades de la lámpara lo hacen posible, en sí, el dimmer tiene muchas aplicaciones, podemos regular la velocidad de giro de un motor eléctrico, también podemos conectar un Cautín para regular su temperatura, en si lo que hace el dimmer es variar el voltaje AC en unas de sus salidas del dimmer, al final del blog veremos cómo regular la velocidad e un ventilador. La luz que ilumina una habitación puede incidir en nuestro estado de ánimo, en nuestra predisposición, etc. El dimmer o atenuador de luz es un instrumento electrónico de lo más útil para conseguir un nivel óptimo de confort en casa, ya que con esta pequeña ruleta podremos controlar la luminosidad de nuestras lámparas a cada momento, pudiendo regular la iluminación a nuestro antojo. En mi caso yo lo utilizo mucho este