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

    }

  }

}