/******************************************************************************* * * HB 02 - Ascendendo leds com 4 botões * Sugerido por Sara Manoelle Santos Silva * http://squids.com.br/arduino * *******************************************************************************/ byte led[3] = {3, 4, 5}; // define os pinos Arduino para os leds byte button[4] = {8, 9, 10, 11}; //define os pinos Arduino para os botões byte x, y; void setup(void) { Serial.begin(9600); for (byte i=0;i<4;i++) { pinMode(button[i], INPUT_PULLUP); // define os botões como pull up interno } for (byte i=0;i<3;i++) { pinMode(led[i], OUTPUT); } } void loop(){ x = 0, y = 0; for (byte j=0;j<4;j++) { x = digitalRead(button[j]); // define o valor de y (0 se acionado e 1 se desligado) y = y + x; } Serial.println(y); // mostra o valor de x no monitor serial delay(100); acenderLeds(y); // chama a função acenderLeds e passa o valor de y } void acenderLeds(byte seletor) { // apaga todos leds for (byte k=0;k<3;k++) { digitalWrite(led[k],LOW); // apaga todos os leds } //seleciona qual led irá acender switch (seletor) { case 3: // 1 botão acionado digitalWrite(led[0],HIGH); // acende o led vermelho break; case 2: // 2 botões acionados digitalWrite(led[1],HIGH); // acende o led amarelo break; case 1: // 3 botões acionados digitalWrite(led[2],HIGH); // acende o led verde break; case 0: // 4 botões acionados for (byte k=0;k<3;k++) { digitalWrite(led[k],HIGH); //acende todos leds } break; } }