Ciao a tutti, avrei bisogno di aiuto. Come da titolo vorrei accendere in sequenza i numeri da 0 a 9 di un display a sette segmenti, utilizzando un matrice formata da 10 colonne (i num. da 0-9) e 7 righe ( pin necessari per il display).
Nella parte Setup tramite un ciclo for imposto i pin come OUTPUT.
Nella parte Loop uso due variabili c (colonna) e r (riga)con du cicli for per muovermi nella matrice, e un terzo ciclo for per settare l'uscita dei 7 pin.
Il risultato è che cosi facendo quando carico lo sketch, si accendono tutti i 7 segmenti in sequenza e si spengono in sequenza in un loop infinito.
Sperando di essere stato chiaro allego anche lo sketch.
byte numSegmenti[10][7]={
{1,1,1,1,1,1,0}, //0
{0,1,1,0,0,0,0}, //1
{1,1,0,1,1,0,1}, //2
{1,1,1,1,0,0,1}, //3
{0,1,1,0,0,1,1}, //4
{1,0,1,1,0,1,1}, //5
{1,0,1,1,1,1,1}, //6
{1,1,1,0,0,0,0}, //7
{1,1,1,1,1,1,1}, //8
{1,1,1,1,0,1,1} //9
};
const int indicePin=7;
byte pinSegmenti[indicePin]={2,3,4,5,6,7,8};
int cont=0;
void setup() {
for(cont=0;cont<indicePin;cont++){
pinMode(pinSegmenti[indicePin],OUTPUT);
}
}
void loop() {
int c=0;
int r=0;
for(c=0;c<10;c++){
for(r=0;r<7;r++){
for(cont=0;cont<indicePin;cont++){
digitalWrite(pinSegmenti[cont],numSegmenti[c][r]);
delay(200);
}
}
}
}
Ringrazio tutti per le risposte\suggerimenti