int Portas[] = {2,3,4,5};

void setup() {
 for(int np = 0; np <= 3; np++){
   pinMode(Portas[np], OUTPUT);
   digitalWrite(Portas[np], LOW);
 }
}

void loop() {
for(int np = 0; np <= 3; np++){
digitalWrite(Portas[np], HIGH);
delay(500);
if (np - 1 == -1){digitalWrite(Portas[np + 3], LOW);} else {
digitalWrite(Portas[np - 1], LOW);
}

}


}
// Definindo os pinos
const int pinLed1 = 8;  // LED 1 (rotação para um lado)
const int pinLed2 = 9;  // LED 2 (rotação para o outro lado)
const int pinScrollA = 2; // Entrada do Scroll A (encoder)
const int pinScrollB = 3; // Entrada do Scroll B (encoder)

int lastStateA;  // Armazena o último estado do pino A
int currentStateA;  // Estado atual do pino A

void setup() {
  // Configurando os pinos dos LEDs como saída
  pinMode(pinLed1, OUTPUT);
  pinMode(pinLed2, OUTPUT);
  
  // Configurando os pinos do scroll como entrada
  pinMode(pinScrollA, INPUT);
  pinMode(pinScrollB, INPUT);
  
  // Inicializando o estado anterior do pino A
  lastStateA = digitalRead(pinScrollA);
}

void loop() {
  // Ler o estado atual do pino A
  currentStateA = digitalRead(pinScrollA);
  
  // Detectar mudança de estado em A
  if (currentStateA != lastStateA) {
    // Verificar a direção da rotação
    if (digitalRead(pinScrollB) != currentStateA) {
      // Rotação para um lado (Scroll para cima)
      digitalWrite(pinLed1, HIGH); // Acende LED 1
      digitalWrite(pinLed2, LOW);  // Apaga LED 2
    } else {
      // Rotação para o outro lado (Scroll para baixo)
      digitalWrite(pinLed1, LOW);  // Apaga LED 1
      digitalWrite(pinLed2, HIGH); // Acende LED 2
    }
  }
  
  // Atualiza o último estado do pino A
  lastStateA = currentStateA;
}