Spero di aver esposto il mio problema in maniera chiara e chiedo a voi di risolvermi questo piccolo problema dando un'occhiata al mio listato che, lo dico subito, è frutto di molti copia e incolla, al momento ho poche nozioni in virtù dell'approccio non proprio longevo ad arduino.
Codice: Seleziona tutto
#define A 8 //LED +10%
#define B 9 //LED +5%
#define C 10 //LED 230V
#define D 11 //LED -5%
#define E 12 //LED -10%
#define pulsI 13//PULSANTE INCREMENTO PERCENTUALE INGRESSO TRAFO
#define pulsD 14//PULSANTE DECREMENTO PERCENTUALE INGRESSO TRAFO
bool active = true;
int array1[] = {A, B, C, D, E};
int cont1;
int maxArray1, maxArray2;
void setup () {
pinMode (A, OUTPUT);
pinMode (B, OUTPUT);
pinMode (C, OUTPUT);
pinMode (D, OUTPUT);
pinMode (E, OUTPUT);
pinMode (pulsI, INPUT);
pinMode (pulsD, INPUT);
maxArray1 = 5;
maxArray2 = 0;
for (int i = 0; i < 5; i++) digitalWrite (array1[i], LOW);
for (int i = 5; i < 0; i--) digitalWrite (array1[i], LOW);
cont1 = 2;
digitalWrite (array1[cont1], HIGH);
}
void loop () {
if (digitalRead(pulsI) == HIGH) {
delay(100);
digitalWrite(array1[cont1], LOW); //spengo led corrente
cont1 = cont1 + 1; //incremento contatore led corrente
if (cont1 == maxArray1) //se il contatore è al massimo
{
;
}
digitalWrite(array1[cont1], HIGH); //accendi il nuovo led corrente
while (digitalRead(pulsI) == HIGH); //attendi il rilascio di BUTTON1
delay(100);
}
if (digitalRead(pulsD) == HIGH) {
delay(100);
digitalWrite(array1[cont1], LOW); //spengo led corrente
cont1 = cont1 - 1; //incremento contatore led corrente
if (cont1 == maxArray2) //se il contatore è al massimo
{
;
}
digitalWrite(array1[cont1], HIGH); //accendi il nuovo led corrente
while (digitalRead(pulsD) == HIGH); //attendi il rilascio di BUTTON1
delay(100);
}
}