Como detectar falha no modulo MQ2( gás fumaça) e no LM35 ( sensor de temperatura) com Arduino Uno R3

Boa noite galera, sou novo no Arduino, e estou fazendo um projeto com tolerância a falhas, gostaria da ajuda dos veterano, como eu poderia detectar uma falha no Modulo, ambos usando portas analógicas, acho eu que teria como, através de questões de variações de volts…, Teria como ? e como eu poderia implementar ? (Tanto para o MQ2 quando para o LM35).eu já fiz o código abaixo, teria como adicionar mais erros ? 

Para o modelo LM35 estou usando assim:
String le_temperatura() {
float temp=0;
String temperatura;
// vai repetir 21 vezes para fins de deixar mais preciso o resultado pois ele tem uma variação de 0,41°C por leitura
for(int i=0;i<20;i++){
temp = temp +(float(analogRead(LM35)) * 5 / (1024)) / 0.01;
}
temp = temp/21;

// AQUI VERIFICA SE ESTÁ FORA DOS PADRÕES DE TEMPERATURA
if ( (temp < -56) || (temp > 156) ) {
if (temp > 200) {
temperatura = “ERRO POLO NEGATIVO SEM ENERGIZAÇÃO FINAL”;
} else {
temperatura = “ERRO NÃO IDENTIFICADO PELO ARDUINO”;
}
//tipo eu gostaria de identificar mais erros,por exemplo e se ele parar de funcionar totalmente a temperatura exibida é 0, como eu poderia tratar esse erro (lugares frios a temperatura tende a ficar em 0)? seria possível através de alguma tensão de retorno ( ou não usada)? e como expressar isso no código ? e se o polo positivo desce problema como eu poderia identificar em código ?

JÁ NO MQ2:
String le_gas() {
int digital,analogico;
String aviso;
digital = digitalRead(MQ2_D);
// Aqui utilizei o analogico para fins de testar se o mesmo tem algum erro de energização (o analogico exibe em porcentagem quando maior mais é a porcentagem
// se ela estiver em 0 é pq não está funcionando no minimo sempre 3 a 10
analogico = analogRead(MQ2_A);
analogico = map(analogico, 0, 1023, 0, 100); //Faz a conversão da variável para porcentagem

//se valor for == 0 é porque tem gas no ambiente
if (analogico <=0){
return aviso = “ERRO POLO POSITIVO SEM ENERGIZAÇÃO”
}
if (analogico >100){
return aviso = “ERRO NO DISPOSITIVO DE GAS NÃO DETECTADO PELO ARDUINO”
}

if (digital == 0) {
return aviso = “COM FUMACA/GAS”;
} else {
return aviso = “SEM FUMACA/GAS”;
}
}
Assim como no MQ2 como eu poderia identificar se ele não estiver com o polo negativo conectado, ou o mq2 parede de funcionar ? ou problemas na porta analógica ou digital ?

Essa é minha duvida, como implementar no código…
Muito obrigado mesmo pela atenção de todos os colegas…

Exibições: 204

Responder esta

Respostas a este tópico

Boa noite, 

Faça a sua montagem e teste os sensores. 

Solte um fio de cada vez e veja o seu programa detecta a falha

LM35

http://www.ti.com/lit/ds/symlink/lm35.pdf

Sensor MQ2

http://wiki.seeedstudio.com/Grove-Gas_Sensor-MQ2/

Bom dia IB,

sugiro que vc  leia Sugestão, em seguida remova o código da area de texto do tópico e

anexe um arquivo contendo o mesmo.

RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço