pessoal fiz esse programinha para testar 2 condiçoes e acender um led se as 2 condiçoes forem verdadeiras somente mas não esta funcionando alguém tem ideia do porque?
obrigado
int input1 = 11;
int input2 = 12;
int output1 = 13;
void setup() {
pinMode(input1, INPUT);
pinMode(input2, INPUT);
pinMode(output1, OUTPUT);
}
void loop(){
if(input1==HIGH && input2==HIGH)
digitalWrite(output1, HIGH);
else
digitalWrite(output1, LOW);
delay(30000);
}
Tags:
também não funcionou usando os operadores | | , usando o programinha de debug mostra que esta tudo certo com as ligações setae e setad mudando para 1 quando em nivel alto... porém ao testar o meu programa ele executa a ação testada no if mesmo se setae ou somente setad estiver em alto quando deveriam estar o 2 ao mesmo tempo para que ação fosse executada,,,
quanto ao circuito é muito simples estou usando resistores de pulldown de 10k nos pinos 11 e 12 (setae e setad) para gnd, e vou tocando os 5v nos pinos para testar....
Amigo tente isso:
int setaePin = 11;
int setadPin = 12;
int homecomPin = 13;
int setae = 0;
int setad = 0;
void setup() {
pinMode(setaePin, INPUT);
pinMode(setadPin, INPUT);
pinMode(homecomPin, OUTPUT);
}
void loop(){
setae = digitalRead(setaePin);
setad = digitalRead(setadPin);
if (setae == HIGH && setad == HIGH) {
digitalWrite(homecomPin, HIGH);
}
else {
digitalWrite(homecomPin, LOW);
}
}
funcionou usando apenas & e nao && para comparar os 2 pinos, o problema agora é que eu quero que o pino 13 fique em high por 30s mas se usar delay vai bloquear a execução do programa e não quero isso porque vão ter outra ações para acontecer ao mesmo tempo.. como posso proceder??
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por