//Bibliotecas
#include <Wire.h>
#include <Ultrasonic.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <EEPROM.h>
//Parametros do display
const char irrig [10] = "Irrigando";
const char run [10] = "caminhando";
#define SCREEN_WIDTH 128 // Largura do display
#define SCREEN_HEIGHT 64 // Altura do display
#define SCREEN_ADDRESS 0x3C // Endereço do display (tente trocar por 0x3D se não funcionar)
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
//Parametros do sensor ultrassonico
Ultrasonic ultrassom(10,11);
long distancia;
#define TRIGGER_PIN 10 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 100 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.
//Parametrização dos pinos
#define bt_stop 2
#define bt_emer 3
#define led_agua 4
#define fx 5
#define led_emer 6
#define bt_start 7
#define stepPin 8
#define dirPin 9
#define TRIGGER_PIN 10
#define ECHO_PIN 11
#define led_liga 12
#define bt_reset 14
#define led_reset 15
#define enable 16
#define buzzer 24
#define aqua 26
#define bt_tela 30
#define dirPin2 31
#define stepPin2 33
//Condições basicas
int start;
int reset;
int emerg;
//Armazenamento de agua
int tanque, tamanho, visual, real;
//passos dos motores
int motordir;
//Variaveis para uso grafico
int mi1, mi2, mi3, i2;
int r1, r2, r3;
int i, i1max, i1min, i2max, i2min, i3max, i3min;
int temptela;
int maxi, mini,maxi2, mini2,maxi3, mini3;
//Imagem de nuvem em hexa
const unsigned char image_data_chuva [] PROGMEM = {
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x00, 0x00, 0x00,
0x01, 0xf0, 0x00,
0x03, 0x18, 0x00,
0x06, 0x1e, 0x00,
0x3c, 0x03, 0x80,
0x60, 0x00, 0xc0,
0x40, 0x00, 0x40,
0x60, 0x00, 0x40,
0x30, 0x07, 0xc0,
0x1e, 0x04, 0x00,
0x03, 0x8c, 0x00,
0x20, 0xf8, 0x00,
0x24, 0x01, 0x00,
0x24, 0x61, 0x00,
0x00, 0x25, 0x00,
0x01, 0x24, 0x00,
0x11, 0x04, 0x00,
0x11, 0x00, 0x00
};
//linha apagada
const unsigned char linha [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup()
{
i=1;
temptela=0;
//LEDS
pinMode(led_liga, OUTPUT);
pinMode(led_emer, OUTPUT);
pinMode(led_reset, OUTPUT);
pinMode(led_agua, OUTPUT);
//relé
pinMode(aqua, OUTPUT);
//motores
pinMode(stepPin2, OUTPUT);
pinMode(dirPin2, OUTPUT);
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(enable, OUTPUT);
//Botoes de comando
pinMode(bt_start, INPUT_PULLUP);
pinMode(bt_reset, INPUT_PULLUP);
pinMode(bt_stop, INPUT_PULLUP);
pinMode(bt_emer, INPUT_PULLUP);
pinMode(bt_tela, INPUT_PULLUP);
pinMode(fx, INPUT_PULLUP); //Fim de curso eixo X
//Extras
pinMode(buzzer, OUTPUT);
//Inicia a comunicação serial em uma frequencia de 9600
Serial.begin (9600);
//Estabelece as interrupções externas do programa
attachInterrupt(0,stop_all,CHANGE); //Configurando a interrupção
attachInterrupt(1,emer,FALLING); //Configurando a interrupção
// Inicializa o display
if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS))
{
Serial.println(F("Erro na inicialização!"));
while(1);
}
// Configuração do texto
display.setTextSize(1); // Tamanho
display.setTextColor(1); // Cor
display.setCursor(4, 8); // Cursor pode ir de 0,0 a 128,32
display.print("HELLO");
display.setCursor(4, 16);
display.print("WORD!");
// Atualiza todas as mudanças
display.display();
//Limpa o display
display.clearDisplay();
display.display();
}
//Comando de reset de programa
void(*resetFunc)(void)=0;
void stop_all()
{ //Função executada quando ocorre a interrupção externa
start=0;
}
void emer()
{ //Função executada quando ocorre a interrupção externa
start=0;
motordir=0;
reset=0;
emerg=1;
digitalWrite (enable, HIGH);
digitalWrite (led_agua, LOW);
digitalWrite (aqua, LOW);
digitalWrite (led_liga, LOW);
digitalWrite(led_emer, HIGH);
resetFunc();
}
// programa que rodara em loop
void loop()
{
if (digitalRead(led_emer)==HIGH)
{
while (digitalRead(bt_emer)==0)
{
tone(24,900,1500);
display.clearDisplay();
display.setTextSize(1);
display.setCursor(30,30);
display.print("Emergencia");
display.setCursor(30,40);
display.println("acionada");
display.display();
digitalWrite (led_reset, HIGH);
}
}
if ((start)==0)
{
digitalWrite (led_agua, LOW);
digitalWrite (aqua, LOW);
digitalWrite (led_liga, LOW);
}
if (digitalRead(bt_emer)==1 && digitalRead(bt_reset)==0)
{
emerg=0;
reset=1;
digitalWrite (led_reset, LOW);
digitalWrite (led_emer, LOW);
}
if ((reset)==0)
{
Serial.println(i);
display.clearDisplay();
display.setTextSize(1);
display.setCursor(20,20);
display.print("aperte o");
display.setCursor(20,30);
display.print("botao reset");
display.display();
digitalWrite (led_reset, HIGH);
}
if(digitalRead(bt_tela)==0 && (reset)==1)
{
Serial.println(temptela);
temptela++;
delay(250);
}
if (digitalRead(bt_tela)==1 && (temptela)<=4 && (temptela)>=1)
{
i++;
temptela=0;
}
if (digitalRead(bt_tela)==1 && (temptela)>=4)
{
i--;
temptela=0;
}
if(digitalRead(bt_tela)==1 && (i)==8)
{
i=0;
temptela=0;
}
if(digitalRead(bt_tela)==1)
{
//temptela=0;
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==0)
{
Serial.println(temptela);
display.clearDisplay();
display.setTextSize(1);
display.setCursor(5,5);
display.print("maquina");
display.setCursor(5,15);
display.print("desligada");
display.setCursor(70,8);
display.print("I1_");
display.setCursor(90,3);
display.print(i1max);
display.print("%max");
display.setCursor(90,13);
display.print(i1min);
display.print("%min");
display.setCursor(70,28);
display.print("I2_");
display.setCursor(90,23);
display.print(i2max);
display.print("%max");
display.setCursor(90,33);
display.print(i2min);
display.print("%min");
display.setCursor(70,48);
display.print("I3_");
display.setCursor(90,43);
display.print(i3max);
display.print("%max");
display.setCursor(90,53);
display.print(i3min);
display.print("%min");
display.display();
digitalWrite (led_reset, LOW);
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==1)
{
Serial.println(i);
display.clearDisplay();
i1max=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("maximo");
display.setCursor(70,8);
display.print("I1_");
display.setCursor(90,3);
display.print(i1max);
display.print("%max");
display.display();
while((i1max)==0)
{
Serial.println(i);
display.clearDisplay();
i1max=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("maximo");
display.setCursor(70,8);
display.print("I1_");
display.setCursor(90,3);
display.print(i1max);
display.print("%max");
display.setCursor(0,30);
display.print("este valor");
display.setCursor(0,40);
display.print("deve ser");
display.setCursor(0,50);
display.print("maior");
display.display();
}
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==2)
{
Serial.println(i);
display.clearDisplay();
i1min=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("minimo");
display.setCursor(70,8);
display.print("I1_");
display.setCursor(90,3);
display.print(i1max);
display.print("%max");
display.setCursor(90,13);
display.print(i1min);
display.print("%min");
display.display();
while ((i1min)>=i1max)
{
display.clearDisplay();
display.setCursor(0,30);
display.print("este valor");
display.setCursor(0,40);
display.print("deve ser");
display.setCursor(0,50);
display.print("menor");
Serial.println(i);
i1min=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("preset");
display.setCursor(5,15);
display.print("minimo");
display.setCursor(70,8);
display.print("I1_");
display.setCursor(90,3);
display.print(i1max);
display.print("%max");
display.setCursor(90,13);
display.print(i1min);
display.print("%min");
display.display();
}
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==3)
{
Serial.println(i);
display.clearDisplay();
i2max=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("maximo");
display.setCursor(70,28);
display.print("I2_");
display.setCursor(90,23);
display.print(i2max);
display.print("%max");
display.display();
while((i2max)==0)
{
Serial.println(i);
display.clearDisplay();
i2max=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("maximo");
display.setCursor(70,28);
display.print("I2_");
display.setCursor(90,23);
display.print(i2max);
display.print("%max");
display.setCursor(0,30);
display.print("este valor");
display.setCursor(0,40);
display.print("deve ser");
display.setCursor(0,50);
display.print("maior");
display.display();
}
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==4)
{
Serial.println(i);
display.clearDisplay();
i2min=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("minimo");
display.setCursor(70,28);
display.print("I2_");
display.setCursor(90,23);
display.print(i2max);
display.print("%max");
display.setCursor(90,33);
display.print(i2min);
display.print("%min");
display.display();
while ((i2min)>=i2max)
{
display.clearDisplay();
display.setCursor(0,30);
display.print("este valor");
display.setCursor(0,40);
display.print("deve ser");
display.setCursor(0,50);
display.print("menor");
Serial.println(i);
i2min=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("minimo");
display.setCursor(70,28);
display.print("I2_");
display.setCursor(90,23);
display.print(i2max);
display.print("%max");
display.setCursor(90,33);
display.print(i2min);
display.print("%min");
display.display();
}
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==5)
{
Serial.println(i);
display.clearDisplay();
i3max=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("maximo");
display.setCursor(70,48);
display.print("I3_");
display.setCursor(90,43);
display.print(i3max);
display.print("%max");
display.display();
while((i3max)==0)
{
Serial.println(i);
display.clearDisplay();
i3max=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("maximo");
display.setCursor(70,48);
display.print("I3_");
display.setCursor(90,43);
display.print(i3max);
display.print("%max");
display.setCursor(0,30);
display.print("este valor");
display.setCursor(0,40);
display.print("deve ser");
display.setCursor(0,50);
display.print("maior");
display.display();
}
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==6)
{
Serial.println(i);
display.clearDisplay();
i3min=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("minimo");
display.setCursor(70,48);
display.print("I3_");
display.setCursor(90,43);
display.print(i3max);
display.print("%max");
display.setCursor(90,53);
display.print(i3min);
display.print("%min");
display.display();
while ((i3min)>=i3max)
{
display.clearDisplay();
display.setCursor(0,30);
display.print("este valor");
display.setCursor(0,40);
display.print("deve ser");
display.setCursor(0,50);
display.print("menor");
Serial.println(i);
i3min=analogRead(A3)*0.09765625;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("minimo");
display.setCursor(70,48);
display.print("I3_");
display.setCursor(90,43);
display.print(i3max);
display.print("%max");
display.setCursor(90,53);
display.print(i3min);
display.print("%min");
display.display();
}
}
if (digitalRead(bt_emer)==1 &&(reset)==1 && (start)==0 && (i)==7)
{
Serial.println(i);
display.clearDisplay();
tamanho=analogRead(A3)*0.0977517106549365;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("de profundidade");
display.setCursor(10,45);
display.print("tanque_");
display.print(tamanho);
display.print(" cm");
display.display();
while ((tamanho)==0)
{
display.clearDisplay();
tamanho=analogRead(A3)*0.0977517106549365;
display.setCursor(5,5);
display.print("parametro");
display.setCursor(5,15);
display.print("de profundidade");
display.setCursor(10,45);
display.print("tanque_");
display.print(tamanho);
display.print(" cm");
display.setCursor(67,30);
display.print("este valor");
display.setCursor(80,40);
display.print("deve ser");
display.setCursor(95,50);
display.print("maior");
display.display();
}
}
if (digitalRead(bt_start)==0 && (reset)==1)
{
start=1;
}
if ((start)==1 && (reset)==1 && (i)==0)
{
digitalWrite (enable, LOW);
digitalWrite (led_liga, HIGH);
digitalWrite (led_agua, LOW);
digitalWrite (aqua, LOW);
while (digitalRead(fx)==1)
{
display.clearDisplay();
display.setTextSize(1);
display.setCursor(20,20);
display.print("buscando");
display.setCursor(20,30);
display.print("referencia");
display.display();
digitalWrite(dirPin2, LOW);
digitalWrite(dirPin, HIGH);
digitalWrite(stepPin, HIGH);
digitalWrite(stepPin2, HIGH);
delayMicroseconds(1);
digitalWrite(stepPin, LOW);
digitalWrite(stepPin2, LOW);
delayMicroseconds(1);
}
long int distancia = ultrassom.read(CM); // distancia recebe o valormedido em cm
// centímetros(CM) ou polegadas(INC)
Serial.print(tamanho); //imprime o valor da variável distancia
Serial.println("cm");
if ((real)>90)
{
tanque=1;
while ((tanque)==1)
{
long int distancia = ultrassom.read(CM);
visual=100/tamanho;
real=distancia*visual;
display.clearDisplay();
display.setTextSize(1);
display.setCursor(20,20);
display.print("encha o");
display.setCursor(20,30);
display.print("tanque");
display.setCursor(20,40);
display.print(real);
display.print("%");
display.drawRoundRect(10, 55, 50, 10, 5, WHITE);
if ((real)<10)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=10 && (real)<20)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=20 && (real)<30)
{
display.fillRoundRect(10, 55, 40, 8, 4, WHITE);
}
if ((real)>=30 && (real)<40)
{
display.fillRoundRect(10, 55, 35, 8, 4, WHITE);
}
if ((real)>=40 && (real)<50)
{
display.fillRoundRect(10, 55, 30, 8, 4, WHITE);
}
if ((real)>=50 && (real)<60)
{
display.fillRoundRect(10, 55, 25, 8, 4, WHITE);
}
if ((real)>=60 && (real)<70)
{
display.fillRoundRect(10, 55, 20, 8, 4, WHITE);
}
if ((real)>=70 && (real)<80)
{
display.fillRoundRect(10, 55, 15, 8, 4, WHITE);
}
if ((real)>=80 && (real)<90)
{
display.fillRoundRect(10, 55, 10, 8, 4, WHITE);
}
if ((real)>=90 && (real)<95)
{
display.fillRoundRect(10, 55, 5, 8, 4, WHITE);
}
if ((real)>95)
{
display.fillRoundRect(10, 55, 0, 10, 5, WHITE);
}
display.display();
tone(24,528,1500);
digitalWrite(led_agua,HIGH);
delay(500);
digitalWrite(led_agua,LOW);
delay(500);
Serial.println(real); //imprime o valor da variável distancia
if ((real)<10)
{
tanque=0;
}
}
}
//ATE AQUIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
if (digitalRead(fx)==0 && (start)==1 && (tanque)==0)
{
visual=100/tamanho;
real=distancia*visual;
mi1=analogRead(A0)*0.09765625;
mi2=analogRead(A1)*0.09765625;
mi3=analogRead(A2)*0.09765625;
display.clearDisplay();
display.setCursor(10,45);
display.print("tanque_");
display.print(100-real);
display.print("%");
display.drawRoundRect(10, 55, 50, 10, 5, WHITE);
if ((real)<10)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=10 && (real)<20)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=20 && (real)<30)
{
display.fillRoundRect(10, 55, 40, 8, 4, WHITE);
}
if ((real)>=30 && (real)<40)
{
display.fillRoundRect(10, 55, 35, 8, 4, WHITE);
}
if ((real)>=40 && (real)<50)
{
display.fillRoundRect(10, 55, 30, 8, 4, WHITE);
}
if ((real)>=50 && (real)<60)
{
display.fillRoundRect(10, 55, 25, 8, 4, WHITE);
}
if ((real)>=60 && (real)<70)
{
display.fillRoundRect(10, 55, 20, 8, 4, WHITE);
}
if ((real)>=70 && (real)<80)
{
display.fillRoundRect(10, 55, 15, 8, 4, WHITE);
}
if ((real)>=80 && (real)<90)
{
display.fillRoundRect(10, 55, 10, 8, 4, WHITE);
}
if ((real)>=90 && (real)<95)
{
display.fillRoundRect(10, 55, 5, 8, 4, WHITE);
}
if ((real)>95)
{
display.fillRoundRect(10, 55, 0, 10, 5, WHITE);
}
display.setCursor(10,0);
display.print("Aguardando sinal");
display.setCursor(10,10);
display.print("I1_");
display.print(mi1);
display.print("%");
maxi=50+(i1max/2);
mini=50+(i1min/2);
display.drawLine(maxi, 10, maxi, 20, WHITE);// As coordenadas (x1, y1) indicam o início da linha e as coordenadas (x2, y2) indicam onde a linha termina.
//drawRoundRect(x, y, largura, altura, raio, cor)
display.drawRoundRect(50, 10, 50, 10, 5, WHITE);
if ((mi1)>1)
{
display.fillRoundRect(50, 10, 0, 10, 5, WHITE);
}
if ((mi1)==1 || (mi1)==2)
{
display.fillRoundRect(50, 10, 1, 10, 5, WHITE);
}
if ((mi1)==3 || (mi1)==4)
{
display.fillRoundRect(50, 10, 2, 10, 5, WHITE);
}
if ((mi1)==5 || (mi1)==6)
{
display.fillRoundRect(50, 10, 3, 10, 5, WHITE);
}
if ((mi1)==7 || (mi1)==8)
{
display.fillRoundRect(50, 10, 4, 10, 5, WHITE);
}
if ((mi1)==9 || (mi1)==10)
{
display.fillRoundRect(50, 10, 5, 10, 5, WHITE);
}
if ((mi1)==11 || (mi1)==12)
{
display.fillRoundRect(50, 10, 6, 10, 5, WHITE);
}
if ((mi1)==13 || (mi1)==14)
{
display.fillRoundRect(50, 10, 7, 10, 5, WHITE);
}
if ((mi1)==15 || (mi1)==16)
{
display.fillRoundRect(50, 10, 8, 10, 5, WHITE);
}
if ((mi1)==17 || (mi1)==18)
{
display.fillRoundRect(50, 10, 9, 10, 5, WHITE);
}
if ((mi1)==19 || (mi1)==20)
{
display.fillRoundRect(50, 10, 10, 10, 5, WHITE);
}
if ((mi1)==21 || (mi1)==22)
{
display.fillRoundRect(50, 10, 11, 10, 5, WHITE);
}
if ((mi1)==23 || (mi1)==24)
{
display.fillRoundRect(50, 10, 12, 10, 5, WHITE);
}
if ((mi1)==25 || (mi1)==26)
{
display.fillRoundRect(50, 10, 13, 10, 5, WHITE);
}
if ((mi1)==27 || (mi1)==28)
{
display.fillRoundRect(50, 10, 14, 10, 5, WHITE);
}
if ((mi1)==29 || (mi1)==30)
{
display.fillRoundRect(50, 10, 15, 10, 5, WHITE);
}
if ((mi1)==31 || (mi1)==32)
{
display.fillRoundRect(50, 10, 16, 10, 5, WHITE);
}
if ((mi1)==33 || (mi1)==34)
{
display.fillRoundRect(50, 10, 17, 10, 5, WHITE);
}
if ((mi1)==35 || (mi1)==36)
{
display.fillRoundRect(50, 10, 18, 10, 5, WHITE);
}
if ((mi1)==37 || (mi1)==38)
{
display.fillRoundRect(50, 10, 19, 10, 5, WHITE);
}
if ((mi1)==39 || (mi1)==40)
{
display.fillRoundRect(50, 10, 20, 10, 5, WHITE);
}
if ((mi1)==41 || (mi1)==42)
{
display.fillRoundRect(50, 10, 21, 10, 5, WHITE);
}
if ((mi1)==43 || (mi1)==44)
{
display.fillRoundRect(50, 10, 22, 10, 5, WHITE);
}
if ((mi1)==45 || (mi1)==46)
{
display.fillRoundRect(50, 10, 23, 10, 5, WHITE);
}
if ((mi1)==47 || (mi1)==48)
{
display.fillRoundRect(50, 10, 24, 10, 5, WHITE);
}
if ((mi1)==49 || (mi1)==50)
{
display.fillRoundRect(50, 10, 25, 10, 5, WHITE);
}
if ((mi1)==51 || (mi1)==52)
{
display.fillRoundRect(50, 10, 26, 10, 5, WHITE);
}
if ((mi1)==53 || (mi1)==54)
{
display.fillRoundRect(50, 10, 27, 10, 5, WHITE);
}
if ((mi1)==55 || (mi1)==56)
{
display.fillRoundRect(50, 10, 28, 10, 5, WHITE);
}
if ((mi1)==57 || (mi1)==58)
{
display.fillRoundRect(50, 10, 29, 10, 5, WHITE);
}
if ((mi1)==59 || (mi1)==60)
{
display.fillRoundRect(50, 10, 30, 10, 5, WHITE);
}
if ((mi1)==61 || (mi1)==62)
{
display.fillRoundRect(50, 10, 31, 10, 5, WHITE);
}
if ((mi1)==63 || (mi1)==64)
{
display.fillRoundRect(50, 10, 32, 10, 5, WHITE);
}
if ((mi1)==65 || (mi1)==66)
{
display.fillRoundRect(50, 10, 33, 10, 5, WHITE);
}
if ((mi1)==67 || (mi1)==68)
{
display.fillRoundRect(50, 10, 34, 10, 5, WHITE);
}
if ((mi1)==69 || (mi1)==70)
{
display.fillRoundRect(50, 10, 35, 10, 5, WHITE);
}
if ((mi1)==71 || (mi1)==72)
{
display.fillRoundRect(50, 10, 36, 10, 5, WHITE);
}
if ((mi1)==73 || (mi1)==74)
{
display.fillRoundRect(50, 10, 37, 10, 5, WHITE);
}
if ((mi1)==75 || (mi1)==76)
{
display.fillRoundRect(50, 10, 38, 10, 5, WHITE);
}
if ((mi1)==77 || (mi1)==78)
{
display.fillRoundRect(50, 10, 39, 10, 5, WHITE);
}
if ((mi1)==79 || (mi1)==80)
{
display.fillRoundRect(50, 10, 40, 10, 5, WHITE);
}
if ((mi1)==81 || (mi1)==82)
{
display.fillRoundRect(50, 10, 41, 10, 5, WHITE);
}
if ((mi1)==83 || (mi1)==84)
{
display.fillRoundRect(50, 10, 42, 10, 5, WHITE);
}
if ((mi1)==85 || (mi1)==86)
{
display.fillRoundRect(50, 10, 43, 10, 5, WHITE);
}
if ((mi1)==87 || (mi1)==88)
{
display.fillRoundRect(50, 10, 44, 10, 5, WHITE);
}
if ((mi1)==89 || (mi1)==90)
{
display.fillRoundRect(50, 10, 45, 10, 5, WHITE);
}
if ((mi1)==91 || (mi1)==92)
{
display.fillRoundRect(50, 10, 46, 10, 5, WHITE);
}
if ((mi1)==93 || (mi1)==94)
{
display.fillRoundRect(50, 10, 47, 10, 5, WHITE);
}
if ((mi1)==95 || (mi1)==96)
{
display.fillRoundRect(50, 10, 48, 10, 5, WHITE);
}
if ((mi1)==97 || (mi1)==98)
{
display.fillRoundRect(50, 10, 49, 10, 5, WHITE);
}
if ((mi1)==99 || (mi1)==100)
{
display.fillRoundRect(50, 10, 50, 10, 5, WHITE);
}
display.setCursor(10,20);
display.print("I2_");
display.print(mi2);
display.print("%");
maxi2=50+(i2max/2);
mini2=50+(i2min/2);
display.drawLine(maxi2, 20, maxi2, 30, WHITE);
display.drawRoundRect(50, 20, 50, 10, 5, WHITE);
if ((mi2)>1)
{
display.fillRoundRect(50, 20, 0, 10, 5, WHITE);
}
if ((mi2)==1 || (mi2)==2)
{
display.fillRoundRect(50, 20, 1, 10, 5, WHITE);
}
if ((mi2)==3 || (mi2)==4)
{
display.fillRoundRect(50, 20, 2, 10, 5, WHITE);
}
if ((mi2)==5 || (mi2)==6)
{
display.fillRoundRect(50, 20, 3, 10, 5, WHITE);
}
if ((mi2)==7 || (mi2)==8)
{
display.fillRoundRect(50, 20, 4, 10, 5, WHITE);
}
if ((mi2)==9 || (mi2)==10)
{
display.fillRoundRect(50, 20, 5, 10, 5, WHITE);
}
if ((mi2)==11 || (mi2)==12)
{
display.fillRoundRect(50, 20, 6, 10, 5, WHITE);
}
if ((mi2)==13 || (mi2)==14)
{
display.fillRoundRect(50, 20, 7, 10, 5, WHITE);
}
if ((mi2)==15 || (mi2)==16)
{
display.fillRoundRect(50, 20, 8, 10, 5, WHITE);
}
if ((mi2)==17 || (mi2)==18)
{
display.fillRoundRect(50, 20, 9, 10, 5, WHITE);
}
if ((mi2)==19 || (mi2)==20)
{
display.fillRoundRect(50, 20, 10, 10, 5, WHITE);
}
if ((mi2)==21 || (mi2)==22)
{
display.fillRoundRect(50, 20, 11, 10, 5, WHITE);
}
if ((mi2)==23 || (mi2)==24)
{
display.fillRoundRect(50, 20, 12, 10, 5, WHITE);
}
if ((mi2)==25 || (mi2)==26)
{
display.fillRoundRect(50, 20, 13, 10, 5, WHITE);
}
if ((mi2)==27 || (mi2)==28)
{
display.fillRoundRect(50, 20, 14, 10, 5, WHITE);
}
if ((mi2)==29 || (mi2)==30)
{
display.fillRoundRect(50, 20, 15, 10, 5, WHITE);
}
if ((mi2)==31 || (mi2)==32)
{
display.fillRoundRect(50, 20, 16, 10, 5, WHITE);
}
if ((mi2)==33 || (mi2)==34)
{
display.fillRoundRect(50, 20, 17, 10, 5, WHITE);
}
if ((mi2)==35 || (mi2)==36)
{
display.fillRoundRect(50, 20, 18, 10, 5, WHITE);
}
if ((mi2)==37 || (mi2)==38)
{
display.fillRoundRect(50, 20, 19, 10, 5, WHITE);
}
if ((mi2)==39 || (mi2)==40)
{
display.fillRoundRect(50, 20, 20, 10, 5, WHITE);
}
if ((mi2)==41 || (mi2)==42)
{
display.fillRoundRect(50, 20, 21, 10, 5, WHITE);
}
if ((mi2)==43 || (mi2)==44)
{
display.fillRoundRect(50, 20, 22, 10, 5, WHITE);
}
if ((mi2)==45 || (mi2)==46)
{
display.fillRoundRect(50, 20, 23, 10, 5, WHITE);
}
if ((mi2)==47 || (mi2)==48)
{
display.fillRoundRect(50, 20, 24, 10, 5, WHITE);
}
if ((mi2)==49 || (mi2)==50)
{
display.fillRoundRect(50, 20, 25, 10, 5, WHITE);
}
if ((mi2)==51 || (mi2)==52)
{
display.fillRoundRect(50, 20, 26, 10, 5, WHITE);
}
if ((mi2)==53 || (mi2)==54)
{
display.fillRoundRect(50, 20, 27, 10, 5, WHITE);
}
if ((mi2)==55 || (mi2)==56)
{
display.fillRoundRect(50, 20, 28, 10, 5, WHITE);
}
if ((mi2)==57 || (mi2)==58)
{
display.fillRoundRect(50, 20, 29, 10, 5, WHITE);
}
if ((mi2)==59 || (mi2)==60)
{
display.fillRoundRect(50, 20, 30, 10, 5, WHITE);
}
if ((mi2)==61 || (mi2)==62)
{
display.fillRoundRect(50, 20, 31, 10, 5, WHITE);
}
if ((mi2)==63 || (mi2)==64)
{
display.fillRoundRect(50, 20, 32, 10, 5, WHITE);
}
if ((mi2)==65 || (mi2)==66)
{
display.fillRoundRect(50, 20, 33, 10, 5, WHITE);
}
if ((mi2)==67 || (mi2)==68)
{
display.fillRoundRect(50, 20, 34, 10, 5, WHITE);
}
if ((mi2)==69 || (mi2)==70)
{
display.fillRoundRect(50, 20, 35, 10, 5, WHITE);
}
if ((mi2)==71 || (mi2)==72)
{
display.fillRoundRect(50, 20, 36, 10, 5, WHITE);
}
if ((mi2)==73 || (mi2)==74)
{
display.fillRoundRect(50, 20, 37, 10, 5, WHITE);
}
if ((mi2)==75 || (mi2)==76)
{
display.fillRoundRect(50, 20, 38, 10, 5, WHITE);
}
if ((mi2)==77 || (mi2)==78)
{
display.fillRoundRect(50, 20, 39, 10, 5, WHITE);
}
if ((mi2)==79 || (mi2)==80)
{
display.fillRoundRect(50, 20, 40, 10, 5, WHITE);
}
if ((mi2)==81 || (mi2)==82)
{
display.fillRoundRect(50, 20, 41, 10, 5, WHITE);
}
if ((mi2)==83 || (mi2)==84)
{
display.fillRoundRect(50, 20, 42, 10, 5, WHITE);
}
if ((mi2)==85 || (mi2)==86)
{
display.fillRoundRect(50, 20, 43, 10, 5, WHITE);
}
if ((mi2)==87 || (mi2)==88)
{
display.fillRoundRect(50, 20, 44, 10, 5, WHITE);
}
if ((mi2)==89 || (mi2)==90)
{
display.fillRoundRect(50, 20, 45, 10, 5, WHITE);
}
if ((mi2)==91 || (mi2)==92)
{
display.fillRoundRect(50, 20, 46, 10, 5, WHITE);
}
if ((mi2)==93 || (mi2)==94)
{
display.fillRoundRect(50, 20, 47, 10, 5, WHITE);
}
if ((mi2)==95 || (mi2)==96)
{
display.fillRoundRect(50, 20, 48, 10, 5, WHITE);
}
if ((mi2)==97 || (mi2)==98)
{
display.fillRoundRect(50, 20, 49, 10, 5, WHITE);
}
if ((mi2)==99 || (mi2)==100)
{
display.fillRoundRect(50, 20, 50, 10, 5, WHITE);
}
display.setCursor(10,30);
display.print("I3_");
display.print(mi3);
display.print("%");
maxi3=50+(i3max/2);
mini3=50+(i3min/2);
display.drawLine(maxi3, 30, maxi3, 38, WHITE);
display.drawRoundRect(50, 30, 50, 10, 5, WHITE);
if ((mi3)>1)
{
display.fillRoundRect(50, 30, 0, 10, 5, WHITE);
}
if ((mi3)==1 || (mi3)==2)
{
display.fillRoundRect(50, 30, 1, 10, 5, WHITE);
}
if ((mi3)==3 || (mi3)==4)
{
display.fillRoundRect(50, 30, 2, 10, 5, WHITE);
}
if ((mi3)==5 || (mi3)==6)
{
display.fillRoundRect(50, 30, 3, 10, 5, WHITE);
}
if ((mi3)==7 || (mi3)==8)
{
display.fillRoundRect(50, 30, 4, 10, 5, WHITE);
}
if ((mi3)==9 || (mi3)==10)
{
display.fillRoundRect(50, 30, 5, 10, 5, WHITE);
}
if ((mi3)==11 || (mi3)==12)
{
display.fillRoundRect(50, 30, 6, 10, 5, WHITE);
}
if ((mi3)==13 || (mi3)==14)
{
display.fillRoundRect(50, 30, 7, 10, 5, WHITE);
}
if ((mi3)==15 || (mi3)==16)
{
display.fillRoundRect(50, 30, 8, 10, 5, WHITE);
}
if ((mi3)==17 || (mi3)==18)
{
display.fillRoundRect(50, 30, 9, 10, 5, WHITE);
}
if ((mi3)==19 || (mi3)==20)
{
display.fillRoundRect(50, 30, 10, 10, 5, WHITE);
}
if ((mi3)==21 || (mi3)==22)
{
display.fillRoundRect(50, 30, 11, 10, 5, WHITE);
}
if ((mi3)==23 || (mi3)==24)
{
display.fillRoundRect(50, 30, 12, 10, 5, WHITE);
}
if ((mi3)==25 || (mi3)==26)
{
display.fillRoundRect(50, 30, 13, 10, 5, WHITE);
}
if ((mi3)==27 || (mi3)==28)
{
display.fillRoundRect(50, 30, 14, 10, 5, WHITE);
}
if ((mi3)==29 || (mi3)==30)
{
display.fillRoundRect(50, 30, 15, 10, 5, WHITE);
}
if ((mi3)==31 || (mi3)==32)
{
display.fillRoundRect(50, 30, 16, 10, 5, WHITE);
}
if ((mi3)==33 || (mi3)==34)
{
display.fillRoundRect(50, 30, 17, 10, 5, WHITE);
}
if ((mi3)==35 || (mi3)==36)
{
display.fillRoundRect(50, 30, 18, 10, 5, WHITE);
}
if ((mi3)==37 || (mi3)==38)
{
display.fillRoundRect(50, 30, 19, 10, 5, WHITE);
}
if ((mi3)==39 || (mi3)==40)
{
display.fillRoundRect(50, 30, 20, 10, 5, WHITE);
}
if ((mi3)==41 || (mi3)==42)
{
display.fillRoundRect(50, 30, 21, 10, 5, WHITE);
}
if ((mi3)==43 || (mi3)==44)
{
display.fillRoundRect(50, 30, 22, 10, 5, WHITE);
}
if ((mi3)==45 || (mi3)==46)
{
display.fillRoundRect(50, 30, 23, 10, 5, WHITE);
}
if ((mi3)==47 || (mi3)==48)
{
display.fillRoundRect(50, 30, 24, 10, 5, WHITE);
}
if ((mi3)==49 || (mi3)==50)
{
display.fillRoundRect(50, 30, 25, 10, 5, WHITE);
}
if ((mi3)==51 || (mi3)==52)
{
display.fillRoundRect(50, 30, 26, 10, 5, WHITE);
}
if ((mi3)==53 || (mi3)==54)
{
display.fillRoundRect(50, 30, 27, 10, 5, WHITE);
}
if ((mi3)==55 || (mi3)==56)
{
display.fillRoundRect(50, 30, 28, 10, 5, WHITE);
}
if ((mi3)==57 || (mi3)==58)
{
display.fillRoundRect(50, 30, 29, 10, 5, WHITE);
}
if ((mi3)==59 || (mi3)==60)
{
display.fillRoundRect(50, 30, 30, 10, 5, WHITE);
}
if ((mi3)==61 || (mi3)==62)
{
display.fillRoundRect(50, 30, 31, 10, 5, WHITE);
}
if ((mi3)==63 || (mi3)==64)
{
display.fillRoundRect(50, 30, 32, 10, 5, WHITE);
}
if ((mi3)==65 || (mi3)==66)
{
display.fillRoundRect(50, 30, 33, 10, 5, WHITE);
}
if ((mi3)==67 || (mi3)==68)
{
display.fillRoundRect(50, 30, 34, 10, 5, WHITE);
}
if ((mi3)==69 || (mi3)==70)
{
display.fillRoundRect(50, 30, 35, 10, 5, WHITE);
}
if ((mi3)==71 || (mi3)==72)
{
display.fillRoundRect(50, 30, 36, 10, 5, WHITE);
}
if ((mi3)==73 || (mi3)==74)
{
display.fillRoundRect(50, 30, 37, 10, 5, WHITE);
}
if ((mi3)==75 || (mi3)==76)
{
display.fillRoundRect(50, 30, 38, 10, 5, WHITE);
}
if ((mi3)==77 || (mi3)==78)
{
display.fillRoundRect(50, 30, 39, 10, 5, WHITE);
}
if ((mi3)==79 || (mi3)==80)
{
display.fillRoundRect(50, 30, 40, 10, 5, WHITE);
}
if ((mi3)==81 || (mi3)==82)
{
display.fillRoundRect(50, 30, 41, 10, 5, WHITE);
}
if ((mi3)==83 || (mi3)==84)
{
display.fillRoundRect(50, 30, 42, 10, 5, WHITE);
}
if ((mi3)==85 || (mi3)==86)
{
display.fillRoundRect(50, 30, 43, 10, 5, WHITE);
}
if ((mi3)==87 || (mi3)==88)
{
display.fillRoundRect(50, 30, 44, 10, 5, WHITE);
}
if ((mi3)==89 || (mi3)==90)
{
display.fillRoundRect(50, 30, 45, 10, 5, WHITE);
}
if ((mi3)==91 || (mi3)==92)
{
display.fillRoundRect(50, 30, 46, 10, 5, WHITE);
}
if ((mi3)==93 || (mi3)==94)
{
display.fillRoundRect(50, 30, 47, 10, 5, WHITE);
}
if ((mi3)==95 || (mi3)==96)
{
display.fillRoundRect(50, 30, 48, 10, 5, WHITE);
}
if ((mi3)==97 || (mi3)==98)
{
display.fillRoundRect(50, 30, 49, 10, 5, WHITE);
}
if ((mi3)==99 || (mi3)==100)
{
display.fillRoundRect(50, 30, 50, 10, 5, WHITE);
}
visual=100/tamanho;
real=distancia*visual;
display.display();
delay(3000);
display.clearDisplay();
display.setCursor(10,0);
display.print("Aguardando sinal");
display.setCursor(10,10);
display.print("I1_");
display.print(r1);
display.setCursor(10,20);
display.print("I2_");
display.print(r2);
display.setCursor(10,30);
display.print("I3_");
display.print(r3);
display.setCursor(10,45);
display.print("tanque_");
display.print(100-real);
display.print("%");
display.drawRoundRect(10, 55, 50, 10, 5, WHITE);
if ((real)<10)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=10 && (real)<20)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=20 && (real)<30)
{
display.fillRoundRect(10, 55, 40, 8, 4, WHITE);
}
if ((real)>=30 && (real)<40)
{
display.fillRoundRect(10, 55, 35, 8, 4, WHITE);
}
if ((real)>=40 && (real)<50)
{
display.fillRoundRect(10, 55, 30, 8, 4, WHITE);
}
if ((real)>=50 && (real)<60)
{
display.fillRoundRect(10, 55, 25, 8, 4, WHITE);
}
if ((real)>=60 && (real)<70)
{
display.fillRoundRect(10, 55, 20, 8, 4, WHITE);
}
if ((real)>=70 && (real)<80)
{
display.fillRoundRect(10, 55, 15, 8, 4, WHITE);
}
if ((real)>=80 && (real)<90)
{
display.fillRoundRect(10, 55, 10, 8, 4, WHITE);
}
if ((real)>=90 && (real)<95)
{
display.fillRoundRect(10, 55, 5, 8, 4, WHITE);
}
if ((real)>95)
{
display.fillRoundRect(10, 55, 0, 10, 5, WHITE);
}
display.display();
delay(3000);
if (analogRead(A0)*0.09765625>i1max && (reset)==1)
{
r1=r1+1;
delay(30);
display.clearDisplay();
display.setCursor(0,0);
display.print(run);
display.setCursor(0,10);
display.print("para I1");
display.display();
while ((motordir)<200)
{
digitalWrite(dirPin, LOW);
digitalWrite(dirPin2, HIGH);
digitalWrite(stepPin, HIGH);
digitalWrite(stepPin2, HIGH);
delayMicroseconds(1);
digitalWrite(stepPin, LOW);
digitalWrite(stepPin2, LOW);
delayMicroseconds(1);
motordir=motordir+1;
}
if ((motordir)==200 && (reset)==1)
{
while (analogRead(A0)*0.09765625>i1min)
{
long distancia = ultrassom.read(CM);
mi1=analogRead(A0)*0.09765625;
digitalWrite (led_agua, HIGH);
digitalWrite (aqua, HIGH);
display.clearDisplay();
delay(300);
display.setCursor(0,0);
display.print(irrig);
display.print(" I1_");
display.print(mi1);
display.print("%");
display.drawBitmap(mini, 10,linha, 1, 8, 1);
display.drawBitmap(10, 10, image_data_chuva, 20, 20, 1);
display.drawRoundRect(50, 10, 50, 10, 5, WHITE);
if ((mi1)>10)
{
display.fillRoundRect(50, 10, 5, 10, 5, WHITE);
}
if ((mi1)>20)
{
display.fillRoundRect(50, 10, 10, 10, 5, WHITE);
}
if ((mi1)>30)
{
display.fillRoundRect(50, 10, 15, 10, 5, WHITE);
}
if ((mi1)>40)
{
display.fillRoundRect(50, 10, 20, 10, 5, WHITE);
}
if ((mi1)>50)
{
display.fillRoundRect(50, 10, 25, 10, 5, WHITE);
}
if ((mi1)>60)
{
display.fillRoundRect(50, 10, 30, 10, 5, WHITE);
}
if ((mi1)>70)
{
display.fillRoundRect(50, 10, 35, 10, 5, WHITE);
}
if ((mi1)>80)
{
display.fillRoundRect(50, 10, 40, 10, 5, WHITE);
}
if ((mi1)>90)
{
display.fillRoundRect(50, 10, 50, 10, 5, WHITE);
}
visual=100/tamanho;
real=distancia*visual;
display.setCursor(10,45);
display.print("tanque_");
display.print(100-real);
display.print("%");
display.drawRoundRect(10, 55, 50, 10, 5, WHITE);
if ((real)<10)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=10 && (real)<20)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=20 && (real)<30)
{
display.fillRoundRect(10, 55, 40, 8, 4, WHITE);
}
if ((real)>=30 && (real)<40)
{
display.fillRoundRect(10, 55, 35, 8, 4, WHITE);
}
if ((real)>=40 && (real)<50)
{
display.fillRoundRect(10, 55, 30, 8, 4, WHITE);
}
if ((real)>=50 && (real)<60)
{
display.fillRoundRect(10, 55, 25, 8, 4, WHITE);
}
if ((real)>=60 && (real)<70)
{
display.fillRoundRect(10, 55, 20, 8, 4, WHITE);
}
if ((real)>=70 && (real)<80)
{
display.fillRoundRect(10, 55, 15, 8, 4, WHITE);
}
if ((real)>=80 && (real)<90)
{
display.fillRoundRect(10, 55, 10, 8, 4, WHITE);
}
if ((real)>=90 && (real)<95)
{
display.fillRoundRect(10, 55, 5, 8, 4, WHITE);
}
if ((real)>95)
{
display.fillRoundRect(10, 55, 0, 10, 5, WHITE);
}
display.display();
Serial.println (analogRead(A0)) ;
delay(1000);
motordir=0;
//lcd.clear();
}
}
}
else if (analogRead(A1)*0.09765625>i2max && (reset)==1)
{
r2=r2+1;
delay(30);
display.clearDisplay();
display.setCursor(0,0);
display.print(run);
display.setCursor(0,10);
display.print("para I2");
display.display();
while ((motordir)<500 && (reset)==1)
{
digitalWrite(dirPin, LOW);
digitalWrite(dirPin2, HIGH);
digitalWrite(stepPin, HIGH);
digitalWrite(stepPin2, HIGH);
delayMicroseconds(1);
digitalWrite(stepPin, LOW);
digitalWrite(stepPin2, LOW);
delayMicroseconds(1);
motordir=motordir+1;
}
if ((motordir)==500)
{
while (analogRead(A1)*0.09765625>i2min && (reset)==1)
{
long distancia = ultrassom.read(CM);
mi2=analogRead(A1)*0.09765625;
digitalWrite (led_agua, HIGH);
digitalWrite (aqua, HIGH);
display.clearDisplay();
delay(300);
display.setCursor(0,0);
display.print(irrig);
display.print(" I2_");
display.print(mi2);
display.print("%");
display.drawBitmap(10, 10, image_data_chuva, 20, 20, 1);
display.drawRoundRect(50, 20, 50, 10, 5, WHITE);
if ((mi2)>10)
{
display.fillRoundRect(50, 20, 5, 10, 5, WHITE);
}
if ((mi2)>20)
{
display.fillRoundRect(50, 20, 10, 10, 5, WHITE);
}
if ((mi2)>30)
{
display.fillRoundRect(50, 20, 15, 10, 5, WHITE);
}
if ((mi2)>40)
{
display.fillRoundRect(50, 20, 20, 10, 5, WHITE);
}
if ((mi2)>50)
{
display.fillRoundRect(50, 20, 25, 10, 5, WHITE);
}
if ((mi2)>60)
{
display.fillRoundRect(50, 20, 30, 10, 5, WHITE);
}
if ((mi2)>70)
{
display.fillRoundRect(50, 20, 35, 10, 5, WHITE);
}
if ((mi2)>80)
{
display.fillRoundRect(50, 20, 40, 10, 5, WHITE);
}
if ((mi2)>90)
{
display.fillRoundRect(50, 20, 50, 10, 5, WHITE);
}
visual=100/tamanho;
real=distancia*visual;
display.setCursor(10,45);
display.print("tanque_");
display.print(100-real);
display.print("%");
display.drawRoundRect(10, 55, 50, 10, 5, WHITE);
if ((real)<10)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=10 && (real)<20)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=20 && (real)<30)
{
display.fillRoundRect(10, 55, 40, 8, 4, WHITE);
}
if ((real)>=30 && (real)<40)
{
display.fillRoundRect(10, 55, 35, 8, 4, WHITE);
}
if ((real)>=40 && (real)<50)
{
display.fillRoundRect(10, 55, 30, 8, 4, WHITE);
}
if ((real)>=50 && (real)<60)
{
display.fillRoundRect(10, 55, 25, 8, 4, WHITE);
}
if ((real)>=60 && (real)<70)
{
display.fillRoundRect(10, 55, 20, 8, 4, WHITE);
}
if ((real)>=70 && (real)<80)
{
display.fillRoundRect(10, 55, 15, 8, 4, WHITE);
}
if ((real)>=80 && (real)<90)
{
display.fillRoundRect(10, 55, 10, 8, 4, WHITE);
}
if ((real)>=90 && (real)<95)
{
display.fillRoundRect(10, 55, 5, 8, 4, WHITE);
}
if ((real)>95)
{
display.fillRoundRect(10, 55, 0, 10, 5, WHITE);
}
display.display();
Serial.println (analogRead(A1)) ;
delay(1000);
motordir=0;
// lcd.clear();
}
}
}
else if (analogRead(A2)*0.09765625>i3max && (reset)==1)
{
r3=r3+1;
delay(30);
display.clearDisplay();
display.setCursor(0,0);
display.print(run);
display.setCursor(0,10);
display.print("para I3");
display.display();
while ((motordir)<1000 && (reset)==1)
{
Serial.println(motordir);
digitalWrite(dirPin, LOW);
digitalWrite(dirPin2, HIGH);
digitalWrite(stepPin, HIGH);
digitalWrite(stepPin2, HIGH);
delayMicroseconds(1);
digitalWrite(stepPin, LOW);
digitalWrite(stepPin2, LOW);
delayMicroseconds(1);
motordir=motordir+1;
}
if ((motordir)==1000 && (reset)==1)
{
while (analogRead(A2)*0.09765625>i3min && (reset)==1)
{
long distancia = ultrassom.read(CM);
mi3=analogRead(A2)*0.09765625;
digitalWrite (led_agua, HIGH);
digitalWrite (aqua, HIGH);
display.clearDisplay();
delay(300);
display.setCursor(0,0);
display.print(irrig);
display.print(" I3_");
display.print(mi3);
display.print("%");
display.drawBitmap(10, 10, image_data_chuva, 20, 20, 1);
display.drawRoundRect(50, 30, 50, 10, 5, WHITE);
if ((mi3)>10)
{
display.fillRoundRect(50, 30, 5, 10, 5, WHITE);
}
if ((mi3)>20)
{
display.fillRoundRect(50, 30, 10, 10, 5, WHITE);
}
if ((mi3)>30)
{
display.fillRoundRect(50, 30, 15, 10, 5, WHITE);
}
if ((mi3)>40)
{
display.fillRoundRect(50, 30, 20, 10, 5, WHITE);
}
if ((mi3)>50)
{
display.fillRoundRect(50, 30, 25, 10, 5, WHITE);
}
if ((mi3)>60)
{
display.fillRoundRect(50, 30, 30, 10, 5, WHITE);
}
if ((mi3)>70)
{
display.fillRoundRect(50, 30, 35, 10, 5, WHITE);
}
if ((mi3)>80)
{
display.fillRoundRect(50, 30, 40, 10, 5, WHITE);
}
if ((mi3)>90)
{
display.fillRoundRect(50, 30, 50, 10, 5, WHITE);
}
visual=100/tamanho;
real=distancia*visual;
display.setCursor(10,45);
display.print("tanque_");
display.print(100-real);
display.print("%");
display.drawRoundRect(10, 55, 50, 10, 5, WHITE);
if ((real)<10)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=10 && (real)<20)
{
display.fillRoundRect(10, 55, 45, 8, 4, WHITE);
}
if ((real)>=20 && (real)<30)
{
display.fillRoundRect(10, 55, 40, 8, 4, WHITE);
}
if ((real)>=30 && (real)<40)
{
display.fillRoundRect(10, 55, 35, 8, 4, WHITE);
}
if ((real)>=40 && (real)<50)
{
display.fillRoundRect(10, 55, 30, 8, 4, WHITE);
}
if ((real)>=50 && (real)<60)
{
display.fillRoundRect(10, 55, 25, 8, 4, WHITE);
}
if ((real)>=60 && (real)<70)
{
display.fillRoundRect(10, 55, 20, 8, 4, WHITE);
}
if ((real)>=70 && (real)<80)
{
display.fillRoundRect(10, 55, 15, 8, 4, WHITE);
}
if ((real)>=80 && (real)<90)
{
display.fillRoundRect(10, 55, 10, 8, 4, WHITE);
}
if ((real)>=90 && (real)<95)
{
display.fillRoundRect(10, 55, 5, 8, 4, WHITE);
}
if ((real)>95)
{
display.fillRoundRect(10, 55, 0, 10, 5, WHITE);
}
display.display();
Serial.println (analogRead(A2)) ;
//delay(1000);
motordir=0;
}
}
}
}
}
}//loop