Reporte Del Cubo de Les 5X5X5
Reporte Del Cubo de Les 5X5X5
Reporte Del Cubo de Les 5X5X5
OAXACA
MATERIA:
CIRCUITOS ELECTRICOS I
INTEGRANTES:
MARTINEZ HERNANDEZ FLAVIO CESAR
PEREZ CABRERA CRISTIAN
CARRERA:
ING. ELECTRONICA
LUGAR Y FECHA:
OAXACA DE JUAREZ OAXACA, A 12 DE
DICIEMBRE 2017
Descripción General del Proyecto
Como proyecto se presenta un cubo de luces led’s de tamaño 5X5X5. Con esta
descripción nos referimos que su composición está basada en 5 filas multiplicado
por 5 columnas y 5 pisos de luces led’s, formando un total de 125 luces led’s.
Objetivo General:
Objetivos específicos:
Marco Teórico
Diodo led
Resistencia
Baterías Recargables
Diodo
El diodo Zener es un diodo de silicio fuertemente dopado que se ha construido
para que funcione en las zonas de rupturas, recibe ese nombre por su inventor, el
Dr. Clarence Melvin Zener. El diodo Zener es la parte esencial de los reguladores
de tensióncasi constantes con independencia de que se presenten grandes
variaciones de la tensión de red, de la resistencia de carga y temperatura.
Son mal llamados a veces diodos de avalancha, pues presentan comportamientos
similares a estos, pero los mecanismos involucrados son diferentes. Además si el
voltaje de la fuente es inferior a la del diodo este no puede hacer su regulación
característica.
Tarjeta arduino
Materiales
125 Leds
Placa Arduino (uno, nano, mega)
Cautín
Estaño
Cable de Calibre 24
Pinzas
Multímetro
Placa fenólica de 15x15
Baterías recargables
Interruptor
4 resistencias de 220 ohm
Desarrollo
El siguiente paso es utilizar un cable para conectar las cuatro filas juntos en una
capa, se podría utilizar cuatro tiras de alambre por capa, pero en realidad sólo se
necesitan dos iguales – una tras la primera tira de LEDs y un segundo antes de la
última tira de LEDs. Yo he usado tres tiras por capa para dar una mayor sensación
de cubo unido, en la imagen de abajo podrás observar como quedaría cada capa
con un cátodo común y 16 ánodos individuales. Asegúrese de recortar cualquier
exceso de cable colgando sobre el borde de su cubo , también puedes recortar los
cuatro cátodos que sobresalen del borde de la capa.Recuerda que en las
soldaduras debes usar el menor contacto y tan poco de soldadura como sea
posible. Recuerde, más estaño en cada soldadura no es sinónimo de mayor fuerza
en la unión, al contrario podría dar problemas más adelante.
Ahora que tenemos las cuatro capas individuales, vamos a soldarlas entre si para
formar el cubo. Vamos a hacer esto al unir los 25 ánodos de cada capa juntos
para que nos quedamos con 25 ánodos comunes y 5 cátodos comunes.Lo primero
que debe hacer es doblar el último mm de cada ánodo hacia el centro del LED,
esto le ayudará a unir las capas entre sí. Sólo tiene que hacer esto con tres de sus
capas superiores.
A partir de aquí tendremos que darnos maña para completar la tarea, podeis usar:
Si usted desea hacer sus propias animaciones, sigue leyendo y voy a explicar
cómo funciona. Así , cuando se abrió el código en el software de Arduino, te
habrás dado cuenta de la gran bloque de código en el medio que parecía un poco
a esto.
Este gran bloque de código en el medio es donde se desarrollan los patrones de
encendio de los leds del cubo. La manera más fácil de pensar en ella es como una
animación . Cada cambio en el cubo representa un fotograma de la animación, y
cada línea de código representa un fotograma.
He separado por colores cada capa, de forma que el color negro corresponde a la
capa 1(la inferior), la rojo a la dos, verde tres y azul la cuarta capa. Bien en las
capas 2, 3 y 4 todo está a cero significa que todos los leds de esas capas están
apagados, sin embargo si observamos la capa 1 (la inferior) vemos que está
encendido el primer led de cada nibble (cuarteto), lo que quiere decir que lucirán
los leds de la fila inferior del fondo. El último valor de la fila indica el tiempo que
permanece la secuencia.
Códigos de arduino
int layer[4]={A3,A2,A1,A0}; //initializing pinMode(layer[i], OUTPUT); //setting
and declaring led layers layers to output
int }
column[16]={13,12,11,10,9,8,7,6,5,4,3,2,1,0,
A5,A4}; //initializing and declaring led randomSeed(analogRead(10)); //seeding
rows random for random pattern
int time = 250; }
void loop()
{
void setup() turnEverythingOff();
{ flickerOn();
turnEverythingOn();
for(int i = 0; i<16; i++) delay(time);
{
pinMode(column[i], OUTPUT); //setting turnOnAndOffAllByLayerUpAndDownNotT
rows to ouput imed();
} layerstompUpAndDown();
spiralInAndOut();
for(int i = 0; i<4; i++) turnOnAndOffAllByColumnSideways();
{ delay(time);
aroundEdgeDown(); turnEverythingOff();
turnEverythingOff(); delay(i);
randomflicker(); i-= 5;
randomRain(); }
diagonalRectangle(); }
goThroughAllLedsOneAtATime(); //turn everything on and off by layer up
propeller(); and down NOT TIMED
spiralInAndOut(); void
flickerOff(); turnOnAndOffAllByLayerUpAndDownNotT
turnEverythingOff(); imed()
delay(2000); {
} int x = 75;
for(int i = 5; i != 0; i--)
{
//turn all off turnEverythingOn();
void turnEverythingOff() for(int i = 4; i!=0; i--)
{ {
for(int i = 0; i<16; i++) digitalWrite(layer[i-1], 0);
{ delay(x);
digitalWrite(column[i], 1); }
} for(int i = 0; i<4; i++)
for(int i = 0; i<4; i++) {
{ digitalWrite(layer[i], 1);
digitalWrite(layer[i], 0); delay(x);
} }
} for(int i = 0; i<4; i++)
{
//turn all on digitalWrite(layer[i], 0);
void turnEverythingOn() delay(x);
{ }
for(int i = 0; i<16; i++) for(int i = 4; i!=0; i--)
{ {
digitalWrite(column[i], 0); digitalWrite(layer[i-1], 1);
} delay(x);
//turning on layers }
for(int i = 0; i<4; i++) }
{ }
digitalWrite(layer[i], 1); //turn everything on and off by column
} sideways
} void
//turn columns off turnOnAndOffAllByColumnSideways()
void turnColumnsOff() {
{ int x = 75;
for(int i = 0; i<16; i++) turnEverythingOff();
{ //turn on layers
digitalWrite(column[i], 1); for(int i = 0; i<4; i++)
} {
} digitalWrite(layer[i], 1);
//flicker on }
void flickerOn() for(int y = 0; y<3; y++)
{ {
int i = 150; //turn on 0-3
while(i != 0) for(int i = 0; i<4; i++)
{ {
turnEverythingOn(); digitalWrite(column[i], 0);
delay(i); delay(x);
} for(int i = 4; i<8; i++)
//turn on 4-7 {
for(int i = 4; i<8; i++) digitalWrite(column[i], 0);
{ delay(x);
digitalWrite(column[i], 0); }
delay(x); //turn on 0-3
} for(int i = 0; i<4; i++)
//turn on 8-11 {
for(int i = 8; i<12; i++) digitalWrite(column[i], 0);
{ delay(x);
digitalWrite(column[i], 0); }
delay(x); //turn off 12-15
} for(int i = 12; i<16; i++)
//turn on 12-15 {
for(int i = 12; i<16; i++) digitalWrite(column[i], 1);
{ delay(x);
digitalWrite(column[i], 0); }
delay(x); //turn off 8-11
} for(int i = 8; i<12; i++)
//turn off 0-3 {
for(int i = 0; i<4; i++) digitalWrite(column[i], 1);
{ delay(x);
digitalWrite(column[i], 1); }
delay(x); //turn off 4-7
} for(int i = 4; i<8; i++)
//turn off 4-7 {
for(int i = 4; i<8; i++) digitalWrite(column[i], 1);
{ delay(x);
digitalWrite(column[i], 1); }
delay(x); //turn off 0-3
} for(int i = 0; i<4; i++)
//turn off 8-11 {
for(int i = 8; i<12; i++) digitalWrite(column[i], 1);
{ delay(x);
digitalWrite(column[i], 1); }
delay(x); }
} }
//turn off 12-15 //up and down single layer stomp
for(int i = 12; i<16; i++) void layerstompUpAndDown()
{ {
digitalWrite(column[i], 1); int x = 75;
delay(x); for(int i = 0; i<4; i++)
} {
//turn on 12-15 digitalWrite(layer[i], 0);
for(int i = 12; i<16; i++) }
{ for(int y = 0; y<5; y++)
digitalWrite(column[i], 0); {
delay(x); for(int count = 0; count<1; count++)
} {
//turn on 8-11 for(int i = 0; i<4; i++)
for(int i = 8; i<12; i++) {
{ digitalWrite(layer[i], 1);
digitalWrite(column[i], 0); delay(x);
delay(x); digitalWrite(layer[i], 0);
} }
//turn on 4-7 for(int i = 4; i !=0; i--)
{ }
digitalWrite(layer[i-1], 1); //random rain
delay(x); void randomRain()
digitalWrite(layer[i-1], 0); {
} turnEverythingOff();
} int x = 100;
for(int i = 0; i<4; i++) for(int i = 0; i!=60; i+=2)
{ {
digitalWrite(layer[i], 1); //d4
delay(x); turnColumnsOff();
} digitalWrite(column[0], 0);
for(int i = 4; i!=0; i--) digitalWrite(column[5], 0);
{ digitalWrite(column[10], 0);
digitalWrite(layer[i-1], 0); digitalWrite(column[15], 0);
delay(x); delay(x);
} }
} //go through all leds one at a time
} void goThroughAllLedsOneAtATime()
//flicker off {
void flickerOff() int x = 15;
{ turnEverythingOff();
turnEverythingOn(); for(int y = 0; y<5; y++)
for(int i = 0; i!= 150; i+=5) {
{ //0-3
turnEverythingOff(); for(int count = 4; count != 0; count--)
delay(i+50); {
turnEverythingOn(); digitalWrite(layer[count-1], 1);
delay(i); for(int i = 0; i<4; i++)
} {
} digitalWrite(column[i], 0);
//around edge of the cube down delay(x);
void aroundEdgeDown() digitalWrite(column[i], 1);
{ delay(x);
for(int x = 200; x != 0; x -=50) }
{ digitalWrite(layer[count-1], 0);
turnEverythingOff(); }
for(int i = 4; i != 0; i--) //4-7
for(int count = 0; count < 4; count++)
} {
//random flicker digitalWrite(layer[count], 1);
void randomflicker() for(int i = 4; i<8; i++)
{ {
turnEverythingOff(); digitalWrite(column[i], 0);
int x = 10; delay(x);
for(int i = 0; i !=750; i+=2) digitalWrite(column[i], 1);
{ delay(x);
int randomLayer = random(0,4); }
int randomColumn = random(0,16); digitalWrite(layer[count], 0);
}
digitalWrite(layer[randomLayer], 1); //8-11
digitalWrite(column[randomColumn], 0); for(int count = 4; count != 0; count--)
delay(x); {
digitalWrite(layer[randomLayer], 0); digitalWrite(layer[count-1], 1);
digitalWrite(column[randomColumn], 1); for(int i = 8; i<12; i++)
delay(x); {
} digitalWrite(column[i], 0);
delay(x); {
digitalWrite(column[i], 1); digitalWrite(column[i], 0);
delay(x); delay(x);
} digitalWrite(column[i], 1);
digitalWrite(layer[count-1], 0); delay(x);
} }
//12-15 digitalWrite(layer[count], 0);
for(int count = 0; count < 4; count++) }
{ }
digitalWrite(layer[count], 1); }
for(int i = 12; i<16; i++)
Conclusión
Este cubo LED utiliza un microcontrolador Arduino Uno para crear un espectáculo
de luces en movimiento muy espectacular. Para realizar este proyecto con éxito la
paciencia es una de las claves, si sigue el tutorial paso a paso no tendrá ningún
problema en desarrollarlo.
Bibliografías
https://www.scoop.it/t/tecno4/p/4014752341/2014/01/24/como-hacer-un-cubo-
de-leds-4x4x4-con-arduino
https://www.google.com.mx/search?q=como+hacer+un+cubo+de+leds+4x4x
4&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjn9aGaxYbYAhXGxYMKHag
-AkwQ_AUICygC&biw=1024&bih=613#imgrc=ZDvGMFekEfTlWM:
https://www.scoop.it/t/tecno4/p/4014752341/2014/01/24/como-hacer-un-cubo-
de-leds-4x4x4-con-arduino