Programacion de cubo 5x5x5
Enviado por Jhon Marshall • 4 de Febrero de 2018 • Tutorial • 7.805 Palabras (32 Páginas) • 295 Visitas
Cubo 5x5x5
[pic 1][pic 2]
// declaracion de variables
int cubo =5;//variable cubo le asignamos 5
int cuboSize = 25;//variable cuboSize que le asignamos 25
int ledCubo[] = {4,3,2,1,0,14,15,16,17,18,50,48,46,44,42,40,38,36,34,32,30,28,26,24,22};//arreglo ledCubo de 25 elementos
int nivelCubo[] = {8,9,7,6,5};//arreglo nivelCubo de 5 elemnentos
int t=700;
int t1=200;
//metodo setup para inicializar las salidas
void setup(){
//declaramos como salidas al arreglo ledCubo
for (int pin=0; pin
pinMode( ledCubo[pin], OUTPUT );
}
//declaramos como salidas al arreglo ledCubo
for (int pin=0; pin
pinMode( nivelCubo[pin], OUTPUT );
}
}
//metodo loop que ejecuta el programa constantemente lo poidemos conocer como el metodo principal
void loop(){
inicializa();
encendido();
delay(2000);
inicializa();
encenderTodo();
inicializa();
circulo();
inicializa();
aleatorio();
nivelAriiba();
delay(200);
nivelLado();
carreraUno();
flash();
afueraAdentro();
afueraAdentro();
afueraAdentro();
letraTlado();
encendido();
delay(5000);
abecedario();
delay(2000);
texto();
delay(1000);
gracias();
}
//Metodo inicializa() => este metodo coloca a los arreglos un valor de apagado
void inicializa(){
for (int pin=0; pin
digitalWrite( ledCubo[pin], LOW );
}
for (int pin=0; pin
digitalWrite( nivelCubo[pin], LOW );
}
}
//metodo que inicializa los led
void inicializaLed(){
for (int pin=0; pin
digitalWrite( ledCubo[pin], LOW );
}
}
//metodo que enciendo todo el cubo
void encendido(){
inicializa();
for(int nivel=0; nivel
digitalWrite(nivelCubo[nivel], HIGH);
}
for(int i=0; i<=24; i++){
digitalWrite(ledCubo[i], HIGH);
}
}
//*************************************************SECCION DONDE SE REALIZAN LAS RESPECTIVAS SECUENCIAS **************************************************************************
//encender todo el cubo desde abajo hacia arriba
void encenderTodo(){
for(int nivel=0; nivel
digitalWrite(nivelCubo[nivel], HIGH);
for(int led=0; led
digitalWrite(ledCubo[led], HIGH);
delay(50);
}
inicializa();
delay(500);
}
for(int nivel=0; nivel
digitalWrite(nivelCubo[nivel], HIGH);
for(int led=0; led
digitalWrite(ledCubo[led], HIGH);
delay(1);
}
}
delay(3000);
}
//numero aleatorio para encender el led
void aleatorio(){
for(int pin=0; pin<200; pin++){
int l=random(0, 24);
int n=random(0, 4);
digitalWrite(nivelCubo[n], HIGH);
digitalWrite(ledCubo[l], HIGH);
delay(100);
inicializa();
}
}
//metodo que hace la figura de un circulo desde el nivel de abajo hacia el nivel de arriba se programa cada led para que haga un circulo, se enciende primero el nivel inferior
//y luego sigue aumentando hasta llegar al nivel superior
void circulo(){
int tiempo=200;//variable llamada tiempo que nos ayuda a darle un determinado tiempo despues de encender un led
for(int nivel=0; nivel
digitalWrite(nivelCubo[nivel], HIGH);//enciende el nivel que se encuentra en ese momento en el arreglo nivelCubo[]
digitalWrite(ledCubo[12], HIGH);//enciende el led que se encuentra en la posicion 12 del arreglo ledCubo[]
delay(tiempo);//le damos tiempo de 200 ms antes de seguir con la otra linea de codigo
digitalWrite(ledCubo[17], HIGH);
delay(tiempo);
digitalWrite(ledCubo[18], HIGH);
delay(tiempo);
digitalWrite(ledCubo[13], HIGH);
delay(tiempo);
for(int i=8; i>5; i--){
digitalWrite(ledCubo[i], HIGH);
delay(tiempo);
}
digitalWrite(ledCubo[11], HIGH);
delay(tiempo);
digitalWrite(ledCubo[16], HIGH);
delay(tiempo);
for(int i=21; i<25; i++){
digitalWrite(ledCubo[i], HIGH);
delay(tiempo);
}
for(int i=19; i>8; i=i-5){
digitalWrite(ledCubo[i], HIGH);
delay(tiempo);
}
for(int i=4; i>=0; i--){
digitalWrite(ledCubo[i], HIGH);
...