Contador
Apariencia
Este pequeño proyecto es una tarea que tuve que hacer para una materia de la universidad.
Armado
Para el armado hay varios ejemplos ya hechos en la red y de uno de esos escogimos el siguiente:
- Arduino UNO
- decodificador SN74LS47N
- Display de 7 segmentos
- Botones(simples)

para elaborar las conexiones usamos Fritzing
Código
También pueden ver el código en GitHub
/*
//Primero declaramos dos puertos de cuatro pines, uno para cada dígito
int arrayOne [] = {2,3,4,5};
int arrayTwo [] = {6,7,8,9};
const int buttonPin1 = 10;
const int buttonPin2 = 11;
const int buttonPin3 = 12;
//Después indicamos que esos pines son SALIDAS usando un bucle for
int a=0;
int b=0;
int sw=0;
void setup()
{
for (int pin = 0; pin < 4; pin++)
{
pinMode(arrayOne[pin], OUTPUT);
pinMode(arrayTwo[pin], OUTPUT);
}
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
}
void loop()
{
if(digitalRead(buttonPin1)== HIGH){
sw=1;
}else{
if(digitalRead(buttonPin2)== HIGH){
sw=0;
}else{
if(digitalRead(buttonPin3)== HIGH){
a=0;
b=0;
displayBinary(a);
displayBinary1(b);
delay(500);
sw=0;
}
}
}
if(sw){
if(a==9){
a=0;
if(b==9){
b=0;
}
else{
b=b+1;
}
}
else{
a=a+1;
}
displayBinary(a);
displayBinary1(b);
delay(500);
}
}
//displayBinary es la función que representa los números binarios
//Se tendrá que repetir la función una vez por cada dígito que tengamos
//Cambiando lo que fuera necesario en cada caso
void displayBinary(byte numToShow)
{
for (int i = 0; i < 4; i++)
{
if (bitRead(numToShow, i)==1)
{
digitalWrite(arrayOne[i], HIGH);
}
else
{
digitalWrite(arrayOne[i], LOW);
}
}
}
void displayBinary1(byte numToShow1)
{
for (int x = 0; x <4; x++) {
if (bitRead(numToShow1, x)==1)
{
digitalWrite(arrayTwo[x], HIGH);
}
else
{
digitalWrite(arrayTwo[x], LOW);
}
}
}
Resultado
Ya subiré algunas fotos