Queria fazer uma coluna piscar ao dar um click no botão. Fiz a programação e ela pisca, mas apenas quando eu seguro o push button!

alguma monoDica de como fazer ela piscar com um click?

abraços!

Exibições: 236

Anexos

Responder esta

Respostas a este tópico

Olá Guilherme,

Ao pressionar o botão, você deve fazer a coluna acender e então, ativar um delay> tipo assim...

Se botao == pressionado então

     ligar coluna

     aguardar...

     desligar coluna

fim se

Resumindo, você deve colocar o botão condicionado e então fazer uma pausa para manter acesa a coluna, apagar em seguida.

Estou usando um switch para deixar piscando, mas, quando aperto o botão em vez dele ''ficar'' no case piscando, ele apaga. só funciona se estiver apertando o botão

Bom dia Guilherme,

Tu vais precisar de um loop, usando como condicional, o botão. Algo assim:

...

Enquanto (não pressionar botao)

      Acender led;

      pausa

      Apagar led;

      pausa;

fim faça

Nesse ponto, tu controla outro loop aguardando pressionar o botao, para poder repetir o passo acima

Consegui um tempo aqui...

Veja se esse código lhe ajuda...

const int buttonPin = 2; // pino da chave
const int ledPin = 13; // pino do led
int estado = 0; // controla estado ligado/desligado

void setup() {

      pinMode(ledPin, OUTPUT);

      pinMode(buttonPin, INPUT);
}


void loop() {

      estado = digitalRead(buttonPin); // lê estado do pino 2

      // se pressionou pino 2, entra no loop
      if (estado == HIGH) {

            delay(100); // breve pausa para evitar o repique dos contatos
            estado = LOW; // forca estado para low

            // enquanto não pressionar o pino 2 novamente, permanece no loop
            while (estado == LOW) {


                   digitalWrite(ledPin, HIGH);
                   delay(100);
                   digitalWrite(ledPin, LOW);
                   delay(100);

                   // faz nova leitura do pino 2
                   estado = digitalRead(buttonPin);
             }


             estado = LOW; // forca estado para low
             delay(100); // breve pausa para evitar o repique dos contatos
        }

}

valeu!!

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço