/*
Faça uma programa na IDE Arduino onde usa um sensor de temperatura LM35 onde com 20°c liga uma saída e com 35°C desliga essa saída ,e usa um sensor de umidade de solo que liga uma saída quando a úmida está com 30% e desliga quando chegar a 90% .
*/
// Definindo os pinos para os sensores e saídas
const int tempPin = A0; // Pino do sensor de temperatura LM35
const int humPin = A1; // Pino do sensor de umidade do solo
const int outputTempPin = 7; // Pino de saída para controle baseado na temperatura
const int outputhumPin = 8; // Pino de saída para controle baseado na umidade do solo
// Definindo os limites de temperatura e umidade
const float tempOn = 20.0; // Temperatura para ligar a saída
const float tempOff = 200.0; // Temperatura para desligar a saída
const int humOn = 30; // Umidade do solo para ligar a saída
const int humOff = 90; // Umidade do solo para desligar a saída
void setup() {
// Inicializando os pinos de saída
pinMode(outputTempPin, OUTPUT);
pinMode(outputhumPin, OUTPUT);
// Inicializando a comunicação serial
Serial.begin(9600);
}
void loop() {
// Leitura do sensor de temperatura
int temp = analogRead(tempPin);
float temperature = (temp * 5.0 * 100.0) / 1024.0;
// Leitura do sensor de umidade do solo
int hum = analogRead(humPin);
int umidade = map(hum, 0, 1023, 0, 100);
// Controle baseado na temperatura
if (temperature <= tempOn && temperature < tempOff) {
digitalWrite(outputTempPin, HIGH);
} else if (temperature >= tempOff) {
digitalWrite(outputTempPin, LOW);
}
// Controle baseado na umidade do solo
if (umidade <= humOn) {
digitalWrite(outputhumPin, HIGH);
} else if (umidade >= humOff) {
digitalWrite(outputhumPin, LOW);
}
Serial.println("");// Pula 1 linha
// Impressão dos valores no monitor serial
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println("°C ");
if(digitalRead(outputTempPin) == HIGH)
{
Serial.println("Lampada e ventilador ligados!!!");
}
else{
Serial.println("Lampada e ventilador desligados!!!");
}
Serial.println("");// Pula 1 linha
Serial.print("Umidade: ");
Serial.print(umidade);
Serial.println("%");
if(digitalRead(outputhumPin) == HIGH)
{
Serial.println("Bomba de irrigacao ligada!!!");
}
else{
Serial.println("Bomba de irrigacao desligada!!!");
}
// Atraso para a próxima leitura
delay(1000);
}