Bom dia pessoal... estou com um problema que gostaria de resolver, e se puderem me ajudar agradeço.
Estou com um projeto de um motor que é acionado de 2 em 2 horas. E junto com esse projeto gostaria de usar um sensor de temperatura e luminosidade.
No entanto, no código que eu fiz, o delay do motor interfere no datalogger dos sensores.
Gostaria que os sensores coletassem de 5 em 5 minutos, mas eles estão coletando os dados no tempo que defini para o motor.
Sou leigo em programação, conheço um pouco de eletrônica.
Alguém poderia me ajudar nesse problema?
Obrigado.
PS: Segue o código que fiz até então:
//Programa : Modulo Rele Arduino 2 canais com motores e sensores
//Autor : THIERRY
int sensor = 1; //Pino analógico em que o sensor está conectado.
int valorSensor = 0; //variável usada para ler o valor do sensor em tempo real.
const int LM35 = A0; // Define o pino que lera a saída do LM35 - sensor de temperatura
float temperatura; // Variável que armazenará a temperatura medida
int porta_rele1 = 7; //Porta ligada ao pino IN1 do modulo
int porta_rele2 = 8; //Porta ligada ao pino IN2 do modulo
void setup()
{
//Define pinos para o rele como saida
pinMode(porta_rele1, OUTPUT);
pinMode(porta_rele2, OUTPUT);
Serial.begin(9600); // inicializa a comunicação serial
}
void loop()
{
digitalWrite(porta_rele1, LOW); //Liga rele 1
digitalWrite(porta_rele2, HIGH); //Desliga rele 2
delay(7200000);
digitalWrite(porta_rele1, HIGH); //Desliga rele 1
digitalWrite(porta_rele2, LOW); //Liga rele 2
delay(20);
digitalWrite(porta_rele2, HIGH); //Desliga rele 2
delay(10000);
temperatura = (float(analogRead(LM35))*5/(1023))/0.01;
Serial.print("Temperatura: ");
Serial.println(temperatura);
//Lendo o valor do sensor.
int valorSensor = analogRead(sensor);
//Exibindo o valor do sensor no serial monitor.
Serial.println(valorSensor);
delay(300000);
}