Pages Menu
TwitterFacebook



BANNER1_ALT

Posted by on Feb 25, 2015 in Arduino, Basicos generales | 0 comments

Contador binario con Arduino

Contador binario con Arduino

Contador binario  ascendente y descendente con Arduino

En este tutorial aprenderemos como controlar las salidas digitales para hacer un contador binario  el cual mostrara los números del 1 al 31 de manera secuencial por medio de registro de puertos

Material:

  • Arduino UNO
  • 5 leds 5mm
  • 5 resistencias  220ohm

En la tienda virtual de HeTPro puedes encontrar todos los manteriales: www.hetpro-store.com

Los controladores y software Arduino lo puedes encontrar en: www.arduino.cc

Registros de puertos

Estos registros nos permiten una manipulación más rápida de los pines de E/S de nuestro  Arduino UNO. El microcontrador de esta placa tiene tres puertos:

  • pin digital de 8-13
  • pines de entrada analógica
  • pines digitales 0-7

Cada uno de estos puertos está controlado por tres registros los cuales se definen por DDR, PORT y PIN.

DDR

Determina si el pin es entrada o salida.

Ejemplo:

DDRD= B00001111;

Donde:

D es el puerto a controlar

B indicamos que es el código binario

 0  =entrada          1=salida

En este caso estamos declarando que la mitad de nuestro puerto  sea entrada y la otra parte salida, con esto evitamos escribir varias veces “pinMode(x,OUTPUT)” para declarar cada pin.

Tomando en cuenta que el primer número de la derecha es el menos significativo la relación de los pines será de la siguiente manera:

Numero insertado 0 0 0 0 1 1 1 1
Pin de Arduino 7 6 5 4 3 2 1 0

 

Si queremos hacerlo en forma decimal solo bastaría con 31 y esto sería igual a activar los primeros cuatro pines como salida DDRD=31 o DDRD=255 si queremos activar todo el puerto como salida.

 

PORT

Controlada si el pin esta en alto o bajo.

PORTD=10101010

Aquí asignamos que los pines 1, 3, 5, 7 estén en estado alto mientras que los pines 0, 2, 4, 6 están en estado bajo.

PIN

Lee el estado de los pines de entrada establecidos.

PIND

Se lee todo el puerto que se ha configurado como entrada. Este registro nos da un 1 si a un pin del microcontrolador se le está alimentando externamente, y un cero si esta en nivel bajo de voltaje.

PROGRAMACIÓN

// Ejemplo: contador binario
void setup()
{

DDRD=255; //se declara todo el puerto como salida
}

void loop()
{

 for(int x=0;x<=31;x++)       // este sera nuestro contador ascendente para este caso
                              // como solo tenemos 5 LEDs basta que cuente hasta 30
{

 PORTD=x;         //el puerto D tomara el numero que contenga "x" y encenderá los LEDs con el numero correspondiente
 delay(500);    // espera 500ms entre cada numero
}

  for(int y=30;y>=0;y--) // contador descendente
                         //iniciamos en nuestro numero mas alto que en este caso es 31 y se estara rentando 1 en cada ciclo
{

 PORTD=y;               //asignamos el valor de "y" al puerto D y activara los LEDs correspondientes para cada numero

 delay(500);           // espera 500ms entre cada numero
}
}

CONEXIÓN: contador binario

Cableamos de cada uno de los pines  de salida que declaramos de nuestro Arduino a los LEDs que estas coincidan con el ánodo, y por el lado de cátodo se coloca una resistencia de 220ohms en cada una de ellas. Para finalizar tomamos GND de Arduino y se une con todas las resistencias, para poder observar el contador binario.

DIAGRAMA CONTADOR BINARIO

ESQUEMA

 

 

DIAGRAMA

CONEXIÓN CONTADOR BINARIO

 

 

 

 

Post a Reply

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *