Um cubo de led é formado por camadas e colunas de leds.
Para acender um led é preciso ligar uma coluna e uma camada.
Você pode criar uma animação no simulador de cubo de led: clique aqui
//Programação básica de cubo de led 3x3x3
// By César Bastos 2018
// criando variáveis para colunas e camadas
int led1 = 2; // 1
int led8 = 12; // 8
int led7 = 11; // 7
int led2 = 4; // 2
int led9 = 13; // 9
int led6 = 10; // 6
int led3 = 7; // 3
int led4 = 8; // 4
int led5 = 9; // 5
int cam1 = 3; // C1
int cam2 = 5; // C2
int cam3 =6; // C3
// definindo as portas como saída
void setup(){
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(cam1, OUTPUT);
pinMode(cam2, OUTPUT);
pinMode(cam3, OUTPUT);
}
// criando as animações com os leds colunas girando
void loop(){
//Desliga Tudo
digitalWrite(cam1,LOW);
digitalWrite(cam2,LOW);
digitalWrite(cam3,LOW);
digitalWrite(led1,LOW);
digitalWrite(led2,LOW);
digitalWrite(led3,LOW);
digitalWrite(led4,LOW);
digitalWrite(led6,LOW);
digitalWrite(led7,LOW);
digitalWrite(led8,LOW);
digitalWrite(led9,LOW);
// acende a coluna 5 e começa a girar
digitalWrite(cam1,HIGH);
digitalWrite(cam2,HIGH);
digitalWrite(cam3,HIGH);
digitalWrite(led5,HIGH);
delay (100);
digitalWrite(led5,LOW);
digitalWrite(led4,HIGH);
delay (100);
digitalWrite(led4,LOW);
digitalWrite(led3,HIGH);
delay (100);
digitalWrite(led3,LOW);
digitalWrite(led2,HIGH);
delay (100);
digitalWrite(led2,LOW);
digitalWrite(led1,HIGH);
delay (100);
digitalWrite(led1,LOW);
digitalWrite(led8,HIGH);
delay (100);
digitalWrite(led8,LOW);
digitalWrite(led7,HIGH);
delay (100);
digitalWrite(led7,LOW);
digitalWrite(led6,HIGH);
delay (100);
digitalWrite(led6,LOW);
digitalWrite(led5,HIGH);
delay (100);
digitalWrite (led5,LOW);
digitalWrite (cam1,LOW);
digitalWrite (cam2,LOW);
digitalWrite (cam3,LOW);
//Fim da sequencia Giro
}