Algoritmo
FlUXOgrama
Para termos a noção de como o projeto vai funcionar, fizemos um fluxograma simulando o código do varal.
Código
Este é o código utilizado no arduino presente no Varal Inteligente. o código funciona na linguagem arduino.
#include <Servo.h>
const int sensorChuvaPin = A0;
const int motorPin = 9;
const int tempoGiro = 2000; // 2 segundos
Servo motor;
bool chuvaDetected = false;
void setup() {
pinMode(sensorChuvaPin, INPUT);
motor.attach(motorPin);
}
void loop() {
if (!chuvaDetected) {
// Verifica se o sensor de chuva não está acionado
if (digitalRead(sensorChuvaPin) == LOW) {
chuvaDetected = true;
// Gira o motor para 180 graus
motor.write(180);
delay(tempoGiro);
motor.detach();
}
}
else {
// Verifica se o sensor de chuva foi ativado
if (digitalRead(sensorChuvaPin) == HIGH) {
chuvaDetected = false;
motor.attach(motorPin);
motor.write(0);
delay(500); // Tempo adicional para garantir a parada do motor
}
}
}