Display sette segmenti

Ho realizzato per la scuola questo programma :

int i;
int x;
int b=0;
void setup() {
  for(i=1; i<=7; i++){
    pinMode(i,OUTPUT);
  }
    pinMode(13,OUTPUT);
    pinMode(12,INPUT);
}

void loop() {
  x = digitalRead(12);
  
 

 switch (x){

  case 0:

  digitalWrite(13,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  b=2;
  
  break;
  
  ;
  case 1:
 
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,HIGH);
  digitalWrite(4,LOW);
  b==3;
  break;
  
  case 3:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  b=3;
  break;

  case 4:
  digitalWrite(13,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  b=4;
  break;

  case 5:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,HIGH);
  b=5;
  break;


  case 6:
  digitalWrite(13,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,HIGH);
  b=6;
  break;

  case 7:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  b=7;
  break;

  case 8:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  b=8;
  break;

  case 9:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  b=0;
  break;


 }
 
 
 

}

In pratica dovrei far accendere il display da 0 a 9 con la pressione di un pulsante .Ma ancora non mi è riuscito ! Chi puo darmi una dritta?

Una lettura digitale (quella del pulsante) restituisce 0 o 1, non può restituire altri valori. Per cui devi usare un'altra variabile per tenere conto di quale cifra disegnare, ed incrementarla ad ogni pressione del pulsante.

studiati questo esempio

poi questo, è più difficile, ma è come andrebbe fatto

ciao

grazie a tutti edue ma il prof vuole il switch case equindi non vedo altre soluzioni che quella di michele maffucci ! se avete un altro esempio ben venga!

Dato che questo programma ha avuto successo questo è lo sckech:

int iniz = 0;                 
int ult = 0;                  
int count = 0;             
int i;                      
int r=150;                   

void setup()  
{  
  for(i=1; i<=7;i++){
    pinMode(i,OUTPUT);
  }
  pinMode(13, HIGH);        
  pinMode(12, INPUT);        
}  
   
void loop()  
{  
  
 
if(digitalRead(12))
{
    if(ult==0) ult=1;  
    else ult=0;  
    
    if(count<=10) count=count+1;  
    else count=0;  
}


 switch (count){
  
  case 0:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;
  
  case 1:
  digitalWrite(13,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;
  
  
  case 2:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,HIGH);
  digitalWrite(4,LOW);
  delay(r);
  break;
  
  case 3:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

  case 4:
  digitalWrite(13,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

  case 5:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,HIGH);
  delay(r);
  break;


  case 6:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,HIGH);
  delay(r);
  break;

  case 7:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

  case 8:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

  case 9:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

  default:
  break;

 }
 
 
 

}

il prof si è preso la facoltà di rendermi la vita più difficile!
Adesso vuole che gli piloti due display contemporaneamente. Come si fa? Un grazie a chi mi aiuta!

Se il prof te lo chiede è perchè l'argomento lo avete già trattato, non ti chiederebbe una cosa fuori programma, cerca nei libri di testo da qualche parte troverai che le lineee a,b,c,d,e,f,g di tutti i display sono in parallelo, solo il catodo o anodo comune viene pilotato ad una frequenza tale che l'occhio non si accorge, in pratica accendi prima uno e poi l'altro.

Non ti fornisco link, e se qualcun altro lo fa sicuramente non fa i tuoi interessi ... 1) è talmente tanto elementare la richiesta che avresti fatto prima a scrvere 3 parole su google che a digitare la domanda a noi. 2) è giusto che questo lo fai da solo, 3) il primo sketch praticamente l'hai copiato, lo hai davvero capito?

ciao

Vorrei farti notare che hai fatto esattamente quel che ti dicevo io, ovvero usi una seconda variabile per tenere traccia di quale cifra disegnare, che incrementi ad ogni pressione del pulsante. Non è che ci siano molti altri modi per ottenere 10 valori da una cosa che può assumerne solo 2...

Oltre a questo, non trovi che la variabile ult sia completamente inutile? :wink:

Mar52:
Dato che questo programma ha avuto successo questo è lo sckech:

int iniz = 0;                 

int ult = 0;                 
int count = 0;           
int i;                     
int r=150;

void setup() 

  for(i=1; i<=7;i++){
    pinMode(i,OUTPUT);
  }
  pinMode(13, HIGH);       
  pinMode(12, INPUT);       

 
void loop() 
{

if(digitalRead(12))
{
    if(ult==0) ult=1; 
    else ult=0; 
   
    if(count<=10) count=count+1; 
    else count=0; 
}

switch (count){
 
  case 0:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,HIGH);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;
 
  case 1:
  digitalWrite(13,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;
 
 
  case 2:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,HIGH);
  digitalWrite(4,LOW);
  delay(r);
  break;
 
  case 3:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

case 4:
  digitalWrite(13,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

case 5:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,HIGH);
  delay(r);
  break;

case 6:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,HIGH);
  delay(r);
  break;

case 7:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(2,HIGH);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

case 8:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,LOW);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

case 9:
  digitalWrite(13,HIGH);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);
  digitalWrite(3,HIGH);
  digitalWrite(2,LOW);
  digitalWrite(1,LOW);
  digitalWrite(4,LOW);
  delay(r);
  break;

default:
  break;

}

}



il prof si è preso la facoltà di rendermi la vita più difficile!
Adesso vuole che gli piloti due display contemporaneamente. Come si fa? Un grazie a chi mi aiuta!

mah.... "te dico" che questo programma è fatto malissimo per poter funzionare,
se metti piu display ci va il multiplex e piu vai "avanti" ad aumentare le cifre e piu aumentano i "problemi"
prova a immaginare che ti devi inventare per visualizzare un numero da -999 a 9999

pinMode(13, HIGH);

ist syntaktisch falsch auch wenn keine Fehlermeldung ausgegeben wird.
Grüße Uwe

Scusate ho sbagliato lingua; ognitanto non so se ho letto qualcosa in italiano o tedesco.

La sintassi é sbaglaita anche se non viene generato nessun messaggio d'errore.
Ciao Uwe

Per Pablos:
1)A te forse può sembrarti elementare , ma a me no! Credi che non abbia provato a cercare su internet?
2)E' giustissimo che io lo faccia da solo , perche con le spiegazioni che ci ha dato il prof è gia tanto che abbiamo imparato ad accendere il pc e se abbiamo imparato è perche sono andato su internet e qualcosa gia sapevo!
3)Il primo schetc non è copiato del tutto solo qualche if delle variabili
Per sukkopera : rimontero il circuito e vedro se ult sia inutile!
Per elrospo : anche se fatto male il programma funziona!
Per wefed: Non sopporto e non conosco il tedesco prego una traduzione!
Per quanto riguarda lìistruzione che mi serve cerchero su internet!
Vi voglio informare che sto frequentando un corso serale per periti informatici !

Ciao.
Il comando pinmode accetta come parametri solo INPUT, OUTPUT o INPUT_PULLUP. Controlla il codice che ti è scappato un HIGH.
Ti conviene scalare il display di un pin. il pin 1 è usato dalla seriale per caricare gli sketch su Arduino. Trovandolo occupato potresti avere dei blocchi anomali al caricamento.
Attenzione anche alla corrente massima: un solo pin eroga al massimo 40mA, un blocco di otto pin al massimo 150mA e tutti i pin assieme massimo 200mA. Verifica la corrente circolante quando accendi tutti i segmenti e nel caso aumenta il valore delle resistenze. Si abbassa la luminosità dei led ma non bruci l'Arduino internamente.

PaoloP:
....
Attenzione anche alla corrente massima: un solo pin eroga al massimo 40mA, un blocco di otto pin al massimo 150mA e tutti i pin assieme massimo 200mA.
...

In realtà quelli sono i valori massimi da non superare mai, ma ... per la salute del chip ... è bene NON superare il 70/75 % di detti valori :wink:

Guglielmo

Si ho visto l'errore Grazie!

Per sukkopera: è vero la variabile ult è inutile . Il prof questo programma lo voleva con i flag ma non ci sono riuscito! aspetto qualche lume per il doppio display!

Il problema è stato risolto anche quello del doppio display !
Devo metterlo sul post o no ?

@Mar52: Se lo fai, farai cosa utile per i possibili futuri lettori del thread :slight_smile:

Guglielmo

Qualcuno a me mi ha detto che non voleva mettere lo schetc perche altrimenti copiaavo ma non imparavo. Ecco pe che ho detto se potevo postarlo .Credevo che la massima valva per tutti! Va bene quando posso (questa sera) lo posto!

Mar52:
Qualcuno a me mi ha detto che non voleva mettere lo schetc perche altrimenti copiaavo ma non imparavo.

Ero sicuramente IO :grin: :grin: :grin:

La cosa vale ovviamente per ... tutti quelli che chiedono "la pappa fatta" senza sforzarsi a fare un minimo di ricerche ed a studiare l'argomento ... :wink:

Se uno fa delle ricerche, sa quello che cerca e si sforza ... va bene che trovi degli esempi ...
... del resto sono anche allegati all'IDE.

Se uno invece arriva e dice: "mi date il codice già fatto?" ... non fa il minimo sforzo.
Ritengo che lo scopo del forum e della comunità sia "far crescere" le persone, non fornirgli "pappa fatta" con cui, alla prossima difficoltà ... sono da capo a dodici ! :wink:

Guglielmo

Ecco qui:

int i;
int timer=100;
int r = 5;
void setup() {
  for (i=1; i<=7; i++){
  pinMode(i,OUTPUT);
}
pinMode(13,OUTPUT);
pinMode(11,OUTPUT);
}
void loop() {
  
for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      digitalWrite(7,HIGH);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
    
     for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,HIGH);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,HIGH);
      digitalWrite(7,LOW);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
   for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,HIGH);
      digitalWrite(7,LOW);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
     for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,HIGH);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
     for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,HIGH);
      digitalWrite(4,HIGH);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
     for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,HIGH);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
     for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,HIGH);
      digitalWrite(7,HIGH);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
     for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
     for (int i=0; i<timer; i++){                  
 
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);                        
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,LOW);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);
   
     }
      for (int i=0; i<timer; i++){      
      digitalWrite(1,LOW);
      digitalWrite(2,HIGH);
      digitalWrite(3,HIGH);
      digitalWrite(4,LOW);
      digitalWrite(5,HIGH);
      digitalWrite(6,HIGH);
      digitalWrite(7,HIGH);
      digitalWrite(13,HIGH);
      digitalWrite(11,LOW);
      delay(r);
      digitalWrite(1,LOW);
      digitalWrite(2,LOW);
      digitalWrite(3,LOW);
      digitalWrite(4,LOW);
      digitalWrite(5,LOW);
      digitalWrite(6,LOW);
      digitalWrite(7,HIGH);
      digitalWrite(13,LOW);
      digitalWrite(11,HIGH);
      delay(r);              
    }
}

come sarebbe a dire ehhh?