Hola Amigos, aprovechando el tiempo que tengo libre, decidí construir un Display de siete segmentos con componentes reciclados, yo se que esto no es novedad para muchos pero quizá le pueda servir algún estudiante que está iniciándose en el mundo de la electrónica, lo comparto porque me quedo muy bonito y creo que es una manera muy didáctica de aprender electrónica aplicando conceptos de la ley de ohm, practicando soldadura, y programando con Arduino.
Al display no lo llamaré gigante, aunque es mucho mas grande de lo convencional, pero este concepto se aplicaría para construir Displays mucho mas grandes como los que se ven en los marcadores deportivos,
Lo primero que hice fue reciclar los LED de un letrero que ya no servia:

luego conseguí un pedazo de madera MDF (yo se que no está muy bonita pero era la única que tenia a la mano )

luego con un bolígrafo marqué los puntos donde irían los LED:

una vez perforada la madera la lijé y coloqué los LED en paralelo haciendo grupos de cuatro en los segmentos horizontales a, d y g grupos de tres en los verticales b,c,e y f

Luego calculé la resistencia que protegería a los LED, teniendo en cuenta que el Display debe a soportar 5V, que el voltaje de forward de los LED es 2V y que la corriente recomendada por el fabricante es 20 mA

y es así como me quedó ya armado:

Esta es la vista frontal

Asegurándome que todos los LED encienden

Para test, programé un sketch en arduino:
finalmente comparto el vídeo de como quedó:
Al display no lo llamaré gigante, aunque es mucho mas grande de lo convencional, pero este concepto se aplicaría para construir Displays mucho mas grandes como los que se ven en los marcadores deportivos,
Lo primero que hice fue reciclar los LED de un letrero que ya no servia:

luego conseguí un pedazo de madera MDF (yo se que no está muy bonita pero era la única que tenia a la mano )

luego con un bolígrafo marqué los puntos donde irían los LED:

una vez perforada la madera la lijé y coloqué los LED en paralelo haciendo grupos de cuatro en los segmentos horizontales a, d y g grupos de tres en los verticales b,c,e y f

Luego calculé la resistencia que protegería a los LED, teniendo en cuenta que el Display debe a soportar 5V, que el voltaje de forward de los LED es 2V y que la corriente recomendada por el fabricante es 20 mA

y es así como me quedó ya armado:

Esta es la vista frontal

Asegurándome que todos los LED encienden

Para test, programé un sketch en arduino:
C:
void setup() {
for (int i=2; i<9; i++)pinMode(i,OUTPUT);
digitalWrite(4,HIGH);//a
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
digitalWrite(8,HIGH);//d
digitalWrite(6,HIGH);//e
digitalWrite(3,HIGH);//f
digitalWrite(5,HIGH);//g
}
void displayNum(byte numero){
for (int i=2; i<9; i++)digitalWrite(i,LOW);
switch(numero){
case 0:
digitalWrite(4,HIGH);//a
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
digitalWrite(8,HIGH);//d
digitalWrite(6,HIGH);//e
digitalWrite(3,HIGH);//f
break;
case 1:
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
break;
case 2:
digitalWrite(4,HIGH);//a
digitalWrite(7,HIGH);//b
digitalWrite(8,HIGH);//d
digitalWrite(6,HIGH);//e
digitalWrite(5,HIGH);//g
break;
case 3:
digitalWrite(4,HIGH);//a
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
digitalWrite(8,HIGH);//d
digitalWrite(5,HIGH);//g
break;
case 4:
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
digitalWrite(3,HIGH);//f
digitalWrite(5,HIGH);//g
break;
case 5:
digitalWrite(4,HIGH);//a
digitalWrite(2,HIGH);//c
digitalWrite(8,HIGH);//d
digitalWrite(3,HIGH);//f
digitalWrite(5,HIGH);//g
break;
case 6:
digitalWrite(2,HIGH);//c
digitalWrite(8,HIGH);//d
digitalWrite(6,HIGH);//e
digitalWrite(3,HIGH);//f
digitalWrite(5,HIGH);//g
break;
case 7:
digitalWrite(4,HIGH);//a
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
break;
case 8:
digitalWrite(4,HIGH);//a
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
digitalWrite(8,HIGH);//d
digitalWrite(6,HIGH);//e
digitalWrite(3,HIGH);//f
digitalWrite(5,HIGH);//g
break;
case 9:
digitalWrite(4,HIGH);//a
digitalWrite(7,HIGH);//b
digitalWrite(2,HIGH);//c
digitalWrite(3,HIGH);//f
digitalWrite(5,HIGH);//g
}
}
void loop() {
for(byte i=0; i<10;i++){
displayNum(i);
delay(500);
}
}
finalmente comparto el vídeo de como quedó:
Última edición: