Olá,
Estou com um pequeno problema para completar meu código, ele funciona assim:
Ao receber um caractere pela serial ele executa determinada função, mas estou com um problema na segunda função que seria de colocar luzes para fazer um acendimento automático com a falta de luz medida por um ldr, mas do modo que está no código apenas quando eu coloco para ele realizar a função ele a realiza, ou seja, mesmo escuro ele só acende se eu mandar ele ficar automático e não como deveria ser.
É só um probleminha na logica, mas probleminha que eu não consigo resolver
E se souberem poderiam me dar uma dica de como selecionar o tanto de casas após a virgula em uma variável flutuante (float).
Obrigado
#include<dht11.h>
dht11 sensor;
int ldr = 0;
int tcl;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
Serial.println("Digite o que vc deseja: ");
Serial.println("a - Ligar ou desligar a luz");
Serial.println("b - Luzes automaticas");
Serial.println("c - Exibir informacoes");
Serial.println("d - Ligar ou desligar o ventilador");
}
void loop() {
ldr = analogRead(A0);
ldr = map(ldr, 0, 1024, 0, 100);
if(Serial.available()>0){
tcl = Serial.read();
if (tcl == 'a'){
if (digitalRead(13) == 0){
digitalWrite(13, HIGH);
}
else if(digitalRead(13) == 1){
digitalWrite(13, LOW);
}
}
if (tcl == 'b'){
if (ldr <= 40){
digitalWrite(13, HIGH);
}
else if(ldr > 70) {
digitalWrite(13, LOW);
}
}
if(tcl == 'c'){
Serial.print("Luminosidade: ");
Serial.print(ldr);
Serial.println(" %");
int chk = sensor.read(3);
Serial.print("Umidade (%): ");
Serial.println((float)sensor.humidity, 3);
Serial.print("Temperatura (Celcius): ");
Serial.println((float)sensor.temperature, 3);
tcl = '-';
}
if(tcl == 'd'){
if (digitalRead(12) == 0){
digitalWrite(12, HIGH);
}
else if(digitalRead(13) == 1){
digitalWrite(12, LOW);
}
}
}
}
Tags:
ou melhor:
faça
if (tlc!='a') {...
Continuou a mesma coisa só que agora está escrito um pouco diferente
Manda o código completo novamente... manda um anexo que é mais fácil de visualizar, pois abro na IDE do arduino. Dá pra fazer isso?
ta ai em anexos, é só baixar
Testa esse programa, vê se funciona... tá em anexo
Valeu cara, funcionou, agradeço muito
Por nada, cara. Bom trabalho pra vc!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por