Ir ao conteúdo

Posts recomendados

Postado

Estou tentando fazer com que um LED ligue caso o valor que eu colocar na serial for maior que a temperatura que ele está medindo.

O problema é que está ligando sempre. Caso eu tire o if(Serial.available() > 0) liga sempre também mas desliga depois de um tempo. Alguém poderia me ajudar? 

 

const int LM35 = A0; 
float temperatura;

void setup() {
  
Serial.begin(9600);
pinMode(13, OUTPUT);
  
}

void loop() {
 
temperatura = (float(analogRead(LM35))*5/(1023))/0.01;

Serial.print("Temperatura: ");  
Serial.println(temperatura);
delay(2000);


if(Serial.available() > 0){
    
  if(temperatura <= Serial.read()){
    digitalWrite(13, HIGH);
  }
  else if(temperatura > Serial.read()){
    digitalWrite(13, LOW);
  }
}
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...