Carissimi amici di Arduino, ho collegato SETTE display seven segment a Catodo Comune, alimentati a 5V, con DD,DC,DB,DA in comune e gli EL (Enable liberi).
Ho creato una scheda-pannello, con sette indicatori (Seven Segment Display), del tipo TFK-639 a catodo comune, sono messi uno accanto all'altro. I display sono pilotati dal “driver-decoder HC4511, ed a monte da ARDUINO NANO
Ho attivato tutti e sette i display, con un settaggio ed un programma specifico. Questa applicazione, l'ho immaginata,per creare un contasecondi.. Nello sketch sono evidenziati le varie fasi di abilitazione e visualizzazione. Il settaggio avviene, ponendo DD= HIGH, DC =HIGH, DB= LOW, DA 0= LOW (Blank).
Nel medesimo tempo, che ho ridotto a 100 millisecondi, avviene l'abilitazione degli ENABLE, che, nel caso specifico vanno da EL1 A EL7. Dopo tale fase , avviene la visualizzazione vera e propria, che ho stimato in 900 mS, per recuperare il ritardo di settaggio. Quindi avviene il conteggio da 1 a 0 (10) , che cronometro alla mano, corrisponde ad un conteggio di secondi.
DOMANDA: Avete idee su come ridurre le linee di programma, ovvero renderlo più snello?
Grazie
void setup()
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
}
void loop()
{
digitalWrite(2,HIGH);//D//BLANKINGH - 1 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
//ABILITAZIONE-EL//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZAZIONE NUMERO 1 //
digitalWrite(2,LOW); //1//D//
digitalWrite(3,LOW);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,HIGH);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);//STOP VISUALIZZAZIONE-1//
digitalWrite(2,HIGH);//D//BLANKINGH - 2 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
//ABILITAZIONE-NUMERO 2//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);//SPENTO//
digitalWrite(2,LOW);//2//VISUALIZZAZIONE-2-//
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);//STOP VISUALIZZAZIONE//
digitalWrite(2,HIGH);//D//BLANKINGH - 3 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZIONE NUMERO 3 //
digitalWrite(2,LOW);//3//
digitalWrite(3,LOW);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);
//STOP VISUALIZZAZIONE-3-//
digitalWrite(2,HIGH);//D//BLANKINGH - 4 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZZIONE NUMERO 4//
digitalWrite(2,LOW);//4//
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);
//STOP NUMERO 4 //
digitalWrite(2,HIGH);//D//BLANKINGH - 5 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZAZIONE NUMERO 5 //
digitalWrite(2,LOW);//5//
digitalWrite(3,HIGH);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay (900);
//STOP VISUALIZZAZIONE NUMERO 5//
digitalWrite(2,HIGH);//D//BLANKINGH - 6 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZAZIONE 6 //
digitalWrite(2,LOW);//6//
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,LOW);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);
//STOP VISUALIZZAZIONE 6//
digitalWrite(2,HIGH);//D//BLANKINGH - 7 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZAZIONE 7 //
digitalWrite(2,LOW);//7//
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);
//STOP VISUALIZZIONE 7//
digitalWrite(2,HIGH);//D//BLANKINGH - 8 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZAZIONE 8 //
digitalWrite(2,HIGH);//8//
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);
//STOP 8 //
digitalWrite(2,HIGH);//D//BLANKINGH - 9 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZIONE 9//
digitalWrite(2,HIGH);//9//
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,HIGH);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(900);
//STOP VISUALIZZIONE 9//
digitalWrite(2,HIGH);//D//BLANKINGH - 10 //
digitalWrite(3,HIGH);//C//
digitalWrite(4,LOW);//B//
digitalWrite(5,LOW);//A//
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(100);
//VISUALIZZAZIONE 10//
digitalWrite(2,LOW);//10//
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6, LOW);//EL1//
digitalWrite(7,LOW);//EL2//
digitalWrite(8,LOW);//EL3//
digitalWrite(9,LOW);//EL4//
digitalWrite(10,LOW);//EL5//
digitalWrite(11,LOW);//EL6//
digitalWrite(12,LOW);//EL7//
delay(5000);
}