Como acender 5 leds no arduino


#1

olá, estou enrolado com um código para acender 5 Leds

preciso acede-los da seguinte forma:

ao pressionar a tecla acende o LED1 permanentemente e os outros continuam apagados
ao pressionar novamente acende o LED2 permanentemente e os demais apagados

isso ate o LED5 e fica sempre repetindo, ou seja, cada vez que é pressionada a tecla comuta de um LED para outro.

obg desde já.


#2

Tem de ser obrigatoriamente usando Arduino ?
Não serve usando componentes discretos ?


#3

Sim, pq vou implementar o código pra outra coisa, mas quero primeiro testa-lo com leds, no fim vai ser mais ou menos a mesma coisa, meu projeto vai ser em Arduino.


#4

Ok, obrigado pelo esclarecimento… No quesito código eu não posso ajudar…


#5

Tudo bem, só a atenção dada já valeu o dia.

Obg.


#6

É que esses dias perguntaram como fazer um determinado circuito usando um Arduino, e dava para resolver com três transistores e meia duzia de resistores… Algo em torno de R$ 5 de material…


#7

Isso é bastante simples. Você śo tem que criar uma variável global do tipo byte para incrementar a cada apertada do botão. depois faz um loop dessa variável a acende os leds. por exemplo:

byte counter =0;
byte leds[5] = {2,3,4,5,6}; //pinos dos leds
void setup(){
   for (byte i=0;i<5;i++){
      pinMode(i,OUTPUT);
      digitalWrite(i,LOW);
   }
}

Na função loop, simplesmente rode outro loop para acender os LEDs:

void loop(){
    for (byte i=0;i<counter;i++){
        digitalWrite(i,HIGH);
   }
   for (byte i=5;i>counter-1;i--){
       digitalWrite(i,LOW);
   }
}

Em relação ao botão, sugiro que utilize interrupções para fazer o incremento. Você pode ver como fazer por esse artigo:


#8

Vou dá uma estudada e retorno.

Obg amigo.


#9

Pequena correção, não faltou indicar o vetor no laço, dessa forma?


#10

isso, escrevi rapidinho, bom vc ter apontando.