Il display a 7 segmenti è tra i devici elettronici più usati nella realizzazione di orologi, eliminacode e dove sia necessario, principalmente un valore numerico. In genere viene accoppiato ad altri display in modo tale da aumentare il numero di cifre. E’ anche possibile usare lettere e simboli. Il tutto avviene tramite l’accensione dei segmenti luminosi.
Cosa serve?
- Arduino (o compatibile)
- 9 Cavi
- Breadboard
- 1 Display a 7 segmenti
- Alimentazione (cavo usb, batteria da 9V o trasformatore sempre da 9V)
- Computer (Per programmare il software Arduino)
Come fare?
Collegare uno schermo a 7 segmenti è molto facile. Il componente elettronico si presenta con 10 pin, cinque nella parte alta e altrettanti in quella bassa. Si può distinguere la parte superiore da quella inferiore, poiché in quest’ultima è presente il punto sul display.
Il pin centrale della parte superiore del visualizzatore a 7 segmenti va collegato alla massa di Arduino. Poi partendo dal primo da sinistra a destra – sempre della parte alta – connetterlo al pin 2, il successivo al pin 3 e così via. Conclusa la prima parte scendere e, questa volta partendo da destra a sinistra – saltando però il pin centrale – connettere i pin 7,8,9 e 10. Terminato il cablaggio, caricare il programma. Nell’esempio sotto verrà visualizzato, un contatore da zero a nove seguito dalla scritta ciao a ciclo continuo.
int G=2;
int F=3;
int A=4;
int B=5;
int DP=6;
int C=7;
int D=8;
int E=9;
void setup(){
pinMode(G, OUTPUT);
pinMode(F, OUTPUT);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(E, OUTPUT);
pinMode(D, OUTPUT);
pinMode(C, OUTPUT);
pinMode(DP, OUTPUT);
}
void zero(){
digitalWrite(G, LOW);
digitalWrite(F, HIGH);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(E, HIGH);
digitalWrite(D, HIGH);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void uno(){
digitalWrite(G, LOW);
digitalWrite(F, LOW);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(E, LOW);
digitalWrite(D, LOW);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void due(){
digitalWrite(G, HIGH);
digitalWrite(F, LOW);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(E, HIGH);
digitalWrite(D, HIGH);
digitalWrite(C, LOW);
digitalWrite(DP, LOW);
}
void tre(){
digitalWrite(G, HIGH);
digitalWrite(F, LOW);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(E, LOW);
digitalWrite(D, HIGH);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void quattro(){
digitalWrite(G, HIGH);
digitalWrite(F, HIGH);
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(E, LOW);
digitalWrite(D, LOW);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void cinque(){
digitalWrite(G, HIGH);
digitalWrite(F, HIGH);
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(E, LOW);
digitalWrite(D, HIGH);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void six(){
digitalWrite(G, HIGH);
digitalWrite(F, HIGH);
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(E, HIGH);
digitalWrite(D, HIGH);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void sette(){
digitalWrite(G, LOW);
digitalWrite(F, LOW);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(E, LOW);
digitalWrite(D, LOW);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void otto(){
digitalWrite(G, HIGH);
digitalWrite(F, HIGH);
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(E, HIGH);
digitalWrite(D, HIGH);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void nove(){
digitalWrite(G, HIGH);
digitalWrite(F, HIGH);
digitalWrite(A,HIGH);
digitalWrite(B, HIGH);
digitalWrite(E, LOW);
digitalWrite(D, HIGH);
digitalWrite(C, HIGH);
digitalWrite(DP, LOW);
}
void lettera_C(){
digitalWrite(A, HIGH);
digitalWrite(B, LOW);
digitalWrite(C, LOW);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(DP, LOW);
}
void lettera_I(){
digitalWrite(A, LOW);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, LOW);
digitalWrite(F, LOW);
digitalWrite(G, LOW);
digitalWrite(DP, LOW);
}
void lettera_A(){
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, LOW);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, HIGH);
digitalWrite(DP, LOW);
}
void lettera_O(){
digitalWrite(A, HIGH);
digitalWrite(B, HIGH);
digitalWrite(C, HIGH);
digitalWrite(D, HIGH);
digitalWrite(E, HIGH);
digitalWrite(F, HIGH);
digitalWrite(G, LOW);
digitalWrite(DP, LOW);
}
void loop(){
zero();
delay(1000);
uno();
delay(1000);
due();
delay(1000);
tre();
delay(1000);
quattro();
delay(1000);
cinque();
delay(1000);
six();
delay(1000);
sette();
delay(1000);
otto();
delay(1000);
nove();
delay(1000);
lettera_C();
delay(1000);
lettera_I();
delay(1000);
lettera_A();
delay(1000);
lettera_O();
delay(1000);
}
UN GRAZIE A TUTTI SPERANDO CHE I CANALI DTT SI VEDANO .
Come si riesce a capire se un tuo articolo è stato scelto ma non riconosciuto il compenso ?
Salve a tutti io sono in Italia e ho un conto banco posta ho associato al mio c/c un nuovo…
devo accettare il mifid posta x fare l isee dal sito
Dalla seconda in poi non mette il nome, ma mette il numero progressivo tra parentesi, poichè trova i link precedenti…