Tutorial con codice sul cubo led 3x3x3 con Arduino

Ovvero tutto quello che avreste sempre voluto sapere sui cubi led e non avete mai osato chiedere.

L’utilizzo molto originale dei pin di uscita di Arduino rende questo progetto molto interessante sotto il profilo teorico.

Di seguito lo sketch di Arduino:

Allego il codice:

/***************************************************
* Programma per gestire un cubo led 3x3 con Arduino.
* Il passaggio da un'animazione all'altra avviene
* tramite il pulsante posto sul pin 13.
*
* Autore: Giovanni Gentile
* Data: Dicembre 2013
* Web: https://www.0lab.it
* 
* Setup uscite cubo:
* 2  4  A5
* 6  5  A0
* 10 7  11
*
* Primo piano A1
* Secondo Piano A2
* Terzo Piano A4
*
* Creative Commons License
***************************************************/

// Dichiarazioni Generali
int time;
const int button = 13;
int valButton = 10;
boolean stateButton;

void setup() {               

  Serial.begin(9600);
  pinMode(A3, INPUT);
  pinMode(button, INPUT);

  stateButton = (digitalRead(button));

// Colonne
  pinMode(2, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT); 
  pinMode(7, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(A5, OUTPUT);
  pinMode(A0, OUTPUT);
  pinMode(11, OUTPUT);
// Righe
  pinMode(A4, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A1, OUTPUT);
}

void loop() {

/* Debug Seriale:
   Calcolo ritardo potenziometro e stampa a video.
   Il potenziometro viene utlizzato con l'uscita 3,3v di Arduino. */
  time = analogRead(A3);
  Serial.print("Analog: ");
  Serial.println(time);
  time = map(time, 0, 696, 1,1000);
  Serial.print("map: ");
  Serial.println(time);
  Serial.print("Valore digitale pin 13:");
  Serial.println(stateButton);
  Serial.print("Valore bottone: ");
  Serial.println(valButton);  

// Calcolo stato bottone
if(digitalRead(button))
  {  
    delay(15);
    valButton++;
  }
    if (valButton >= 11){
    valButton = 0;
    }

switch (valButton) {

  case 0:
//Sequenza Colonne gira

//Primo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,LOW);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 1:
//Sequenza Cubo grande SX
//Primo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Terzo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 2:

//Sequenza Cubo grande DX
//Primo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Terzo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 3:

//Sequenza DOWN
//Primo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Terzo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 4:

//Sequenza UP
//Primo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);
//Terzo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 5:

//Sequenza rotea
//Primo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);

delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Terzo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Quarto
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 6:
//Scorre muro da DX SX DX
//Primo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Terzo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  case 7:
//Scorre muro DX SX
//Primo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Terzo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 8:
  //Cursore sale
  //Primo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Secondo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Terzo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Quarto
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Quinto
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,HIGH);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Sesto
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Settimo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Ottavo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Nono
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Decimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Undicesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,HIGH);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Dodicesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Tredicesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,HIGH);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Quattordicesimo
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Quindicesimo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Sedicesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Diciassettesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Diciottesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Diciannovesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Ventesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Ventunesimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,HIGH);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Ventiduesimo
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Ventitresimo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Ventiquattresimo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 9:
  //Diagonale
    //Primo
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Secondo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Terzo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

  //Quarto
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

  case 10:
//Esplosione
//Primo
digitalWrite(2,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,LOW);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Secondo
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,LOW);
digitalWrite(A5,LOW);
digitalWrite(A0,HIGH);
digitalWrite(11,LOW);

digitalWrite(A4,HIGH);
digitalWrite(A2,LOW);
digitalWrite(A1,HIGH);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

//Terzo
digitalWrite(2,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(10,HIGH);
digitalWrite(A5,HIGH);
digitalWrite(A0,HIGH);
digitalWrite(11,HIGH);

digitalWrite(A4,LOW);
digitalWrite(A2,LOW);
digitalWrite(A1,LOW);
delay(time);

digitalWrite(A4,HIGH);
digitalWrite(A2,HIGH);
digitalWrite(A1,HIGH);
delay(time);

break;

}
delay(1);
}
Ott 16, 2013 | Posted by in Arduino, Blog, Elettro, Tutorial, Video | 0 comments

Add Your Comment

Your email address will not be published.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Premium Wordpress Themes by UFO Themes