Olá,

Tenho um código que encontrei na internet e tenho uma dúvida sobre uma parte do código.

int But = 2;     

boolean Do  = false;

else if (!digitalRead(But))
{
digitalWrite(Ts, HIGH);
Do = true;
delay (1);
i += 1;
}

Não entendi o que é verificado nesta parte "!digitalRead(But)", o But é um botão.

Exibições: 143

Responder esta

Respostas a este tópico

Post o código completo ou o link de onde o copiou, se não é impossível te ajudar, But poderia ter relação ou não com botão, o nome de uma variável inteira pode ser But ou banana e ambos estar relacionados com um botão, ou não.

Abs.

se o botão (But - 2) estiver em LOW ele vai entrar na condição.

ou seja:

if(digitalRead(But)){

   entra aqui se o botão estiver em HIGH

}

ou

if(!digitalRead(But)){

   entra aqui se o botão estiver em LOW

}

o "!" é uma condição de negação, então ele verifica o '0' do botão em low

Um exemplo típico se for botão seria este código completo Abaixo.

Este exemplo simulado pode ser visto neste vídeo no meu canal yt. https://www.youtube.com/watch?v=UPvm5EtmgxM

Código completo:

int botao = 8;

int lampada = 7;

int status_lamp = 0;

void setup()

{

pinMode(botao,INPUT);

pinMode(lampada,OUTPUT);

}

void loop()

{

if (digitalRead(botao) == HIGH)

{

delay(100);

status_lamp =! status_lamp;

digitalWrite(lampada,status_lamp);

}

}
 
 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço