/* Programa: Sensor de Umidade do Solo */
/* Definições de pinos para o sensor e para os LEDs */
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
#define pino_Sensor A0
#define pino_LED_Verde 3
#define pino_LED_Vermelho 4
/* Porcentagem de umidade mínima para iniciar a irrigação */
int Valor_Critico = 45;
/* Variável para armazenar o valor analógico do sensor */
int ValAnalogIn;
void setup() {
// inicializa o display oled
display.begin(SSD1306_SWITCHCAPVCC, 0X3C);
// seta a cor do display
display.setTextColor(1);
/* Configura os pinos dos LEDs como saída */
pinMode(pino_LED_Verde, OUTPUT);
pinMode(pino_LED_Vermelho, OUTPUT);
} /* End Setup */
void loop() {
/* Realiza a leitura do sensor e armazena o valor na
variável ValAnalogIn */
ValAnalogIn = analogRead(pino_Sensor);
// seta o ponto inicial de escrita da primeira palavra
display.setCursor(10, 10);
/* Define o tamanho da fonte. */
display.setTextSize(2);
/* Imprime a palavra PAINEL DE SENHAS */
/* Converte o valor analógico para porcentagem */
int Porcento = map(ValAnalogIn, 1023, 0, 0, 100);
/* Imprime o valor em Porcento no monitor Serial */
display.print(Porcento);
/* Imprime o símbolo junto ao valor encontrado */
display.println("%");
/* Se a porcentagem for menor ou igual ao valor definido */
if (Porcento <= Valor_Critico) {
/* Imprime a frase no monitor serial */
display.setCursor(25, 30);
display.println("Umidade baixa!");
/* Acende o LED Vermelho */
digitalWrite(pino_LED_Vermelho, HIGH);
/* Apaga o LED Verde */
digitalWrite(pino_LED_Verde, LOW);
} /* End if */
/* Se não... */
else {
/* Imprime a frase no monitor serial */
display.setCursor(25, 30);
display.println("Umidade Adequada...");
/* Acende o LED Verde */
digitalWrite(pino_LED_Verde, HIGH);
/* Apaga o LED Vermelho */
digitalWrite(pino_LED_Vermelho, LOW);
} /* End else */
/* Aguarda 1 segundo para reinicializar a nova leitura */
display.display();
/* Limpa o display para a próxima atualização*/
display.clearDisplay();
delay (1000);
}/* End Loop */