problema con matrice led e sensore ultrasuoni

Ciao a tutti intanto premetto che non sono un pochino alle prime armi con la programmazione di arduino .. quindi se potete portate un pochina di pazienza.

Allora vi spiego il mio problema intanto come board uso arduino nano , un sensore ultrasuoni e una matrice led con 4 elementi, volevo fare una cosa di questo genere quando il sensore rileva una distanza inferiore a x parte una scritta sulla matrice, il tutto funziona appena parte, cioè il sensore rileva la distanza e quando è inferiore a X parte la scritta , il problema è ca la scritta continua ad andare in loop (vorrei che la ripetesse una sola volta )e il sensore rileva tutti valori sballati
vi allego il codice se potete mi date una mano a capire perchè e dove sbaglio

P2.ino (7.82 KB)

Devi fare in modo che le istruzioni della condizione

if (distanza <= 90){

vengano eseguite SOLO la prima volta che accade. Per far ciò crea una variabile booleana, ad es:

bool flag;

Inizializzala in setup()

flag = true;

La condizione diventa allora

if (distanza <= 90 && flag == true){
flag = false;

La condizione else diventa allora

}else if (distanza > 90){
flag = true;
}
else {
. . .

Così la prima volta la condizione trova distanza <= 90 e flag = true. Se la distanza continua a essere <= 90 la condizione non viene eseguita perché flag = false. Non appena distanza sarà > 90 tornerà flag = true e il ciclo si ripete. Posiziona correttamente le istruzioni del tuo attuale else, perché non sono in grado di provare niente.

Ciao,
P.