//Projeto Aquario
//Inclui as Bibliotecas
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <RTClib.h>
#include <Servo.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_ILI9341.h>
#include <DHT.h>
#include <Adafruit_TCS34725.h>
#include <Adafruit_FT6206.h>
#include <SD.h>
#include <Adafruit_TFTLCD.h>
#include <TouchScreen.h>
//Definicao dos Pinos #############################################################
//Modulo Data e Hora
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"Domingo", "Segunda", "Terca", "Quarta", "Quinta", "Sexta", "Sabado"};
//Modulo Shift Register
#define pinSH_CP 24
#define pinST_CP 22
#define pinDS 23
#define qtdeCI 6
//Modulo SD Card
#define CS_PIN 34
//Fontes
#define F12V_DOSA_PIN 1 //Shift Register
#define FONTE_12V_DOSADORAS_RELE_PIN 0 //Shit Register
#define FONTE_12V_LUMINARIAS_PIN 29
#define FONTE_12V_LUMINARIAS_RELE_PIN 24 //Shift Register
#define FONTE_24V_PELTIER_PIN 17
#define FONTE_24V_PELTIER_RELE_PIN 25 //Shift Register
#define FONTE_5V_SERVO_AGITADOR_PIN 27 //Shift Register
#define FONTE_5V_SERVO_AGITADOR_RELE_PIN 8 //Shift Register
//Modulo Turbidez
int SENSOR_TURBIDEZ = A5;
//Modulo Testes
//Modulo Cor
//Servo Motores
#define BASE_PIN 2
#define SUPERIOR_PIN 8
#define ATUADOR_AGITADOR_PIN 7
#define ATUADOR_AGUA_AQUARIO_PIN 4
#define ATUADOR_REJEITO_PIN 3
#define ATUADOR_RGB_PIN 6
#define ALIMENTADOR_PIN 31
//Conta Gotas
#define LDR_PIN A4
#define LED_EMISSOR_PIN 47 //Shift Register
//Agitador
#define AGITADOR_ON_PONTE_H_PIN 21 //Shift Register
#define AGITADOR_VALOR_PWM_PIN 5
#define AGITADOR_TESTE_PIN 6 //Shift Register
#define AGITADOR_REAGENTE_AMONIA_1 31 //Shift Register
#define AGITADOR_REAGENTE_AMONIA_2 32 //Shift Register
#define AGITADOR_REAGENTE_NITRITO_1 33 //Shift Register
#define AGITADOR_REAGENTE_NITRITO_2 34 //Shift Register
#define AGITADOR_REAGENTE_NITRATO_1 35 //Shift Register
#define AGITADOR_REAGENTE_NITRATO_2 36 //Shift Register
#define AGITADOR_REAGENTE_FOSFATO_1 37 //Shift Register
#define AGITADOR_REAGENTE_FOSFATO_2 38 //Shift Register
#define AGITADOR_REAGENTE_IRON_1 39 //Shift Register
#define AGITADOR_REAGENTE_IRON_2 40 //Shift Register
#define AGITADOR_REAGENTE_IRON_3 41 //Shift Register
#define AGITADOR_REAGENTE_GH 42 //Shift Register
#define AGITADOR_REAGENTE_KH 43 //Shift Register
//Modulo Dosadoras
//Fertilizantes
#define DOSADORA_ON_PONTE_H_PIN 3 //Shift Register
#define DOSADORA_VALOR_PWM_PIN 12
#define DOSADORA_EXCEL_RELE_PIN 7 //Shit Register
#define DOSADORA_IRON_RELE_PIN 2 //Shit Register
#define DOSADORA_ADVANCED_RELE_PIN 4 //Shit Register
#define DOSADORA_FLOURISH_RELE_PIN 5 //Shift Register
#define DOSADORA_TRACE_RELE_PIN 29
#define DOSADORA_PRIME_RELE_PIN 47
//Testes
#define DOSADORA_AGUA_TESTE_RELE_PIN 9 //Shit Register
#define DOSADORA_AGUA_REJEITO_RELE_PIN 10 //Shift Register
#define DOSADORA_TESTE_AMONIA_1_RELE_PIN 11 //Shift Register
#define DOSADORA_TESTE_AMONIA_2_RELE_PIN 12 //Shift Register
#define DOSADORA_TESTE_NITRITO_1_RELE_PIN 13 //Shift Register
#define DOSADORA_TESTE_NITRITO_2_RELE_PIN 14 //Shift Register
#define DOSADORA_TESTE_NITRATO_1_RELE_PIN 15 //Shift Register
#define DOSADORA_TESTE_NITRATO_2_RELE_PIN 16 //Shift Register
#define DOSADORA_TESTE_FOSFATO_1_RELE_PIN 17 //Shift Register
#define DOSADORA_TESTE_FOSFATO_2_RELE_PIN 18 //Shift Register
#define DOSADORA_TESTE_IRON_1_RELE_PIN 19 //Shift Register
#define DOSADORA_TESTE_IRON_2_RELE_PIN 20 //Shift Register
#define DOSADORA_TESTE_IRON_3_RELE_PIN 23 //Shift Register
#define DOSADORA_TESTE_KH_RELE_PIN 30 //Shift Register
#define DOSADORA_TESTE_GH_RELE_PIN 28 //Shift Register
//Modulo PH
#define PH_PIN A3
//Modulo TFT
Adafruit_FT6206 ctp = Adafruit_FT6206();
#define TFT_DC 49
#define TFT_CS 53
#define MOSI 51
#define MISO 50
#define SCK 52
#define SS 53
//Modulo Temperatura e Humidade do Ar
#define DHTPIN 14
#define TEMPERATURA_AQUARIO 19
#define TEMPERATURA_COOLER 19
#define TEMPERATURA_AMBIENTE 19
#define COOLER_PELTIER_RELE_PIN 18
#define PELTIER_RELE_PIN 26 //Shift Register
#define PELTIER_ON_PONTE_H_PIN 16
#define PELTIER_VALOR_PWM_PIN 9
#define TERMOSTATO_AQUECEDOR_RELE_PIN 15
//Modulo TDS
#define TdsSensorPin A2
//Modulo Co2
#define CO2_RELE_PIN 33
//Modulo Luminarias
#define LUMINARIA_1_ON_PONTE_H_PIN 30
#define LUMINARIA_2_ON_PONTE_H_PIN 45//Shift Register
#define LUMINARIA_1_RELE_PIN 46 //Shift Register
#define LUMINARIA_2_RELE_PIN 32
#define LUMINARIA_1_VALOR_PWM_PIN 11
#define LUMINARIA_2_VALOR_PWM_PIN 13
//Modulo Porcentagem de Fertilizantes
//EXCEL
#define ECHO_EXCEL_PIN 35
#define TRIG_EXCEL_PIN 36
//IRON
#define ECHO_IRON_PIN 37
#define TRIG_IRON_PIN 38
//ADVANCED
#define ECHO_ADVANCED_PIN 39
#define TRIG_ADVANCED_PIN 40
//FLOURISH
#define ECHO_FLOURISH_PIN 41
#define TRIG_FLOURISH_PIN 42
//TRACE
#define ECHO_TRACE_PIN 43
#define TRIG_TRACE_PIN 44
//PRIME
#define ECHO_PRIME_PIN 48
#define TRIG_PRIME_PIN 46
//Modulo Nivel de Agua
#define SUMP_PIN A6
#define AQUA_PIN A7
//Definicoes das Variaveis ########################################################
//Shift Register
void ciWrite(byte pino, bool estado);
//Modulo SD Card
File myFile;
//Modulo Testes
//Variaveis Globais
int TESTES;
unsigned long SOMA_COR_RED = 0;
unsigned long MEDIA_COR_RED = 0;
unsigned long SOMA_COR_BLUE = 0;
unsigned long MEDIA_COR_BLUE = 0;
unsigned long SOMA_COR_GREEN = 0;
unsigned long MEDIA_COR_GREEN = 0;
//Modulo Cor
byte gammatable[256];
unsigned int red, green, blue, clear;
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_4X);
//Servo Motores
Servo BASE;
Servo SUPERIOR;
Servo ATUADOR_AGUA_AQUARIO;
Servo ATUADOR_AGITADOR;
Servo ATUADOR_REJEITO;
Servo ATUADOR_RGB;
Servo ALIMENTADOR;
//Servo Motores Posicoes
byte BASE_REPOUSO = 90;
byte SUPERIOR_REPOUSO = 90;
byte ATUADOR_AGITADOR_SOBE = 180;
byte ATUADOR_AGITADOR_DESCE = 0;
byte ATUADOR_REJEITO_SOBE = 180;
byte ATUADOR_REJEITO_DESCE = 0;
byte ATUADOR_RGB_SOBE = 180;
byte ATUADOR_AGUA_AQUARIO_SOBE = 180;
byte ATUADOR_AGUA_AQUARIO_DESCE = 0;
//Conta Gotas
float GAMMA = 0.7;
float RL10 = 50;
#define commonAnode true
byte CONTA_GOTAS;
//Servo Motores Posicoes Superior
byte POSICAO_AGUA_AQUARIO_SUPERIOR = 70; // ok
byte POSICAO_AGITA_SUPERIOR = 110; // ok
byte POSICAO_REJEITO_SUPERIOR = 80; // ok
byte POSICAO_CONTA_GOTAS_SUPERIOR = 100; // ok
byte POSICAO_TESTE_COR_SUPERIOR = 90; // OK
//Reagentes Posicoes Superior
byte POSICAO_REAGENTE_AMONIA_1_SUPERIOR = 120; // ok
byte POSICAO_REAGENTE_AMONIA_2_SUPERIOR = 130; // ok
byte POSICAO_REAGENTE_NITRITO_1_SUPERIOR = 60; // ok
byte POSICAO_REAGENTE_NITRITO_2_SUPERIOR = 50; // ok
byte POSICAO_REAGENTE_NITRATO_1_SUPERIOR = 40; // ok
byte POSICAO_REAGENTE_NITRATO_2_SUPERIOR = 30; // ok
byte POSICAO_REAGENTE_FOSFATO_1_SUPERIOR = 140; // ok
byte POSICAO_REAGENTE_FOSFATO_2_SUPERIOR = 150; // ok
byte POSICAO_REAGENTE_KH_1_SUPERIOR = 20; // ok
byte POSICAO_REAGENTE_GH_1_SUPERIOR = 10; // ok
byte POSICAO_REAGENTE_IRON_1_SUPERIOR = 160; // ok
byte POSICAO_REAGENTE_IRON_2_SUPERIOR = 170; // ok
byte POSICAO_REAGENTE_IRON_3_SUPERIOR = 180; // ok
//Frascos Posicoes Base
byte POSICAO_FRASCO_AMONIA_BASE = 90; // ok
byte POSICAO_FRASCO_NITRITO_BASE = 70; // ok
byte POSICAO_FRASCO_NITRATO_BASE = 110; // ok
byte POSICAO_FRASCO_FOSFATO_BASE = 50; // ok
byte POSICAO_FRASCO_IRON_BASE = 30; // ok
byte POSICAO_FRASCO_KH_BASE = 130; // ok
byte POSICAO_FRASCO_GH_BASE = 150; // ok
//Posicao Servo Leitura RGB
byte POSICAO_SERVO_LEITURA_COR_AMONIA = 10; //
byte POSICAO_SERVO_LEITURA_COR_NITRITO = 10; //
byte POSICAO_SERVO_LEITURA_COR_NITRATO = 40; //
byte POSICAO_SERVO_LEITURA_COR_FOSFATO = 40; //
byte POSICAO_SERVO_LEITURA_COR_KH = 10; //
byte POSICAO_SERVO_LEITURA_COR_GH = 0; //
byte POSICAO_SERVO_LEITURA_COR_IRON = 10; //
//Teste Amonia
byte GOTAS_REAGENTE_1_AMONIA = 8;
byte GOTAS_REAGENTE_2_AMONIA = 8;
byte MENU_TESTA_AMONIA;
float RESULTADO_TESTE_AMONIA;
byte AMONIA = 0;
//Posicoes Teste Amonia
//Agua Aquario
byte SUPERIOR_AGUA_AMONIA = POSICAO_AGUA_AQUARIO_SUPERIOR - 10;
byte BASE_AGUA_AMONIA = POSICAO_FRASCO_AMONIA_BASE + 10;
//Agitador
byte SUPERIOR_AGITADOR_AMONIA = POSICAO_AGITA_SUPERIOR - 10;
byte BASE_AGITADOR_AMONIA = POSICAO_FRASCO_AMONIA_BASE - 10;
//REJEITO
byte SUPERIOR_REJEITO_AMONIA = POSICAO_REJEITO_SUPERIOR - 10;
byte BASE_REJEITO_AMONIA = POSICAO_FRASCO_AMONIA_BASE;
//Reagente 1 Amonia
byte SUPERIOR_REAGENTE_1_AMONIA = POSICAO_REAGENTE_AMONIA_1_SUPERIOR - 10;
byte BASE_REAGENTE_1_AMONIA = POSICAO_FRASCO_AMONIA_BASE - 20;
//Reagente 2 Amonia
byte SUPERIOR_REAGENTE_2_AMONIA = POSICAO_REAGENTE_AMONIA_2_SUPERIOR - 20;
byte BASE_REAGENTE_2_AMONIA = POSICAO_FRASCO_AMONIA_BASE - 20;
//Leitura amostra
byte SUPERIOR_LEITURA_AMOSTRA_AMONIA = POSICAO_TESTE_COR_SUPERIOR;
byte BASE_LEITURA_AMOSTRA_AMONIA = POSICAO_FRASCO_AMONIA_BASE;
//Teste Nitrito
byte GOTAS_REAGENTE_1_NITRITO = 2;
byte GOTAS_REAGENTE_2_NITRITO = 2;
byte MENU_TESTA_NITRITO;
float RESULTADO_TESTE_NITRITO;
byte NITRITO = 0;
//Posicoes Teste Nitrito
//Agua Aquario
byte SUPERIOR_AGUA_NITRITO = POSICAO_AGUA_AQUARIO_SUPERIOR - 20;
byte BASE_AGUA_NITRITO = POSICAO_FRASCO_NITRITO_BASE + 20;
//Agitador
byte SUPERIOR_AGITADOR_NITRITO = POSICAO_AGITA_SUPERIOR;
byte BASE_AGITADOR_NITRITO = POSICAO_FRASCO_NITRITO_BASE;
//REJEITO
byte SUPERIOR_REJEITO_NITRITO = POSICAO_REJEITO_SUPERIOR + 10;
byte BASE_REJEITO_NITRITO = POSICAO_FRASCO_NITRITO_BASE + 20;
//Reagente 1 Nitrito
byte SUPERIOR_REAGENTE_1_NITRITO = POSICAO_REAGENTE_NITRITO_1_SUPERIOR + 20;
byte BASE_REAGENTE_1_NITRITO = POSICAO_FRASCO_NITRITO_BASE + 30;
//Reagente 2 Nitrito
byte SUPERIOR_REAGENTE_2_NITRITO = POSICAO_REAGENTE_NITRITO_2_SUPERIOR + 30;
byte BASE_REAGENTE_2_NITRITO = POSICAO_FRASCO_NITRITO_BASE + 30;
//Leitura amostra
byte SUPERIOR_LEITURA_AMOSTRA_NITRITO = POSICAO_TESTE_COR_SUPERIOR;
byte BASE_LEITURA_AMOSTRA_NITRITO = POSICAO_FRASCO_NITRITO_BASE + 20;
//Teste Nitrato
byte GOTAS_REAGENTE_1_NITRATO = 2;
byte GOTAS_REAGENTE_2_NITRATO = 2;
byte MENU_TESTA_NITRATO;
float RESULTADO_TESTE_NITRATO;
byte NITRATO = 0;
//Posicoes Teste Nitrato
//Agua Aquario
byte SUPERIOR_AGUA_NITRATO = POSICAO_AGUA_AQUARIO_SUPERIOR - 20;
byte BASE_AGUA_NITRATO = POSICAO_FRASCO_NITRATO_BASE + 20;
//Agitador
byte SUPERIOR_AGITADOR_NITRATO = POSICAO_AGITA_SUPERIOR;
byte BASE_AGITADOR_NITRATO = POSICAO_FRASCO_NITRATO_BASE;
//REJEITO
byte SUPERIOR_REJEITO_NITRATO = POSICAO_REJEITO_SUPERIOR + 10;
byte BASE_REJEITO_NITRATO = POSICAO_FRASCO_NITRATO_BASE + 20;
//Reagente 1 Nitrato
byte SUPERIOR_REAGENTE_1_NITRATO = POSICAO_REAGENTE_NITRATO_1_SUPERIOR + 20;
byte BASE_REAGENTE_1_NITRATO = POSICAO_FRASCO_NITRATO_BASE + 30;
//Reagente 2 Nitrato
byte SUPERIOR_REAGENTE_2_NITRATO = POSICAO_REAGENTE_NITRATO_2_SUPERIOR + 30;
byte BASE_REAGENTE_2_NITRATO = POSICAO_FRASCO_NITRATO_BASE + 30;
//Leitura amostra
byte SUPERIOR_LEITURA_AMOSTRA_NITRATO = POSICAO_TESTE_COR_SUPERIOR;
byte BASE_LEITURA_AMOSTRA_NITRATO = POSICAO_FRASCO_NITRATO_BASE + 20;
//Teste Fosfato
byte GOTAS_REAGENTE_1_FOSFATO = 2;
byte GOTAS_REAGENTE_2_FOSFATO = 2;
byte MENU_TESTA_FOSFATO;
float RESULTADO_TESTE_FOSFATO;
byte FOSFATO = 0;
//Posicoes Teste Fosfato
//Agua Aquario
byte SUPERIOR_AGUA_FOSFATO = POSICAO_AGUA_AQUARIO_SUPERIOR - 20;
byte BASE_AGUA_FOSFATO = POSICAO_FRASCO_FOSFATO_BASE + 20;
//Agitador
byte SUPERIOR_AGITADOR_FOSFATO = POSICAO_AGITA_SUPERIOR;
byte BASE_AGITADOR_FOSFATO = POSICAO_FRASCO_FOSFATO_BASE;
//REJEITO
byte SUPERIOR_REJEITO_FOSFATO = POSICAO_REJEITO_SUPERIOR + 10;
byte BASE_REJEITO_FOSFATO = POSICAO_FRASCO_FOSFATO_BASE + 20;
//Reagente 1 Fosfato
byte SUPERIOR_REAGENTE_1_FOSFATO = POSICAO_REAGENTE_FOSFATO_1_SUPERIOR + 20;
byte BASE_REAGENTE_1_FOSFATO = POSICAO_FRASCO_FOSFATO_BASE + 30;
//Reagente 2 Fosfato
byte SUPERIOR_REAGENTE_2_FOSFATO = POSICAO_REAGENTE_FOSFATO_2_SUPERIOR + 30;
byte BASE_REAGENTE_2_FOSFATO = POSICAO_FRASCO_FOSFATO_BASE + 30;
//Leitura amostra
byte SUPERIOR_LEITURA_AMOSTRA_FOSFATO = POSICAO_TESTE_COR_SUPERIOR;
byte BASE_LEITURA_AMOSTRA_FOSFATO = POSICAO_FRASCO_FOSFATO_BASE + 20;
//Teste Iron
byte GOTAS_REAGENTE_1_IRON = 1;
byte GOTAS_REAGENTE_2_IRON = 6;
byte GOTAS_REAGENTE_3_IRON = 6;
int MENU_TESTA_IRON;
byte CONT_COR_IRON;
byte COR_IRON;
float RESULTADO_TESTE_IRON;
byte IRON = 0;
//Posicoes Teste Iron
//Agua Aquario
byte SUPERIOR_AGUA_IRON = POSICAO_AGUA_AQUARIO_SUPERIOR - 20;
byte BASE_AGUA_IRON = POSICAO_FRASCO_IRON_BASE + 20;
//Agitador
byte SUPERIOR_AGITADOR_IRON = POSICAO_AGITA_SUPERIOR;
byte BASE_AGITADOR_IRON = POSICAO_FRASCO_IRON_BASE;
//REJEITO
byte SUPERIOR_REJEITO_IRON = POSICAO_REJEITO_SUPERIOR + 10;
byte BASE_REJEITO_IRON = POSICAO_FRASCO_IRON_BASE + 20;
//Reagente 1 Iron
byte SUPERIOR_REAGENTE_1_IRON = POSICAO_REAGENTE_IRON_1_SUPERIOR + 20;
byte BASE_REAGENTE_1_IRON = POSICAO_FRASCO_IRON_BASE + 30;
//Reagente 2 Iron
byte SUPERIOR_REAGENTE_2_IRON = POSICAO_REAGENTE_IRON_2_SUPERIOR + 30;
byte BASE_REAGENTE_2_IRON = POSICAO_FRASCO_IRON_BASE + 30;
//Reagente 3 Iron
byte SUPERIOR_REAGENTE_3_IRON = POSICAO_REAGENTE_IRON_2_SUPERIOR + 40;
byte BASE_REAGENTE_3_IRON = POSICAO_FRASCO_IRON_BASE + 30;
//Leitura amostra
byte SUPERIOR_LEITURA_AMOSTRA_IRON = POSICAO_TESTE_COR_SUPERIOR;
byte BASE_LEITURA_AMOSTRA_IRON = POSICAO_FRASCO_IRON_BASE + 20;
//Teste GH
byte GOTAS_REAGENTE_GH = 1;
byte COR_GH;
byte MENU_TESTA_GH;
byte RESULTADO_TESTE_GH;
byte GH = 0;
//Posicoes Teste GH
//Agua Aquario
byte SUPERIOR_AGUA_GH = POSICAO_AGUA_AQUARIO_SUPERIOR - 20;
byte BASE_AGUA_GH = POSICAO_FRASCO_GH_BASE + 20;
//Agitador
byte SUPERIOR_AGITADOR_GH = POSICAO_AGITA_SUPERIOR;
byte BASE_AGITADOR_GH = POSICAO_FRASCO_GH_BASE;
//REJEITO
byte SUPERIOR_REJEITO_GH = POSICAO_REJEITO_SUPERIOR + 10;
byte BASE_REJEITO_GH = POSICAO_FRASCO_GH_BASE + 20;
//Reagente 1 GH
byte SUPERIOR_REAGENTE_1_GH = POSICAO_REAGENTE_GH_1_SUPERIOR + 20;
byte BASE_REAGENTE_1_GH = POSICAO_FRASCO_GH_BASE + 30;
//Leitura amostra
byte SUPERIOR_LEITURA_AMOSTRA_GH = POSICAO_TESTE_COR_SUPERIOR;
byte BASE_LEITURA_AMOSTRA_GH = POSICAO_FRASCO_GH_BASE + 20;
//Teste KH
byte GOTAS_REAGENTE_KH = 1;
byte COR_KH;
byte MENU_TESTA_KH;
float RESULTADO_TESTE_KH;
byte KH = 0;
//Posicoes Teste KH
//Agua Aquario
byte SUPERIOR_AGUA_KH = POSICAO_AGUA_AQUARIO_SUPERIOR - 20;
byte BASE_AGUA_KH = POSICAO_FRASCO_KH_BASE + 20;
//Agitador
byte SUPERIOR_AGITADOR_KH = POSICAO_AGITA_SUPERIOR;
byte BASE_AGITADOR_KH = POSICAO_FRASCO_KH_BASE;
//REJEITO
byte SUPERIOR_REJEITO_KH = POSICAO_REJEITO_SUPERIOR + 10;
byte BASE_REJEITO_KH = POSICAO_FRASCO_KH_BASE + 20;
//Reagente 1 KH
byte SUPERIOR_REAGENTE_1_KH = POSICAO_REAGENTE_KH_1_SUPERIOR + 20;
byte BASE_REAGENTE_1_KH = POSICAO_FRASCO_KH_BASE + 30;
//Leitura amostra
byte SUPERIOR_LEITURA_AMOSTRA_KH = POSICAO_TESTE_COR_SUPERIOR;
byte BASE_LEITURA_AMOSTRA_KH = POSICAO_FRASCO_KH_BASE + 20;
//Modulo Fertilizantes
//Algoritimo Iron
byte PPM_IRON;
byte DOSE_CORRECAO_IRON = 1000; //
static unsigned long TEMPO_LEITURA_CORRECAO_IRON = 1800000; // 30 minutos
int TDS_INICIAL_IRON;
int TDS_1PPM_IRON;
int TDS_VARIAVEL_IRON;
// EXECEL
byte RESPOSTA_EXCEL;
byte CORRECAO_EXCEL;
byte MENU_DOSA_EXEL;
// IRON
byte RESPOSTA_IRON;
byte CORRECAO_IRON;
// ADVANCED
byte RESPOSTA_ADVANCED;
byte CORRECAO_ADVANCED;
// FLOURISH
byte RESPOSTA_FLOURISH;
byte CORRECAO_FLOURISH;
// TRACE
byte RESPOSTA_TRACE;
byte CORRECAO_TRACE;
// PRIME
byte RESPOSTA_PRIME;
byte CORRECAO_PRIME;
//Modulo PH
byte contagem_ph = 0;
float valor_calibracao = 21.34;
float soma_tensao = 0;
float media_ph = 0;
float PH_VAL;
float tensao;
float valor_pH;
//Modulo TFT
Adafruit_ILI9341 tft = Adafruit_ILI9341(SS, TFT_DC);
int DELAY_TFT_INI = 300;
byte INICIALIZACAO_ARDUINO = 0;
byte RESULTADOS = 0;
byte MENUS = 1;
byte ERRO = 0;
float ERROS = 0;
byte page = 0;
//Definicao de cores
#define BLACK 0x0000
#define BLUE 0x2015
#define BLUE2 0x0DDE
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
#define GREY 0xC639
//Modulo Temperatura e Humidade do Ar
//Define Variaveis dos Sensores
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int8_t SENSOR_AQUARIO;
int analogValue0;
int analogValue1;
int8_t SENSOR_COOLER;
const float BETA0 = 3950;
const float BETA1 = 3951;
const float BETA2 = 3952;
byte HUMIDADE;
int8_t SENSOR_AMBIENTE;
//Modulo TDS
#define VREF 5.0 // analog reference voltage(Volt) of the ADC
#define SCOUNT 10 // sum of sample point
int analogBuffer[SCOUNT]; // store the analog value in the array, read from ADC
int analogBufferTemp[SCOUNT];
int analogBufferIndex = 0;
int copyIndex = 0;
float averageVoltage = 0;
float tdsValue = 0;
float temperature = SENSOR_AQUARIO; // current temperature for compensation
float ECVALUE;
// median filtering algorithm
int getMedianNum(int bArray[], int iFilterLen){
int bTab[iFilterLen];
for (byte i = 0; i<iFilterLen; i++)
bTab[i] = bArray[i];
int i, j, bTemp;
for (j = 0; j < iFilterLen - 1; j++) {
for (i = 0; i < iFilterLen - j - 1; i++) {
if (bTab[i] > bTab[i + 1]) {
bTemp = bTab[i];
bTab[i] = bTab[i + 1];
bTab[i + 1] = bTemp;
}
}
}
if ((iFilterLen & 1) > 0){
bTemp = bTab[(iFilterLen - 1) / 2];
}
else {
bTemp = (bTab[iFilterLen / 2] + bTab[iFilterLen / 2 - 1]) / 2;
}
return bTemp;
}
//Modulo Co2
unsigned long SOMA_COR_RED_CO2;
unsigned long SOMA_COR_BLUE_CO2;
unsigned long SOMA_COR_GREEN_CO2;
unsigned long MEDIA_COR_RED_CO2;
unsigned long MEDIA_COR_BLUE_CO2;
unsigned long MEDIA_COR_GREEN_CO2;
byte LEITURA_CO2 = 0;
float RESULTADO_LEITURA_CO2;
//Modulo Nivel de Agua
float ANALOG_VALUE_NIVEL_SUMP;
float CORRECAO_NIVEL_SUMP;
float SOMA_NIVEL_SUMP;
float MEDIA_NIVEL_SUMP;
float NIVEL_SUMP;
float ANALOG_VALUE_NIVEL_AQUA;
float CORRECAO_NIVEL_AQUA;
float SOMA_NIVEL_AQUA;
float MEDIA_NIVEL_AQUA;
float NIVEL_AQUA;
//Horarios das Aplicacoes #######################################################
//Modulo Testes
//Teste de Amonia
byte HORA_TESTA_AMONIA = 5; //18
byte MINUTO_TESTA_AMONIA_0 = 0; //00
byte MINUTO_TESTA_AMONIA_1 = 15; //30
static unsigned long MINUTO_FINALIZA_AMONIA_0; //21
static unsigned long MINUTO_FINALIZA_AMONIA_1;
byte DIA_DA_SEMANA_TESTA_AMONIA = 1; //1
//Teste de Nitrito
byte HORA_TESTA_NITRITO = 5; //18
byte MINUTO_TESTA_NITRITO_0 = 0; //00
byte MINUTO_TESTA_NITRITO_1 = 15; //30
static unsigned long MINUTO_FINALIZA_NITRITO_0; //21
static unsigned long MINUTO_FINALIZA_NITRITO_1;
byte DIA_DA_SEMANA_TESTA_NITRITO = 1; //1
//Teste de Nitrato
byte HORA_TESTA_NITRATO = 5; //18
byte MINUTO_TESTA_NITRATO_0 = 0; //00
byte MINUTO_TESTA_NITRATO_1 = 15; //30
static unsigned long MINUTO_FINALIZA_NITRATO_0; //21
static unsigned long MINUTO_FINALIZA_NITRATO_1;
byte DIA_DA_SEMANA_TESTA_NITRATO = 1; //1
//Teste de Fosfato
byte HORA_TESTA_FOSFATO = 5; //18
byte MINUTO_TESTA_FOSFATO_0 = 0; //00
byte MINUTO_TESTA_FOSFATO_1 = 15; //30
static unsigned long MINUTO_FINALIZA_FOSFATO_0;
static unsigned long MINUTO_FINALIZA_FOSFATO_1;
byte DIA_DA_SEMANA_TESTA_FOSFATO = 1; //1
//Teste de Iron
byte HORA_TESTA_IRON = 0; //18
byte MINUTO_TESTA_IRON_0 = 0; //00
byte MINUTO_TESTA_IRON_1 = 0; //30
static unsigned long MINUTO_FINALIZA_FERRO_0;
static unsigned long MINUTO_FINALIZA_FERRO_1;
byte DIA_DA_SEMANA_TESTA_IRON = 0; //1
//Teste de GH
byte HORA_TESTA_GH = 12; //18
byte MINUTO_TESTA_GH_0 = 0; //00
byte MINUTO_TESTA_GH_1 = 25; //30
static unsigned long MINUTO_FINALIZA_GH_0;
static unsigned long MINUTO_FINALIZA_GH_1;
byte DIA_DA_SEMANA_TESTA_GH = 1; //1
//Teste KH
byte HORA_TESTA_KH = 13; //18
byte MINUTO_TESTA_KH_0 = 0; //00
byte MINUTO_TESTA_KH_1 = 25; //30
static unsigned long MINUTO_FINALIZA_KH_0;
static unsigned long MINUTO_FINALIZA_KH_1;
byte DIA_DA_SEMANA_TESTA_KH = 1; //1
//Modulo Dosadoras
//Excel
byte HORA_DOSA_EXCEL = 0; //15
byte MINUTO_DOSA_EXCEL = 0; //50
int SEGUNDOS_DOSA_EXCEL = 5000;
//Iron
byte HORA_DOSA_IRON = 0; //15
byte MINUTO_DOSA_IRON = 5; //51
int SEGUNDOS_DOSA_IRON = 5000;
//Algoritimo Iron
byte HORA_CHECA_IRON_1 = 0; //17
byte HORA_CHECA_IRON_2 = 0; //20
byte MINUTO_CHECA_IRON_1 = 0; //00
byte MINUTO_CHECA_IRON_2 = 59; //59
byte HORA_FIM_IRON_0 = 17; //21
//Advanced
byte HORA_DOSA_ADVANCED = 0; //15
byte MINUTO_DOSA_ADVANCED = 10; //52
int SEGUNDOS_DOSA_ADVANCED = 5000;
byte DIA_DA_SEMANA_DOSA_ADVANCED_1 = 1;
byte DIA_DA_SEMANA_DOSA_ADVANCED_2 = 3; //3
byte DIA_DA_SEMANA_DOSA_ADVANCED_3 = 6;
//Flourish
byte HORA_DOSA_FLOURISH = 0; //15
byte MINUTO_DOSA_FLOURISH = 15; //53
int SEGUNDOS_DOSA_FLOURISH = 5000;
byte DIA_DA_SEMANA_DOSA_FLOURISH_1 = 1; // 0 = Domingo 1 = Segunda 2 =Terça
byte DIA_DA_SEMANA_DOSA_FLOURISH_2 = 3; // 3 = Quarta 4 = Quinta 5 =Sexta
byte DIA_DA_SEMANA_DOSA_FLOURISH_3 = 6; // 6 = Sabado 0 = domingo
//Trace
byte HORA_DOSA_TRACE = 0; //15
byte MINUTO_DOSA_TRACE = 20; //24
int SEGUNDOS_DOSA_TRACE = 5000;
byte DIA_DA_SEMANA_DOSA_TRACE_1 = 2;
byte DIA_DA_SEMANA_DOSA_TRACE_2 = 4;
byte DIA_DA_SEMANA_DOSA_TRACE_3 = 1; //6
//Prime
byte HORA_DOSA_PRIME = 0; //15
byte MINUTO_DOSA_PRIME = 25; //24
int SEGUNDOS_DOSA_PRIME = 5000;
byte DIA_DA_SEMANA_DOSA_PRIME = 1; //0
//Modulo Co2
//Hora Liga CO2
byte HORA_LIGA_CO2 = 6; //13
byte MINUTO_LIGA_CO2 = 0; //30
//Hora Desliga CO2
byte HORA_DESLIGA_CO2 = 16; //21
byte MINUTO_DESLIGA_CO2 = 0; //45
//Hora Leitura Cor Co2
byte HORA_LEITURA_1_CO2 = 6;
byte HORA_LEITURA_2_CO2 = 16;
//Modulo Luminarias
//Hora Liga Luminarias
int LUMINARIA_1_MINUTO_PWM;
int LUMINARIA_2_MINUTO_PWM;
byte HORA_LIGA_LUMINARIA_1_1_1 = 0; //16
byte MINUTO_LIGA_LUMINARIA_1_1_1 = 40; //0
byte MINUTO_LIGA_LUMINARIA_1_2_1 = 59; //15
byte HORA_DESLIGA_LUMINARIA_1 = 0; //21
byte MINUTO_DESLIGA_LUMINARIA_1_1_1 = 0; //45
byte MINUTO_DESLIGA_LUMINARIA_1_2_1 = 20; //59
byte HORA_LIGA_LUMINARIA_2_1_2 = 0; //16
byte MINUTO_LIGA_LUMINARIA_2_1_2 = 45; //5
byte MINUTO_LIGA_LUMINARIA_2_2_2 = 59; //20
byte HORA_DESLIGA_LUMINARIA_2 = 0; //21
byte MINUTO_DESLIGA_LUMINARIA_2_1_2 = 5; //40
byte MINUTO_DESLIGA_LUMINARIA_2_2_2 = 25; //55
//Modulo Alimentador Automatico
//Primeira Alimentacao
byte HORA_ALIMENTA_1 = 0; //16
byte MINUTO_ALIMENTA_1 = 20; //30
byte SEGUNDO_ALIMENTA_1_1 = 0;
byte SEGUNDO_ALIMENTA_2_1 = 40;
byte HORA_LIGA_FONTE_ALIMENTA_1 = 0; //16
byte MINUTO_LIGA_FONTE_ALIMENTA_1_1 = 19; //29
byte MINUTO_DESLIGA_FONTE_ALIMENTA_2_1 = 21; //31
//Segunda Alimentacao
byte HORA_ALIMENTA_2 = 11; //19
byte MINUTO_ALIMENTA_2 = 20; //1
byte SEGUNDO_ALIMENTA_1_2 = 0;
byte SEGUNDO_ALIMENTA_2_2 = 40;
byte HORA_LIGA_FONTE_ALIMENTA_2 = 11; //19
byte MINUTO_LIGA_FONTE_ALIMENTA_1_2 = 19; //0
byte MINUTO_DESLIGA_FONTE_ALIMENTA_2_2 = 22; //2
//Terceira Alimentacao
byte HORA_ALIMENTA_3 = 16; //21
byte MINUTO_ALIMENTA_3 = 10; //30
byte SEGUNDO_ALIMENTA_1_3 = 0;
byte SEGUNDO_ALIMENTA_2_3 = 40;
byte HORA_LIGA_FONTE_ALIMENTA_3 = 16; //21
byte MINUTO_LIGA_FONTE_ALIMENTA_1_3 = 9; //29
byte MINUTO_DESLIGA_FONTE_ALIMENTA_2_3 = 12; //31
//Valores PWM ###################################################################
//Modulo Testes
//Dosadoras
byte DOSADORA_AGUA_AQUARIO_VALOR_PWM = 255; //
byte AGITADOR_VALOR_PWM = 255; //
byte DOSADORA_AGUA_REJEITO_VALOR_PWM = 255; //
byte DOSA_AMOSTRA_AMONIA_VALOR_PWM = 50; //
byte DOSA_AMOSTRA_NITRITO_VALOR_PWM = 50; //
byte DOSA_AMOSTRA_NITRATO_VALOR_PWM = 50; //
byte DOSA_AMOSTRA_FOSFATO_VALOR_PWM = 50; //
byte DOSA_AMOSTRA_IRON_VALOR_PWM = 50; //
byte DOSA_AMOSTRA_GH_VALOR_PWM = 50; //
byte DOSA_AMOSTRA_KH_VALOR_PWM = 50; //
byte DOSADORA_REAGENTE_CONTA_GOTAS_AMONIA_VALOR_PWM = 100; //
byte DOSADORA_REAGENTE_CONTA_GOTAS_NITRITO_VALOR_PWM = 100; //
byte DOSADORA_REAGENTE_CONTA_GOTAS_NITRATO_VALOR_PWM = 100; //
byte DOSADORA_REAGENTE_CONTA_GOTAS_FOSFATO_VALOR_PWM = 100; //
byte DOSADORA_REAGENTE_CONTA_GOTAS_IRON_VALOR_PWM = 100; //
byte DOSADORA_REAGENTE_CONTA_GOTAS_GH_VALOR_PWM = 100; //
byte DOSADORA_REAGENTE_CONTA_GOTAS_KH_VALOR_PWM = 100; //
//Modulo Fertilizantes
byte DOSADORA_EXCEL_VALOR_PWM = 128;
byte DOSADORA_IRON_VALOR_PWM = 128;
byte DOSADORA_ADVANCED_VALOR_PWM = 255;
byte DOSADORA_FLOURISH_VALOR_PWM = 255;
byte DOSADORA_TRACE_VALOR_PWM = 255;
byte DOSADORA_PRIME_VALOR_PWM = 255;
//Modulo Temperatura e Humidade do Ar
byte PELTIER_VALOR_PWM_0 = 0;
byte PELTIER_VALOR_PWM_1 = 80;
byte PELTIER_VALOR_PWM_2 = 110;
byte PELTIER_VALOR_PWM_3 = 140;
byte PELTIER_VALOR_PWM_4 = 170;
byte PELTIER_VALOR_PWM_5 = 200;
byte PELTIER_SOMA_PWM = 0;
//Modulo Luminarias
unsigned int LUMINARIA_1_VAL_PWM;
unsigned int LUMINARIA_2_VAL_PWM;
unsigned int LUMINARIA_1_LIGA_DESLIGA;
unsigned int LUMINARIA_2_LIGA_DESLIGA;
//Millis tft.print ##############################################################
//Modulo Testes
//Variaveis Globais
static unsigned long MILLIS_TESTE_REAGENTES; //0
static unsigned long MILLIS_TFT_INICIO_TESTE = 100; //5000
static unsigned long TEMPO_AGITAR = 100; //10000
static unsigned long TEMPO_COMUM = 100; //3500
static unsigned long TEMPO_TROCA_POSICAO = 100; //5000
static unsigned long DELAY_SERVO_ATUADOR = 100; //5000
static unsigned long TEMPO_AGITADOR_REAGENTE = 100; // 30000
static unsigned long MILLIS_CORRIGE_IRON;
//Testes Amonia
static unsigned long TEMPO_LAVAR_FRASCO_AMONIA = 100; // 5000
static unsigned long TEMPO_ESVAZIAR_REJEITO_AMONIA = 100; //6000
static unsigned long TEMPO_5ML_AMONIA = 100; //7000
static unsigned long TEMPO_RESULTADO_TESTE_AMONIA = 100; //240000
//Testes Nitrito
static unsigned long TEMPO_LAVAR_FRASCO_NITRITO = 100; // 5000
static unsigned long TEMPO_ESVAZIAR_REJEITO_NITRITO = 100; //6000
static unsigned long TEMPO_5ML_NITRITO = 100; //7000
static unsigned long TEMPO_RESULTADO_TESTE_NITRITO = 100; //600000
//Testes Nitrato
static unsigned long TEMPO_LAVAR_FRASCO_NITRATO = 100; // 5000
static unsigned long TEMPO_ESVAZIAR_REJEITO_NITRATO = 100; //6000
static unsigned long TEMPO_5ML_NITRATO = 100; //7000
static unsigned long TEMPO_RESULTADO_TESTE_NITRATO = 100; //600000
//Testes Fosfato
static unsigned long TEMPO_LAVAR_FRASCO_FOSFATO = 100; // 5000
static unsigned long TEMPO_ESVAZIAR_REJEITO_FOSFATO = 100; //6000
static unsigned long TEMPO_5ML_FOSFATO = 100; //7000
static unsigned long TEMPO_RESULTADO_TESTE_FOSFATO = 100; //600000
//Testes Iron
static unsigned long TEMPO_LAVAR_FRASCO_IRON = 100; // 5000
static unsigned long TEMPO_ESVAZIAR_REJEITO_IRON = 100; //6000
static unsigned long TEMPO_5ML_IRON = 100; //7000
static unsigned long TEMPO_RESULTADO_TESTE_IRON = 100; //600000
//Testes GH
static unsigned long TEMPO_LAVAR_FRASCO_GH = 100; // 5000
static unsigned long TEMPO_ESVAZIAR_REJEITO_GH = 100; //6000
static unsigned long TEMPO_5ML_GH = 100; //7000
static unsigned long TEMPO_RESULTADO_TESTE_GH = 100; //600000
//Testes KH
static unsigned long TEMPO_LAVAR_FRASCO_KH = 100; // 5000
static unsigned long TEMPO_ESVAZIAR_REJEITO_KH = 100; //6000
static unsigned long TEMPO_5ML_KH = 100; //7000
static unsigned long TEMPO_RESULTADO_TESTE_KH = 100; //600000
//Temperatura Aquario
static unsigned long MILLIS_PELTIER_PWM = 0;
static unsigned long MILLIS_PELTIER_PWM_0 = 5000;
static unsigned long MILLIS_PELTIER_PWM_1 = 10000;
static unsigned long MILLIS_PELTIER_PWM_2 = 15000;
static unsigned long MILLIS_PELTIER_PWM_3 = 20000;
static unsigned long MILLIS_PELTIER_PWM_4 = 25000;
static unsigned long MILLIS_PELTIER_PWM_5 = 30000;
//Leitura Co2
static unsigned long MILLIS_TEMPO_CO2 = 0;
static unsigned long TEMPO_MILLIS_CO2 = 900000; // 900000
//Modulo Nivel Aquario
static unsigned long MILLIS_MEDIA_NIVEL_SUMP;
static unsigned long MILLIS_MEDIA_NIVEL_AQUA;
//Millis TFT & Serial Print
static unsigned long MILLIS_TESTES_TFT_PRINT = 0;
static unsigned long MILLIS_TFT = 2000;
static unsigned long MILLIS_TFT_PRINT = 0;
static unsigned long MILLIS_MENU_PRINT = 0;
void setup () {
//Modulo TFT
SPI.begin();
tft.begin();
ctp.begin(40);
tft.setRotation(1);
//pinMode(MISO, INPUT);
//pinMode(SCK, OUTPUT);
//pinMode(MOSI, OUTPUT);
//pinMode(SS, OUTPUT);
//pinMode(CS_PIN, OUTPUT);
//digitalWrite(SCK, LOW);
//digitalWrite(MOSI, LOW);
//digitalWrite(SS, HIGH);
//telainicial();
//page=0;
//Tft.begin(0x9341);
//if (! ctp.begin(40)) { // pass in 'sensitivity' coefficient
//Serial.println("Couldn't start FT6206 touchscreen controller");
//while (1);
//}
//Modulo Data e Hora
if (! rtc.begin()) {
ERRO = 1;
ERROS = 1.1;
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("ERROS.txt", FILE_WRITE);
if (myFile) {
myFile.println("1.1");
myFile.close();
} else {
Serial.println("Erro ao Abrir ERROS1.txt");
}
}
if (! rtc.isrunning()) {
ERRO = 1;
//ERROS = 1.2;
myFile = SD.open("ERROS.txt", FILE_WRITE);
if (myFile) {
myFile.println("1.2");
myFile.close();
} else {
Serial.println("Erro ao Abrir ERROS.txt");
}
//digitalWrite(CS_PIN, LOW);
}
// When time needs to be set on a new device, or after a power loss, the
// following line sets the RTC to the date & time this sketch was compiled
//rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
//Modulo Serial Print
//Serial.begin(9600);
//Serial.begin(115200);
//Modulo SD Card
if (! SD.begin(CS_PIN)) {
ERRO = 1;
ERROS = 1.3;
}
//Modulo Shit Register
pinMode(pinSH_CP, OUTPUT);
pinMode(pinST_CP, OUTPUT);
pinMode(pinDS, OUTPUT);
//osrWriteRegister(0);
//Modulo Testes
//Servo Motores
BASE.attach(BASE_PIN);
SUPERIOR.attach(SUPERIOR_PIN);
ATUADOR_AGITADOR.attach(ATUADOR_AGITADOR_PIN);
ATUADOR_AGUA_AQUARIO.attach(ATUADOR_AGUA_AQUARIO_PIN);
ATUADOR_REJEITO.attach(ATUADOR_REJEITO_PIN);
ATUADOR_RGB.attach(ATUADOR_RGB_PIN);
//Agitador
pinMode(AGITADOR_VALOR_PWM_PIN, OUTPUT);
//Conta Gotas
pinMode(LDR_PIN, INPUT);
//Modulo Cor
tcs.begin();
//if (!tcs.begin()) {
//ERRO = 1;
//ERROS = 1.4;
//}
//Serial.println("Found sensor");
//} else {
//Serial.println("No TCS34725 found ... check your connections");
// while (1); // halt!
//}
// use these three pins to drive an LED
//#if defined(ARDUINO_ARCH_ESP32)
// ledcAttachPin(redpin, 1);
// ledcSetup(1, 12000, 8);
// ledcAttachPin(greenpin, 2);
// ledcSetup(2, 12000, 8);
// ledcAttachPin(bluepin, 3);
// ledcSetup(3, 12000, 8);
//#else
// pinMode(redpin, OUTPUT);
// pinMode(greenpin, OUTPUT);
// pinMode(bluepin, OUTPUT);
///#endif
for (int i=0; i<256; i++) {
float x = i;
x /= 255;
x = pow(x, 2.5);
x *= 255;
if (commonAnode) {
gammatable[i] = 255 - x;
} else {
gammatable[i] = x;
}
}
//Modulo Dosadora Fertilizantes
pinMode(DOSADORA_VALOR_PWM_PIN, OUTPUT);
pinMode(DOSADORA_PRIME_RELE_PIN, OUTPUT);
pinMode(TRIG_EXCEL_PIN, OUTPUT);
pinMode(ECHO_EXCEL_PIN, INPUT);
pinMode(TRIG_IRON_PIN, OUTPUT);
pinMode(ECHO_IRON_PIN, INPUT);
pinMode(TRIG_ADVANCED_PIN, OUTPUT);
pinMode(ECHO_ADVANCED_PIN, INPUT);
pinMode(TRIG_FLOURISH_PIN, OUTPUT);
pinMode(ECHO_FLOURISH_PIN, INPUT);
pinMode(TRIG_TRACE_PIN, OUTPUT);
pinMode(ECHO_TRACE_PIN, INPUT);
pinMode(TRIG_PRIME_PIN, OUTPUT);
pinMode(ECHO_PRIME_PIN, INPUT);
//Modulo Temperatura e Humidade do Ar
dht.begin();
pinMode(COOLER_PELTIER_RELE_PIN, OUTPUT);
pinMode(PELTIER_ON_PONTE_H_PIN, OUTPUT);
pinMode(PELTIER_VALOR_PWM_PIN, OUTPUT);
pinMode(TERMOSTATO_AQUECEDOR_RELE_PIN, OUTPUT);
//Modulo TDS
pinMode(TdsSensorPin,INPUT);
//Modulo Co2
pinMode(CO2_RELE_PIN, OUTPUT);
//Modulo Nivel de Agua
pinMode(SUMP_PIN, INPUT);
pinMode(AQUA_PIN, INPUT);
//Modulo Luminarias
pinMode(LUMINARIA_1_ON_PONTE_H_PIN, OUTPUT);
pinMode(LUMINARIA_1_VALOR_PWM_PIN, OUTPUT);
//Modulo Alimentador Automatico
ALIMENTADOR.attach(ALIMENTADOR_PIN);
//Estado das portas
//Fontes
ciWrite(F12V_DOSA_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
digitalWrite(FONTE_12V_LUMINARIAS_PIN, LOW);
ciWrite(FONTE_12V_LUMINARIAS_RELE_PIN, LOW);
digitalWrite(FONTE_24V_PELTIER_PIN, LOW);
ciWrite(FONTE_24V_PELTIER_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
//Shift Register
digitalWrite(pinSH_CP, LOW);
digitalWrite(pinST_CP, LOW);
digitalWrite(pinDS, LOW);
//Conta Gotas
ciWrite(LED_EMISSOR_PIN, LOW);
//Pontes H
ciWrite(AGITADOR_TESTE_PIN, LOW);
digitalWrite(PELTIER_ON_PONTE_H_PIN, LOW);
digitalWrite(LUMINARIA_1_ON_PONTE_H_PIN, LOW);
ciWrite(LUMINARIA_2_ON_PONTE_H_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
digitalWrite(PELTIER_ON_PONTE_H_PIN, LOW);
//PWM
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
analogWrite(PELTIER_VALOR_PWM_PIN, 0);
analogWrite(LUMINARIA_1_VALOR_PWM_PIN, 0);
analogWrite(LUMINARIA_2_VALOR_PWM_PIN, 0);
//Dosadoras
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_AMONIA_1_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_AMONIA_2_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_NITRITO_1_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_NITRITO_2_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_NITRATO_1_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_NITRATO_2_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_FOSFATO_1_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_FOSFATO_2_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_KH_RELE_PIN, LOW);
ciWrite(DOSADORA_TESTE_GH_RELE_PIN, LOW);
ciWrite(DOSADORA_EXCEL_RELE_PIN, LOW);
ciWrite(DOSADORA_IRON_RELE_PIN, LOW);
ciWrite(DOSADORA_ADVANCED_RELE_PIN, LOW);
ciWrite(DOSADORA_FLOURISH_RELE_PIN, LOW);
ciWrite(DOSADORA_TRACE_RELE_PIN, LOW);
digitalWrite(DOSADORA_PRIME_RELE_PIN, LOW);
//Nivel Fertilizantes
digitalWrite(ECHO_EXCEL_PIN, LOW);
digitalWrite(TRIG_EXCEL_PIN, LOW);
digitalWrite(ECHO_IRON_PIN, LOW);
digitalWrite(TRIG_IRON_PIN, LOW);
digitalWrite(ECHO_ADVANCED_PIN, LOW);
digitalWrite(TRIG_ADVANCED_PIN, LOW);
digitalWrite(ECHO_FLOURISH_PIN, LOW);
digitalWrite(TRIG_FLOURISH_PIN, LOW);
digitalWrite(ECHO_TRACE_PIN, LOW);
digitalWrite(TRIG_TRACE_PIN, LOW);
digitalWrite(ECHO_PRIME_PIN, LOW);
digitalWrite(TRIG_PRIME_PIN, LOW);
//Modulo Temperatura
digitalWrite(COOLER_PELTIER_RELE_PIN, LOW);
ciWrite(PELTIER_RELE_PIN, LOW);
digitalWrite(TERMOSTATO_AQUECEDOR_RELE_PIN, LOW);
//Co2
digitalWrite(CO2_RELE_PIN, LOW);
//Luminarias
ciWrite(LUMINARIA_1_RELE_PIN, LOW);
digitalWrite(LUMINARIA_2_RELE_PIN, LOW);
//Servos Motores
ALIMENTADOR.write(0);
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
}
//
void loop () {
//Modulo Data e Hora
DateTime now = rtc.now();
//Modulo Shit Register
// ciWrite(46, HIGH);
//Modulo TFT
ctp.touched();
TS_Point p = ctp.getPoint();
/*SPI.beginTransaction(settingsA);
digitalWrite (slaveAPin, LOW);
stat = SPI.transfer(0);
val1 = SPI.transfer(0);
val2 = SPI.transfer(0);
digitalWrite (slaveAPin, HIGH);
SPI.endTransaction();
if (stat == 1) {
result = val1;
} else if (stat == 2) {
result = val2;
} else {
result = 0;
}
// send result to device B
SPI.beginTransaction(settingsB);
digitalWrite (slaveBPin, LOW);
SPI.transfer(result);
digitalWrite (slaveBPin, HIGH);
SPI.endTransaction();*/
// if (! ctp.touched()) {
//return;
//}
//SPI.setClockDivider(21);
//SPI.beginTransaction(SPISettings(20000000, MSBFIRST, SPI_MODE0));
//SPI.beginTransaction(SPISettings(20000000, LSBFIRST, SPI_MODE0));
//SPI.endTransaction();
//Modulo SD Card
/*
// Serial.print("RESULTADO_TESTE_KH: ");
// Serial.println(RESULTADO_TESTE_KH);
digitalWrite(CS_PIN, HIGH);
myFile = SD.open("ERROS.txt");
if (myFile) {
Serial.println("ERROS.txt:");
// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}
// close the file:
myFile.close();
} else {
// if the file didn't open, print an error:
Serial.println("error opening ERROS.txt");
digitalWrite(CS_PIN, LOW);
}*/
//Modulo Turbidez
int sensorValue = analogRead(SENSOR_TURBIDEZ);
int TURBIDEZ = map(sensorValue, 0,640, 100, 0);
//Modulo Testes
//Modulo Cor
//float red, green, blue;
//tcs.setInterrupt(false); // turn on LED
// delay(60); // takes 50ms to read
//tcs.getRGB(&red, &green, &blue);
// tcs.setInterrupt(true); // turn off LED
//tcs.getRawData(&red, &green, &blue, &clear);
//tcs.setInterrupt(false); // turn on LED
//delay(60); // takes 50ms to read
//#if defined(ARDUINO_ARCH_ESP32)
//ledcWrite(1, gammatable[(int)red]);
//ledcWrite(2, gammatable[(int)green]);
//ledcWrite(3, gammatable[(int)blue]);
// #else
//analogWrite(redpin, gammatable[(int)red]);
//analogWrite(greenpin, gammatable[(int)green]);
//analogWrite(bluepin, gammatable[(int)blue]);
//#endif
//Conta Gotas
int analogValue2 = analogRead(LDR_PIN);
float voltageg = analogValue2 / 1024. * 5;
float resistance = 2000 * voltageg / (1 - voltageg / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
if (lux <= 100000){
CONTA_GOTAS++;
}
//Teste De Amonia
//IniCio Teste Amonia 0
if ((DIA_DA_SEMANA_TESTA_AMONIA==now.dayOfTheWeek()) & (HORA_TESTA_AMONIA==now.hour()) || MENU_TESTA_AMONIA == 1 & TESTES <= 122){
if((now.minute() >= MINUTO_TESTA_AMONIA_0) & (now.minute() <= MINUTO_TESTA_AMONIA_1) || MENU_TESTA_AMONIA == 1){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
ciWrite(AGITADOR_ON_PONTE_H_PIN, HIGH);
//analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
//analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_TESTE_VALOR_LAVA_PWM);
//Primeira Mudanca de Posicao Agua Amonia 1
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 0){
SUPERIOR.write(SUPERIOR_AGUA_AMONIA);
BASE.write(BASE_AGUA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= MILLIS_TFT_INICIO_TESTE & TESTES == 1){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_AMONIA & TESTES == 3){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 4
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 4){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 5
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 5){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 6){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 7){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 8){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 9
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 9){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 10
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 10){
SUPERIOR.write(SUPERIOR_REJEITO_AMONIA);
BASE.write(BASE_REJEITO_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 11){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 12){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_AMONIA & TESTES == 13){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Rejeito 14
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 14){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Amonia 15
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 15){
SUPERIOR.write(SUPERIOR_AGUA_AMONIA);
BASE.write(BASE_AGUA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 16){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 17){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_AMONIA & TESTES == 18){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 19
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 19){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 20
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 20){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 21){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 22){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 23){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 24
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 24){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 25
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 25){
SUPERIOR.write(SUPERIOR_REJEITO_AMONIA);
BASE.write(BASE_REJEITO_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 26){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 27){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_AMONIA & TESTES == 28){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 29
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 29){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Amonia 30
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 30){
SUPERIOR.write(SUPERIOR_AGUA_AMONIA);
BASE.write(BASE_AGUA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 31){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 32){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_AMONIA & TESTES == 33){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 34
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 34){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 35
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 35){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 36){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 37){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 38){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 39
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 39){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 40
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 40){
SUPERIOR.write(SUPERIOR_REJEITO_AMONIA);
BASE.write(BASE_REJEITO_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 41){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 42){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_AMONIA & TESTES == 43){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 44
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 44){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Quarta Mudanca de Posicao Agua Amonia 45
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 45){
SUPERIOR.write(SUPERIOR_AGUA_AMONIA);
BASE.write(BASE_AGUA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 46){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 47){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSA_AMOSTRA_AMONIA_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_5ML_AMONIA & TESTES == 48){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Coletando Amostra 49
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 49){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Amonia 1 50
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 50){
SUPERIOR.write(SUPERIOR_REAGENTE_1_AMONIA);
BASE.write(BASE_REAGENTE_1_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 1 51
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 51){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_AMONIA_1, HIGH);
TESTES++;
}
//Agitador Reagente 1 Agitado 52
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 52){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_AMONIA_1, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 53){
ciWrite(DOSADORA_TESTE_AMONIA_1_RELE_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_AMONIA_VALOR_PWM);
ciWrite(LED_EMISSOR_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_1_AMONIA){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_AMONIA_1_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Primeiro Reagente Dosado 54
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 54 & CONTA_GOTAS >= GOTAS_REAGENTE_1_AMONIA){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 55
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 55){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 56){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 57){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Amostra Agitada 58
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 58){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Amonia 2 59
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 59){
SUPERIOR.write(SUPERIOR_REAGENTE_2_AMONIA);
BASE.write(BASE_REAGENTE_2_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 2 60
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 60){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_AMONIA_2, HIGH);
TESTES++;
}
//Agitador Reagente 2 Agitado 61
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 61){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_AMONIA_2, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 62){
ciWrite(LED_EMISSOR_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_AMONIA_VALOR_PWM);
ciWrite(DOSADORA_TESTE_AMONIA_2_RELE_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_2_AMONIA){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_AMONIA_2_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Segundo Reagente Dosado 63
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & CONTA_GOTAS >= GOTAS_REAGENTE_1_AMONIA){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 64
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 64){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 65){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 66){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Amostra Agitada 67
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 67){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 68
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 68){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_AMONIA);
BASE.write(BASE_LEITURA_AMOSTRA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Reacao da Amostra 69
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_RESULTADO_TESTE_AMONIA & TESTES == 69){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_AMONIA);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = SOMA_COR_RED + red;
SOMA_COR_BLUE = SOMA_COR_BLUE + blue;
SOMA_COR_GREEN = SOMA_COR_GREEN + green;
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando a Amostra 70
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 70){
if(MEDIA_COR_RED <=165 &MEDIA_COR_RED >=145 &MEDIA_COR_GREEN <=165 &MEDIA_COR_GREEN >=145 &MEDIA_COR_BLUE <=165 &MEDIA_COR_BLUE >=145){
RESULTADO_TESTE_AMONIA = 0.00;
delay(50);
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("APAGANDO");
tft.setCursor(30,150);
tft.print("NH3.txt.");
SD.remove("NH3.txt");
delay(50);
if (SD.exists("NH3.txt")) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("NH3.txt" );
tft.setTextSize(4);
tft.setCursor(0,150);
tft.print("Ainda Existe.");
} else {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,30);
tft.print("NH3.txt");
tft.setTextSize(5);
tft.setCursor(0,100);
tft.print("Nao Existe");
tft.setTextSize(5);
tft.setCursor(70,160);
tft.print("Mais.");
}
myFile = SD.open("NH3.txt", FILE_WRITE);
if (myFile) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(20,30);
tft.print("GRAVANDO");
tft.setTextSize(5);
tft.setCursor(10,100);
tft.print("RESULTADO");
tft.setTextSize(5);
tft.setCursor(70,170);
tft.print("NO SD");
myFile.println(RESULTADO_TESTE_AMONIA);
myFile.close();
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(20,90);
tft.print("Feito.");
} else {
Serial.println("Erro ao Abrir NH3.txt");
}
//digitalWrite(CS_PIN, LOW);
}
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Resultado do Teste 71
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 71){
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Rejeito Amostra 72
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 72){
SUPERIOR.write(SUPERIOR_REJEITO_AMONIA);
BASE.write(BASE_REJEITO_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 73){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 74){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_AMONIA & TESTES == 75){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 76
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 76){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agua Amonia 77
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 77){
SUPERIOR.write(SUPERIOR_AGUA_AMONIA);
BASE.write(BASE_AGUA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 78){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 79){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_AMONIA & TESTES == 80){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 81
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 81){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 82
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 82){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 83){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 84){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 85){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 86
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 86){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 87
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 87){
SUPERIOR.write(SUPERIOR_REJEITO_AMONIA);
BASE.write(BASE_REJEITO_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 88){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 89){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_AMONIA & TESTES == 90){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 91
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 91){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Amonia 92
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 92){
SUPERIOR.write(SUPERIOR_AGUA_AMONIA);
BASE.write(BASE_AGUA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 93){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 94){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_AMONIA & TESTES == 95){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 96
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 96){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 97
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 97){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 98){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 99){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 100){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 101
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 101){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 102
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 102){
SUPERIOR.write(SUPERIOR_REJEITO_AMONIA);
BASE.write(BASE_REJEITO_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 103){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 104){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_AMONIA & TESTES == 105){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo REJEITO 106
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 106){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Amonia 107
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 107){
SUPERIOR.write(SUPERIOR_AGUA_AMONIA);
BASE.write(BASE_AGUA_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 108){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 109){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_AMONIA & TESTES == 110){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 111
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 111){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 112
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 112){
SUPERIOR.write(SUPERIOR_AGITADOR_AMONIA);
BASE.write(BASE_AGITADOR_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 113){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 114){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 115){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 116
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 116){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 117
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 117){
SUPERIOR.write(SUPERIOR_REJEITO_AMONIA);
BASE.write(BASE_REJEITO_AMONIA);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 118){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 119){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_AMONIA & TESTES == 120){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 121
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 121){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Fim Teste Amonia 122
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 122){
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
AMONIA = 1;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
}
}
//Resetando Parametros Teste Amonia 123
if (TESTES == 123 & AMONIA == 1){
MENU_TESTA_AMONIA = 0;
MINUTO_FINALIZA_AMONIA_0 = now.minute();
AMONIA = 2;
TESTES = 124;
}
if(now.minute() == 59){
MINUTO_FINALIZA_AMONIA_0 = 0;
}
if(TESTES == 124 & AMONIA == 2){
MINUTO_FINALIZA_AMONIA_1 = now.minute();
}
if(MINUTO_FINALIZA_AMONIA_1 > MINUTO_FINALIZA_AMONIA_0){
red = 0;
green = 0;
blue = 0;
clear = 0;
MEDIA_COR_RED = 0;
SOMA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = 0;
TESTES = 0;
MINUTO_FINALIZA_AMONIA_0 = 0;
MINUTO_FINALIZA_AMONIA_1 = 0;
AMONIA = 0;
ERRO = 1;
}
//Teste De Nitrito
//IniCio Teste Nitrito 0
if ((DIA_DA_SEMANA_TESTA_NITRITO==now.dayOfTheWeek()) & (HORA_TESTA_NITRITO==now.hour()) & TESTES <= 122 || MENU_TESTA_NITRITO == 1){
if((now.minute() >= MINUTO_TESTA_NITRITO_0) & (now.minute() <= MINUTO_TESTA_NITRITO_1) || MENU_TESTA_NITRITO == 1){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
ciWrite(AGITADOR_ON_PONTE_H_PIN, HIGH);
//analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
//analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_TESTE_VALOR_LAVA_PWM);
//Primeira Mudanca de Posicao Agua Nitrito 0
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 0){
SUPERIOR.write(SUPERIOR_AGUA_NITRITO);
BASE.write(BASE_AGUA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= MILLIS_TFT_INICIO_TESTE & TESTES == 1){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRITO & TESTES == 3){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 4
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 4){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 5
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 5){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 6){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 7){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 8){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 9
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 9){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 10
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 10){
SUPERIOR.write(SUPERIOR_REJEITO_NITRITO);
BASE.write(BASE_REJEITO_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 11){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 12){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRITO & TESTES == 13){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Rejeito 14
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 14){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Nitrito 15
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 15){
SUPERIOR.write(SUPERIOR_AGUA_NITRITO);
BASE.write(BASE_AGUA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 16){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 17){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRITO & TESTES == 18){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 19
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 19){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 20
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 20){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 21){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 22){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 23){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 24
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 24){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 25
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 25){
SUPERIOR.write(SUPERIOR_REJEITO_NITRITO);
BASE.write(BASE_REJEITO_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 26){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 27){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRITO & TESTES == 28){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 29
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 29){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Nitrito 30
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 30){
SUPERIOR.write(SUPERIOR_AGUA_NITRITO);
BASE.write(BASE_AGUA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 31){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 32){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRITO & TESTES == 33){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 34
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 34){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 35
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 35){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 36){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 37){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 38){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 39
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 39){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 40
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 40){
SUPERIOR.write(SUPERIOR_REJEITO_NITRITO);
BASE.write(BASE_REJEITO_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 41){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 42){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRITO & TESTES == 43){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 44
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 44){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Quarta Mudanca de Posicao Agua Nitrito 45
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 45){
SUPERIOR.write(SUPERIOR_AGUA_NITRITO);
BASE.write(BASE_AGUA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 46){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 47){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSA_AMOSTRA_NITRITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_5ML_NITRITO & TESTES == 48){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Coletando Amostra 49
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 49){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Nitrito 1 50
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 50){
SUPERIOR.write(SUPERIOR_REAGENTE_1_NITRITO);
BASE.write(BASE_REAGENTE_1_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 1 51
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 51){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_NITRITO_1, HIGH);
TESTES++;
}
//Agitador Reagente 1 Agitado 52
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 52){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_NITRITO_1, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 53){
ciWrite(DOSADORA_TESTE_NITRITO_1_RELE_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_NITRITO_VALOR_PWM);
ciWrite(LED_EMISSOR_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_1_NITRITO){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_NITRITO_1_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Primeiro Reagente Dosado 54
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 54 & CONTA_GOTAS >= GOTAS_REAGENTE_1_NITRITO){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 55
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 55){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 56){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 57){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Amostra Agitada 58
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 58){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Nitrito 2 59
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 59){
SUPERIOR.write(SUPERIOR_REAGENTE_2_NITRITO);
BASE.write(BASE_REAGENTE_2_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 2 60
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 60){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_NITRITO_2, HIGH);
TESTES++;
}
//Agitador Reagente 2 Agitado 61
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 61){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_NITRITO_2, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 62){
ciWrite(LED_EMISSOR_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_NITRITO_VALOR_PWM);
ciWrite(DOSADORA_TESTE_NITRITO_2_RELE_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_2_NITRITO){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_NITRITO_2_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Segundo Reagente Dosado 63
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & CONTA_GOTAS >= GOTAS_REAGENTE_1_NITRITO){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 64
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 64){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 65){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 66){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Amostra Agitada 67
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 67){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 68
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 68){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_NITRITO);
BASE.write(BASE_LEITURA_AMOSTRA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Reacao da Amostra 69
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_RESULTADO_TESTE_NITRITO & TESTES == 69){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_NITRITO);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = (SOMA_COR_RED + red);
SOMA_COR_BLUE = (SOMA_COR_BLUE + blue);
SOMA_COR_GREEN = (SOMA_COR_GREEN + green);
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando a Amostra 70
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 70){
if(MEDIA_COR_RED <=168 &MEDIA_COR_RED >=148 &MEDIA_COR_GREEN <=168 &MEDIA_COR_GREEN >=148 &MEDIA_COR_BLUE <=168 &MEDIA_COR_BLUE >=148){
RESULTADO_TESTE_NITRITO = 0.00;
delay(50);
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("APAGANDO");
tft.setCursor(30,150);
tft.print("NO2.txt.");
SD.remove("NO2.txt");
delay(50);
if (SD.exists("NO2.txt")) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("NO2.txt" );
tft.setTextSize(4);
tft.setCursor(0,150);
tft.print("Ainda Existe.");
} else {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,30);
tft.print("NO2.txt");
tft.setTextSize(5);
tft.setCursor(0,100);
tft.print("Nao Existe");
tft.setTextSize(5);
tft.setCursor(70,160);
tft.print("Mais.");
}
myFile = SD.open("NO2.txt", FILE_WRITE);
if (myFile) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(20,30);
tft.print("GRAVANDO");
tft.setTextSize(5);
tft.setCursor(10,100);
tft.print("RESULTADO");
tft.setTextSize(5);
tft.setCursor(70,170);
tft.print("NO SD");
myFile.println(RESULTADO_TESTE_NITRITO);
myFile.close();
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(20,90);
tft.print("Feito.");
} else {
Serial.println("Erro ao Abrir NO2.txt");
}
//digitalWrite(CS_PIN, LOW);
}
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Resultado do Teste 71
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 71){
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 72
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 72){
SUPERIOR.write(SUPERIOR_REJEITO_NITRITO);
BASE.write(BASE_REJEITO_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 73){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 74){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRITO & TESTES == 75){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 76
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 76){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agua Nitrito 77
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 77){
SUPERIOR.write(SUPERIOR_AGUA_NITRITO);
BASE.write(BASE_AGUA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 78){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 79){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRITO & TESTES == 80){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 81
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 81){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 82
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 82){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 83){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 84){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 85){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 86
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 86){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 87
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 87){
SUPERIOR.write(SUPERIOR_REJEITO_NITRITO);
BASE.write(BASE_REJEITO_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 88){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 89){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRITO & TESTES == 90){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 91
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 91){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Nitrito 92
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 92){
SUPERIOR.write(SUPERIOR_AGUA_NITRITO);
BASE.write(BASE_AGUA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 93){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 94){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRITO & TESTES == 95){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 96
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 96){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 97
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 97){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 98){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 99){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 100){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 101
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 101){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 102
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 102){
SUPERIOR.write(SUPERIOR_REJEITO_NITRITO);
BASE.write(BASE_REJEITO_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 103){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 104){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRITO & TESTES == 105){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo REJEITO 106
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 106){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Nitrito 107
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 107){
SUPERIOR.write(SUPERIOR_AGUA_NITRITO);
BASE.write(BASE_AGUA_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 108){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 109){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRITO & TESTES == 110){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 111
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 111){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 112
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 112){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRITO);
BASE.write(BASE_AGITADOR_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 113){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 114){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 115){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 116
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 116){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 117
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 117){
SUPERIOR.write(SUPERIOR_REJEITO_NITRITO);
BASE.write(BASE_REJEITO_NITRITO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 118){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 119){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRITO & TESTES == 120){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 121
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 121){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Fim Teste Nitrito 122
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 122){
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
NITRITO = 1;
TESTES++;
}
}
}
//Resetando Parametros Teste Nitrito 123
if (TESTES == 123 & NITRITO == 1){
MENU_TESTA_NITRITO = 0;
MINUTO_FINALIZA_NITRITO_0 = now.minute();
NITRITO = 2;
TESTES = 124;
}
if(now.minute() == 59){
MINUTO_FINALIZA_NITRITO_0 = 0;
}
if(TESTES == 124 & NITRITO == 2){
MINUTO_FINALIZA_NITRITO_1 = now.minute();
}
if(MINUTO_FINALIZA_NITRITO_1 > MINUTO_FINALIZA_NITRITO_0){
red = 0;
green = 0;
blue = 0;
clear = 0;
MEDIA_COR_RED = 0;
SOMA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = 0;
TESTES = 0;
NITRITO = 0;
MINUTO_FINALIZA_NITRITO_0 = 0;
MINUTO_FINALIZA_NITRITO_1 = 0;
ERRO = 1;
}
//Teste De Nitrato
//IniCio Teste Nitrato 0
if ((DIA_DA_SEMANA_TESTA_NITRATO==now.dayOfTheWeek()) & (HORA_TESTA_NITRATO==now.hour()) & TESTES <= 122 || MENU_TESTA_NITRATO == 1){
if((now.minute() >= MINUTO_TESTA_NITRATO_0) & (now.minute() <= MINUTO_TESTA_NITRATO_1) || MENU_TESTA_NITRATO == 1){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
ciWrite(AGITADOR_ON_PONTE_H_PIN, HIGH);
//analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
//analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_TESTE_VALOR_LAVA_PWM);
//Primeira Mudanca de Posicao Agua Nitrato 0
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 0){
SUPERIOR.write(SUPERIOR_AGUA_NITRATO);
BASE.write(BASE_AGUA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= MILLIS_TFT_INICIO_TESTE & TESTES == 1){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRATO & TESTES == 3){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 4
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 4){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 5
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 5){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 6){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 7){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 8){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 9
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 9){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 10
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 10){
SUPERIOR.write(SUPERIOR_REJEITO_NITRATO);
BASE.write(BASE_REJEITO_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 11){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 12){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRATO & TESTES == 13){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Rejeito 14
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 14){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Nitrato 15
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 15){
SUPERIOR.write(SUPERIOR_AGUA_NITRATO);
BASE.write(BASE_AGUA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 16){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 17){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRATO & TESTES == 18){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 19
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 19){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 20
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 20){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 21){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 22){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 23){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 24
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 24){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 25
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 25){
SUPERIOR.write(SUPERIOR_REJEITO_NITRATO);
BASE.write(BASE_REJEITO_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 26){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 27){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRATO & TESTES == 28){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 29
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 29){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Nitrato 30
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 30){
SUPERIOR.write(SUPERIOR_AGUA_NITRATO);
BASE.write(BASE_AGUA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 31){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 32){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRATO & TESTES == 33){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 34
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 34){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 35
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 35){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 36){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 37){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 38){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 39
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 39){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 40
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 40){
SUPERIOR.write(SUPERIOR_REJEITO_NITRATO);
BASE.write(BASE_REJEITO_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 41){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 42){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRATO & TESTES == 43){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 44
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 44){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Quarta Mudanca de Posicao Agua Nitrato 45
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 45){
SUPERIOR.write(SUPERIOR_AGUA_NITRATO);
BASE.write(BASE_AGUA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 46){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 47){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSA_AMOSTRA_NITRATO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_5ML_NITRATO & TESTES == 48){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Coletando Amostra 49
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 49){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Nitrato 1 50
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 50){
SUPERIOR.write(SUPERIOR_REAGENTE_1_NITRATO);
BASE.write(BASE_REAGENTE_1_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 1 51
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 51){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_NITRATO_1, HIGH);
TESTES++;
}
//Agitador Reagente 1 Agitado 52
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 52){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_NITRATO_1, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 53){
ciWrite(DOSADORA_TESTE_NITRATO_1_RELE_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_NITRATO_VALOR_PWM);
ciWrite(LED_EMISSOR_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_1_NITRATO){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_NITRATO_1_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Primeiro Reagente Dosado 54
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 54 & CONTA_GOTAS >= GOTAS_REAGENTE_1_NITRATO){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 55
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 55){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 56){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 57){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Amostra Agitada 58
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 58){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Nitrato 2 59
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 59){
SUPERIOR.write(SUPERIOR_REAGENTE_2_NITRATO);
BASE.write(BASE_REAGENTE_2_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 2 60
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 60){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_NITRATO_2, HIGH);
TESTES++;
}
//Agitador Reagente 2 Agitado 61
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 61){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_NITRATO_2, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 62){
ciWrite(LED_EMISSOR_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_NITRATO_VALOR_PWM);
ciWrite(DOSADORA_TESTE_NITRATO_2_RELE_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_2_NITRATO){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_NITRATO_2_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Segundo Reagente Dosado 63
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & CONTA_GOTAS >= GOTAS_REAGENTE_1_NITRATO){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 64
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 64){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 65){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 66){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Amostra Agitada 67
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 67){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 68
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 68){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_NITRATO);
BASE.write(BASE_LEITURA_AMOSTRA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Reacao da Amostra 69
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_RESULTADO_TESTE_NITRATO & TESTES == 69){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_NITRATO);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = (SOMA_COR_RED + red);
SOMA_COR_BLUE = (SOMA_COR_BLUE + blue);
SOMA_COR_GREEN = (SOMA_COR_GREEN + green);
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando a Amostra 70
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 70){
if(MEDIA_COR_RED <=168 &MEDIA_COR_RED >=148 &MEDIA_COR_GREEN <=168 &MEDIA_COR_GREEN >=148 &MEDIA_COR_BLUE <=168 &MEDIA_COR_BLUE >=148){
RESULTADO_TESTE_NITRATO = 10;
delay(50);
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("APAGANDO");
tft.setCursor(30,150);
tft.print("NO3.txt.");
SD.remove("NO3.txt");
delay(50);
if (SD.exists("NO3.txt")) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("NO3.txt" );
tft.setTextSize(4);
tft.setCursor(0,150);
tft.print("Ainda Existe.");
} else {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,30);
tft.print("NO3.txt");
tft.setTextSize(5);
tft.setCursor(0,100);
tft.print("Nao Existe");
tft.setTextSize(5);
tft.setCursor(70,160);
tft.print("Mais.");
}
myFile = SD.open("NO3.txt", FILE_WRITE);
if (myFile) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(20,30);
tft.print("GRAVANDO");
tft.setTextSize(5);
tft.setCursor(10,100);
tft.print("RESULTADO");
tft.setTextSize(5);
tft.setCursor(70,170);
tft.print("NO SD");
myFile.println(RESULTADO_TESTE_NITRATO);
myFile.close();
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(20,90);
tft.print("Feito.");
} else {
Serial.println("Erro ao Abrir NO3.txt");
}
//digitalWrite(CS_PIN, LOW);
}
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Resultado do Teste 71
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 71){
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 72
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 72){
SUPERIOR.write(SUPERIOR_REJEITO_NITRATO);
BASE.write(BASE_REJEITO_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 73){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 74){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRATO & TESTES == 75){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 76
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 76){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agua Nitrato 77
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 77){
SUPERIOR.write(SUPERIOR_AGUA_NITRATO);
BASE.write(BASE_AGUA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 78){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 79){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRATO & TESTES == 80){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 81
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 81){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 82
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 82){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 83){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 84){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 85){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 86
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 86){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 87
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 87){
SUPERIOR.write(SUPERIOR_REJEITO_NITRATO);
BASE.write(BASE_REJEITO_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 88){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 89){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRATO & TESTES == 90){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 91
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 91){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Nitrato 92
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 92){
SUPERIOR.write(SUPERIOR_AGUA_NITRATO);
BASE.write(BASE_AGUA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 93){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 94){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRATO & TESTES == 95){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 96
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 96){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 97
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 97){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 98){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 99){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 100){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 101
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 101){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 102
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 102){
SUPERIOR.write(SUPERIOR_REJEITO_NITRATO);
BASE.write(BASE_REJEITO_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 103){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 104){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRATO & TESTES == 105){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo REJEITO 106
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 106){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Nitrato 107
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 107){
SUPERIOR.write(SUPERIOR_AGUA_NITRATO);
BASE.write(BASE_AGUA_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 108){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 109){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_NITRATO & TESTES == 110){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 111
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 111){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 112
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 112){
SUPERIOR.write(SUPERIOR_AGITADOR_NITRATO);
BASE.write(BASE_AGITADOR_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 113){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 114){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 115){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 116
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 116){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 117
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 117){
SUPERIOR.write(SUPERIOR_REJEITO_NITRATO);
BASE.write(BASE_REJEITO_NITRATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 118){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 119){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_NITRATO & TESTES == 120){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 121
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 121){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Fim Teste Nitrato 122
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 122){
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
NITRATO = 1;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
}
}
//Resetando Parametros Teste Nitrato 123
if (TESTES == 123 & NITRATO == 1){
MENU_TESTA_NITRATO = 0;
MINUTO_FINALIZA_NITRATO_0 = now.minute();
NITRATO = 2;
TESTES = 124;
}
if(now.minute() == 59){
MINUTO_FINALIZA_NITRATO_0 = 0;
}
if(TESTES == 124 & NITRATO == 2){
MINUTO_FINALIZA_NITRATO_1 = now.minute();
}
if(MINUTO_FINALIZA_NITRATO_1 > MINUTO_FINALIZA_NITRATO_0){
red = 0;
green = 0;
blue = 0;
clear = 0;
MEDIA_COR_RED = 0;
SOMA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = 0;
TESTES = 0;
NITRATO = 0;
MINUTO_FINALIZA_NITRATO_0 = 0;
MINUTO_FINALIZA_NITRATO_1 = 0;
ERRO = 1;
}
//Teste De Fosfato
//IniCio Teste Fosfato 0
if ((DIA_DA_SEMANA_TESTA_FOSFATO==now.dayOfTheWeek()) & (HORA_TESTA_FOSFATO==now.hour()) & TESTES <= 122 || MENU_TESTA_FOSFATO == 1){
if((now.minute() >= MINUTO_TESTA_FOSFATO_0) & (now.minute() <= MINUTO_TESTA_FOSFATO_1) || MENU_TESTA_FOSFATO == 1){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
ciWrite(AGITADOR_ON_PONTE_H_PIN, HIGH);
//analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
//analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_TESTE_VALOR_LAVA_PWM);
//Primeira Mudanca de Posicao Agua Fosfato 0
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 0){
SUPERIOR.write(SUPERIOR_AGUA_FOSFATO);
BASE.write(BASE_AGUA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= MILLIS_TFT_INICIO_TESTE & TESTES == 1){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_FOSFATO & TESTES == 3){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 4
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 4){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 5
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 5){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 6){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 7){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 8){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 9
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 9){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 10
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 10){
SUPERIOR.write(SUPERIOR_REJEITO_FOSFATO);
BASE.write(BASE_REJEITO_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 11){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 12){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_FOSFATO & TESTES == 13){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Rejeito 14
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 14){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Fosfato 15
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 15){
SUPERIOR.write(SUPERIOR_AGUA_FOSFATO);
BASE.write(BASE_AGUA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 16){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 17){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_FOSFATO & TESTES == 18){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 19
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 19){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 20
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 20){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 21){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 22){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 23){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 24
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 24){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 25
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 25){
SUPERIOR.write(SUPERIOR_REJEITO_FOSFATO);
BASE.write(BASE_REJEITO_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 26){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 27){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_FOSFATO & TESTES == 28){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 29
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 29){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Fosfato 30
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 30){
SUPERIOR.write(SUPERIOR_AGUA_FOSFATO);
BASE.write(BASE_AGUA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 31){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 32){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_FOSFATO & TESTES == 33){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 34
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 34){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 35
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 35){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 36){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 37){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 38){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 39
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 39){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 40
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 40){
SUPERIOR.write(SUPERIOR_REJEITO_FOSFATO);
BASE.write(BASE_REJEITO_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 41){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 42){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_FOSFATO & TESTES == 43){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 44
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 44){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Quarta Mudanca de Posicao Agua Fosfato 45
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 45){
SUPERIOR.write(SUPERIOR_AGUA_FOSFATO);
BASE.write(BASE_AGUA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 46){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 47){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSA_AMOSTRA_FOSFATO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_5ML_FOSFATO & TESTES == 48){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Coletando Amostra 49
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 49){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Fosfato 1 50
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 50){
SUPERIOR.write(SUPERIOR_REAGENTE_1_FOSFATO);
BASE.write(BASE_REAGENTE_1_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 1 51
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 51){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_FOSFATO_1, HIGH);
TESTES++;
}
//Agitador Reagente 1 Agitado 52
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 52){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_FOSFATO_1, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 53){
ciWrite(DOSADORA_TESTE_FOSFATO_1_RELE_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_FOSFATO_VALOR_PWM);
ciWrite(LED_EMISSOR_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_1_FOSFATO){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_FOSFATO_1_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Primeiro Reagente Dosado 54
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 54 & CONTA_GOTAS >= GOTAS_REAGENTE_1_FOSFATO){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 55
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 55){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 56){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 57){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Amostra Agitada 58
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 58){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Fosfato 2 59
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 59){
SUPERIOR.write(SUPERIOR_REAGENTE_2_FOSFATO);
BASE.write(BASE_REAGENTE_2_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 2 60
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 60){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_FOSFATO_2, HIGH);
TESTES++;
}
//Agitador Reagente 2 Agitado 61
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 61){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_FOSFATO_2, LOW);
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 62){
ciWrite(LED_EMISSOR_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_FOSFATO_VALOR_PWM);
ciWrite(DOSADORA_TESTE_FOSFATO_2_RELE_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_2_FOSFATO){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_FOSFATO_2_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Segundo Reagente Dosado 63
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & CONTA_GOTAS >= GOTAS_REAGENTE_1_FOSFATO){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 64
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 64){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 65){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 66){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Amostra Agitada 67
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 67){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 68
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 68){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_FOSFATO);
BASE.write(BASE_LEITURA_AMOSTRA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Reacao da Amostra 69
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_RESULTADO_TESTE_FOSFATO & TESTES == 69){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_FOSFATO);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = (SOMA_COR_RED + red);
SOMA_COR_BLUE = (SOMA_COR_BLUE + blue);
SOMA_COR_GREEN = (SOMA_COR_GREEN + green);
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando a Amostra 70
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 70){
if(MEDIA_COR_RED <=168 &MEDIA_COR_RED >=148 &MEDIA_COR_GREEN <=168 &MEDIA_COR_GREEN >=148 &MEDIA_COR_BLUE <=168 &MEDIA_COR_BLUE >=148){
RESULTADO_TESTE_FOSFATO = 1.00;
delay(50);
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("APAGANDO");
tft.setCursor(30,150);
tft.print("PO4.txt.");
SD.remove("PO4.txt");
delay(50);
if (SD.exists("PO4.txt")) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("PO4.txt" );
tft.setTextSize(4);
tft.setCursor(0,150);
tft.print("Ainda Existe.");
} else {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,30);
tft.print("PO4.txt");
tft.setTextSize(5);
tft.setCursor(0,100);
tft.print("Nao Existe");
tft.setTextSize(5);
tft.setCursor(70,160);
tft.print("Mais.");
}
myFile = SD.open("PO4.txt", FILE_WRITE);
if (myFile) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(20,30);
tft.print("GRAVANDO");
tft.setTextSize(5);
tft.setCursor(10,100);
tft.print("RESULTADO");
tft.setTextSize(5);
tft.setCursor(70,170);
tft.print("NO SD");
myFile.println(RESULTADO_TESTE_FOSFATO);
myFile.close();
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(20,90);
tft.print("Feito.");
} else {
Serial.println("Erro ao Abrir PO4.txt");
}
//digitalWrite(CS_PIN, LOW);
}
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Resultado do Teste 71
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 71){
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 72
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 72){
SUPERIOR.write(SUPERIOR_REJEITO_FOSFATO);
BASE.write(BASE_REJEITO_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 73){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 74){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_FOSFATO & TESTES == 75){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 76
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 76){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agua Fosfato 77
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 77){
SUPERIOR.write(SUPERIOR_AGUA_FOSFATO);
BASE.write(BASE_AGUA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 78){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 79){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_FOSFATO & TESTES == 80){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 81
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 81){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 82
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 82){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 83){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 84){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 85){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 86
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 86){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 87
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 87){
SUPERIOR.write(SUPERIOR_REJEITO_FOSFATO);
BASE.write(BASE_REJEITO_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 88){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 89){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_FOSFATO & TESTES == 90){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 91
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 91){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Fosfato 92
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 92){
SUPERIOR.write(SUPERIOR_AGUA_FOSFATO);
BASE.write(BASE_AGUA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 93){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 94){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_FOSFATO & TESTES == 95){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 96
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 96){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 97
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 97){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 98){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 99){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 100){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 101
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 101){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 102
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 102){
SUPERIOR.write(SUPERIOR_REJEITO_FOSFATO);
BASE.write(BASE_REJEITO_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 103){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 104){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_FOSFATO & TESTES == 105){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo REJEITO 106
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 106){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Fosfato 107
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 107){
SUPERIOR.write(SUPERIOR_AGUA_FOSFATO);
BASE.write(BASE_AGUA_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 108){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 109){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_FOSFATO & TESTES == 110){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 111
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 111){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 112
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 112){
SUPERIOR.write(SUPERIOR_AGITADOR_FOSFATO);
BASE.write(BASE_AGITADOR_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 113){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 114){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 115){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 116
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 116){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 117
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 117){
SUPERIOR.write(SUPERIOR_REJEITO_FOSFATO);
BASE.write(BASE_REJEITO_FOSFATO);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 118){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 119){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_FOSFATO & TESTES == 120){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 121
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 121){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Fim Teste Fosfato 122
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 122){
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
FOSFATO = 1;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
}
}
//Resetando Parametros Teste Fosfato 123
if (TESTES == 123 & FOSFATO == 1){
MENU_TESTA_FOSFATO = 0;
MINUTO_FINALIZA_FOSFATO_0 = now.minute();
FOSFATO = 2;
TESTES = 124;
}
if(now.minute() == 59){
MINUTO_FINALIZA_FOSFATO_0 = 0;
}
if(TESTES == 124 & FOSFATO == 2){
MINUTO_FINALIZA_FOSFATO_1 = now.minute();
}
if(MINUTO_FINALIZA_FOSFATO_1 > MINUTO_FINALIZA_FOSFATO_0){
red = 0;
green = 0;
blue = 0;
clear = 0;
MEDIA_COR_RED = 0;
SOMA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = 0;
TESTES = 0;
FOSFATO = 0;
MINUTO_FINALIZA_FOSFATO_0 = 0;
MINUTO_FINALIZA_FOSFATO_1 = 0;
ERRO = 1;
}
//Teste De Iron
//IniCio Teste Iron 0
if ((DIA_DA_SEMANA_TESTA_IRON==now.dayOfTheWeek()) & (HORA_TESTA_IRON==now.hour()) & TESTES <= 135 || MENU_TESTA_IRON == 1){
if((now.minute() >= MINUTO_TESTA_IRON_0) & (now.minute() <= MINUTO_TESTA_IRON_1) || MENU_TESTA_IRON == 1){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
ciWrite(AGITADOR_ON_PONTE_H_PIN, HIGH);
//analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
//analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_TESTE_VALOR_LAVA_PWM);
//Primeira Mudanca de Posicao Agua Iron 0
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 0){
SUPERIOR.write(SUPERIOR_AGUA_IRON);
BASE.write(BASE_AGUA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++ ;
}
if (millis() - MILLIS_TESTE_REAGENTES >= MILLIS_TFT_INICIO_TESTE & TESTES == 1){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_IRON & TESTES == 3){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 4
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 4){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 5
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 5){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 6){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 7){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 8){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 9
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 9){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 10
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 10){
SUPERIOR.write(SUPERIOR_REJEITO_IRON);
BASE.write(BASE_REJEITO_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 11){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 12){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_IRON & TESTES == 13){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Rejeito 14
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 14){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Iron 15
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 15){
SUPERIOR.write(SUPERIOR_AGUA_IRON);
BASE.write(BASE_AGUA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 16){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 17){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_IRON & TESTES == 18){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 19
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 19){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 20
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 20){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 21){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 22){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 23){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 24
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 24){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 25
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 25){
SUPERIOR.write(SUPERIOR_REJEITO_IRON);
BASE.write(BASE_REJEITO_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 26){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 27){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_IRON & TESTES == 28){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 29
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 29){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Iron 30
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 30){
SUPERIOR.write(SUPERIOR_AGUA_IRON);
BASE.write(BASE_AGUA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 31){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 32){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_IRON & TESTES == 33){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 34
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 34){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 35
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 35){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 36){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 37){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 38){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 39
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 39){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 40
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 40){
SUPERIOR.write(SUPERIOR_REJEITO_IRON);
BASE.write(BASE_REJEITO_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 41){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 42){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_IRON & TESTES == 43){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 44
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 44){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Quarta Mudanca de Posicao Agua Iron 45
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 45){
SUPERIOR.write(SUPERIOR_AGUA_IRON);
BASE.write(BASE_AGUA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 46){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 47){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSA_AMOSTRA_IRON_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_5ML_IRON & TESTES == 48){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Coletando Amostra 49
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 49){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Iron 1 50
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 50){
SUPERIOR.write(SUPERIOR_REAGENTE_1_IRON);
BASE.write(BASE_REAGENTE_1_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 1 51
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 51){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_IRON_1, HIGH);
TESTES++;
}
//Agitador Reagente 1 Agitado 52
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 52){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_IRON_1, LOW);
TESTES++;
}
//Primeiro Reagente Dosado 53
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 53){
ciWrite(DOSADORA_TESTE_IRON_1_RELE_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_IRON_VALOR_PWM);
ciWrite(LED_EMISSOR_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_1_IRON){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_IRON_1_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Mudanca de Posicao Agitador 54
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 54 & CONTA_GOTAS >= GOTAS_REAGENTE_1_IRON){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 55){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 56){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 57){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Amostra Agitada 58
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 58){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 59
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 59){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_IRON);
BASE.write(BASE_LEITURA_AMOSTRA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Resultado Primeiro Reagente 60
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 60){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_IRON);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = (SOMA_COR_RED + red);
SOMA_COR_BLUE = (SOMA_COR_BLUE + blue);
SOMA_COR_GREEN = (SOMA_COR_GREEN + green);
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
CONT_COR_IRON++;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando Primeiro Reagente 61
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 61){
if(CONT_COR_IRON == 2){
MEDIA_COR_RED = MEDIA_COR_RED +30;
MEDIA_COR_BLUE = MEDIA_COR_BLUE +30;
MEDIA_COR_GREEN = MEDIA_COR_GREEN + 30;
}
if(MEDIA_COR_RED <=158 &MEDIA_COR_RED >=148 &MEDIA_COR_GREEN <=158 &MEDIA_COR_GREEN >=148 &MEDIA_COR_BLUE <=158 &MEDIA_COR_BLUE >=148){
COR_IRON = 1;
}
if (MEDIA_COR_RED <=190 &MEDIA_COR_RED >=160 &MEDIA_COR_GREEN <=190 &MEDIA_COR_GREEN >=160 &MEDIA_COR_BLUE <=190 &MEDIA_COR_BLUE >=160){
COR_IRON = 2;
}
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
MEDIA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_RED = 0;
SOMA_COR_BLUE = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Retorno da Amostra 62
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 62 & COR_IRON == 1){
TESTES = 50;
MILLIS_TESTE_REAGENTES = millis();
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 62 & COR_IRON == 2){
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Iron 2 63
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 63){
SUPERIOR.write(SUPERIOR_REAGENTE_2_IRON);
BASE.write(BASE_REAGENTE_2_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 2 64
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 64){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_IRON_2, HIGH);
TESTES++;
}
//Agitador Reagente 2 Agitado 65
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 65){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_IRON_2, LOW);
TESTES++;
}
//Segundo Reagente Dosado 66
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 66){
ciWrite(LED_EMISSOR_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_IRON_VALOR_PWM);
ciWrite(DOSADORA_TESTE_IRON_2_RELE_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_2_IRON){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_IRON_2_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Mudanca de Posicao Agitador 67
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 67 & CONTA_GOTAS >= GOTAS_REAGENTE_1_IRON){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 68){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 69){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 70){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Amostra Agitada 71
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 71){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente Iron 3 72
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 72){
SUPERIOR.write(SUPERIOR_REAGENTE_3_IRON);
BASE.write(BASE_REAGENTE_3_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 3 73
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 73){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_IRON_3, HIGH);
TESTES++;
}
//Agitador Reagente 3 Agitado 74
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 74){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_IRON_3, LOW);
TESTES++;
}
//Terceiro Reagente Dosado 75
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 75){
ciWrite(LED_EMISSOR_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_IRON_VALOR_PWM);
ciWrite(DOSADORA_TESTE_IRON_3_RELE_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_3_IRON){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_IRON_3_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Mudanca de Posicao Agitador 76
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 76 & CONTA_GOTAS >= GOTAS_REAGENTE_1_IRON){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 77){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 78){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 79){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Amostra Agitada 80
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 80){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 81
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 81){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_IRON);
BASE.write(BASE_LEITURA_AMOSTRA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Reacao da Amostra 82
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_RESULTADO_TESTE_IRON & TESTES == 82){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_IRON);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = (SOMA_COR_RED + red);
SOMA_COR_BLUE = (SOMA_COR_BLUE + blue);
SOMA_COR_GREEN = (SOMA_COR_GREEN + green);
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando a Amostra 83
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 83){
if(MEDIA_COR_RED <=168 &MEDIA_COR_RED >=148 &MEDIA_COR_GREEN <=168 &MEDIA_COR_GREEN >=148 &MEDIA_COR_BLUE <=168 &MEDIA_COR_BLUE >=148){
RESULTADO_TESTE_IRON = 1.0;
}
delay(50);
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("APAGANDO");
tft.setCursor(30,150);
tft.print("IRON.txt.");
SD.remove("IRON.txt");
delay(50);
if (SD.exists("IRON.txt")) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("IRON.txt" );
tft.setTextSize(4);
tft.setCursor(0,150);
tft.print("Ainda Existe.");
} else {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,30);
tft.print("IRON.txt");
tft.setTextSize(5);
tft.setCursor(0,100);
tft.print("Nao Existe");
tft.setTextSize(5);
tft.setCursor(70,160);
tft.print("Mais.");
}
myFile = SD.open("IRON.txt", FILE_WRITE);
if (myFile) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(20,30);
tft.print("GRAVANDO");
tft.setTextSize(5);
tft.setCursor(10,100);
tft.print("RESULTADO");
tft.setTextSize(5);
tft.setCursor(70,170);
tft.print("NO SD");
myFile.println(RESULTADO_TESTE_IRON);
myFile.close();
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(20,90);
tft.print("Feito.");
} else {
Serial.println("Erro ao Abrir IRON.txt");
}
//digitalWrite(CS_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Resultado do Teste 84
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 84){
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 85
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 85){
SUPERIOR.write(SUPERIOR_REJEITO_IRON);
BASE.write(BASE_REJEITO_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 86){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 87){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_IRON & TESTES == 88){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 89
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 89){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agua Iron 90
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 90){
SUPERIOR.write(SUPERIOR_AGUA_IRON);
BASE.write(BASE_AGUA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 91){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 92){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_IRON & TESTES == 93){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 94
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 94){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 95
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 95){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 96){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 97){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 98){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 99
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 99){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 100
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 100){
SUPERIOR.write(SUPERIOR_REJEITO_IRON);
BASE.write(BASE_REJEITO_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 101){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 102){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_IRON & TESTES == 103){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 104
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 104){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua Iron 105
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 105){
SUPERIOR.write(SUPERIOR_AGUA_IRON);
BASE.write(BASE_AGUA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 106){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 107){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_IRON & TESTES == 108){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 109
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 109){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 110
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 110){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 111){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 112){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 113){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 114
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 114){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 115
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 115){
SUPERIOR.write(SUPERIOR_REJEITO_IRON);
BASE.write(BASE_REJEITO_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 116){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 117){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_IRON & TESTES == 118){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo REJEITO 119
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 119){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua Iron 120
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 120){
SUPERIOR.write(SUPERIOR_AGUA_IRON);
BASE.write(BASE_AGUA_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 121){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 122){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_IRON & TESTES == 123){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 124
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 124){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 125
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 125){
SUPERIOR.write(SUPERIOR_AGITADOR_IRON);
BASE.write(BASE_AGITADOR_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 126){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 127){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 128){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 129
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 129){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 130
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 130){
SUPERIOR.write(SUPERIOR_REJEITO_IRON);
BASE.write(BASE_REJEITO_IRON);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 131){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 132){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_IRON & TESTES == 133){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 134
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 134){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Fim Teste Iron 135
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 135){
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
IRON = 1;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
}
}
//Resetando Parametros Teste Iron 136
if (TESTES == 136 & IRON == 1){
MENU_TESTA_IRON = 0;
MINUTO_FINALIZA_FERRO_0 = now.minute();
IRON = 2;
TESTES = 137;
}
if(now.minute() == 59){
MINUTO_FINALIZA_FERRO_0 = 0;
}
if(TESTES == 137 & IRON == 2){
MINUTO_FINALIZA_FERRO_1 = now.minute();
}
if(MINUTO_FINALIZA_FERRO_1 > MINUTO_FINALIZA_FERRO_0){
red = 0;
green = 0;
blue = 0;
clear = 0;
MEDIA_COR_RED = 0;
SOMA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = 0;
TESTES = 0;
IRON = 0;
MINUTO_FINALIZA_FERRO_0 = 0;
MINUTO_FINALIZA_FERRO_1 = 0;
ERRO = 1;
}
//Teste De GH
//IniCio Teste GH 0
if ((DIA_DA_SEMANA_TESTA_GH==now.dayOfTheWeek()) & (HORA_TESTA_GH==now.hour()) & TESTES <= 114 || MENU_TESTA_GH == 1){
if((now.minute() >= MINUTO_TESTA_GH_0) & (now.minute() <= MINUTO_TESTA_GH_1) || MENU_TESTA_GH == 1){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
ciWrite(AGITADOR_ON_PONTE_H_PIN, HIGH);
//analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
//analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_TESTE_VALOR_LAVA_PWM);
//Primeira Mudanca de Posicao Agua GH 0
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 0){
SUPERIOR.write(SUPERIOR_AGUA_GH);
BASE.write(BASE_AGUA_GH);
RESULTADO_TESTE_GH = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= MILLIS_TFT_INICIO_TESTE & TESTES == 1){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_GH & TESTES == 3){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 4
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 4){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 5
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 5){
SUPERIOR.write(SUPERIOR_AGITADOR_GH);
BASE.write(BASE_AGITADOR_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 6){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 7){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 8){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 9
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 9){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 10
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 10){
SUPERIOR.write(SUPERIOR_REJEITO_GH);
BASE.write(BASE_REJEITO_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 11){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 12){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_GH & TESTES == 13){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Rejeito 14
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 14){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua GH 15
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 15){
SUPERIOR.write(SUPERIOR_AGUA_GH);
BASE.write(BASE_AGUA_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 16){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 17){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_GH & TESTES == 18){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 19
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 19){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 20
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 20){
SUPERIOR.write(SUPERIOR_AGITADOR_GH);
BASE.write(BASE_AGITADOR_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 21){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 22){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 23){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 24
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 24){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 25
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 25){
SUPERIOR.write(SUPERIOR_REJEITO_GH);
BASE.write(BASE_REJEITO_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 26){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 27){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_GH & TESTES == 28){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 29
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 29){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua GH 30
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 30){
SUPERIOR.write(SUPERIOR_AGUA_GH);
BASE.write(BASE_AGUA_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 31){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 32){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_GH & TESTES == 33){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 34
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 34){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 35
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 35){
SUPERIOR.write(SUPERIOR_AGITADOR_GH);
BASE.write(BASE_AGITADOR_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 36){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 37){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 38){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 39
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 39){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 40
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 40){
SUPERIOR.write(SUPERIOR_REJEITO_GH);
BASE.write(BASE_REJEITO_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 41){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 42){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_GH & TESTES == 43){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 44
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 44){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Quarta Mudanca de Posicao Agua GH 45
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 45){
SUPERIOR.write(SUPERIOR_AGUA_GH);
BASE.write(BASE_AGUA_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 46){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 47){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSA_AMOSTRA_GH_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_5ML_GH & TESTES == 48){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Coletando Amostra 49
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 49){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente GH 1 50
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 50){
SUPERIOR.write(SUPERIOR_REAGENTE_1_GH);
BASE.write(BASE_REAGENTE_1_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 1 51
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 51){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_GH, HIGH);
TESTES++;
}
//Agitador Reagente 1 Agitado 52
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 52){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_GH, LOW);
TESTES++;
}
//Reagente Dosado 53
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 53){
ciWrite(DOSADORA_TESTE_GH_RELE_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_GH_VALOR_PWM);
ciWrite(LED_EMISSOR_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_GH){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_GH_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
RESULTADO_TESTE_GH++;
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Mudanca de Posicao Agitador 54
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 54 & CONTA_GOTAS >= GOTAS_REAGENTE_GH){
SUPERIOR.write(SUPERIOR_AGITADOR_GH);
BASE.write(BASE_AGITADOR_GH);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 55){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 56){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 57){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Amostra Agitada 58
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 58){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 59
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 59){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_GH);
BASE.write(BASE_LEITURA_AMOSTRA_GH);
SOMA_COR_RED = 0;
MEDIA_COR_RED = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_GREEN = 0;
MEDIA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Resultado da Amostra 60
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 60){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_GH);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = (SOMA_COR_RED + red);
SOMA_COR_BLUE = (SOMA_COR_BLUE + blue);
SOMA_COR_GREEN = (SOMA_COR_GREEN + green);
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando a Amostra 61
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 61){
if(RESULTADO_TESTE_GH == 6){
MEDIA_COR_RED = MEDIA_COR_RED +30;
MEDIA_COR_BLUE = MEDIA_COR_BLUE +30;
MEDIA_COR_GREEN = MEDIA_COR_GREEN + 30;
}
if(MEDIA_COR_RED <=158 &MEDIA_COR_RED >=148 &MEDIA_COR_GREEN <=158 &MEDIA_COR_GREEN >=148 &MEDIA_COR_BLUE <=158 &MEDIA_COR_BLUE >=148){
COR_GH = 1;
}
if (MEDIA_COR_RED <=190 &MEDIA_COR_RED >=160 &MEDIA_COR_GREEN <=190 &MEDIA_COR_GREEN >=160 &MEDIA_COR_BLUE <=190 &MEDIA_COR_BLUE >=160){
COR_GH = 2;
}
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_RESULTADO_TESTE_GH & TESTES == 62){
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Retorno da Amostra 63
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & COR_GH == 1){
TESTES = 50;
MILLIS_TESTE_REAGENTES = millis();
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & COR_GH == 2){
delay(50);
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("APAGANDO");
tft.setCursor(30,150);
tft.print("GH.txt.");
SD.remove("GH.txt");
delay(50);
if (SD.exists("GH.txt")) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("GH.txt" );
tft.setTextSize(4);
tft.setCursor(0,150);
tft.print("Ainda Existe.");
} else {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,30);
tft.print("GH.txt");
tft.setTextSize(5);
tft.setCursor(0,100);
tft.print("Nao Existe");
tft.setTextSize(5);
tft.setCursor(70,160);
tft.print("Mais.");
}
myFile = SD.open("GH.txt", FILE_WRITE);
if (myFile) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(20,30);
tft.print("GRAVANDO");
tft.setTextSize(5);
tft.setCursor(10,100);
tft.print("RESULTADO");
tft.setTextSize(5);
tft.setCursor(70,170);
tft.print("NO SD");
myFile.println(RESULTADO_TESTE_GH);
myFile.close();
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(20,90);
tft.print("Feito.");
} else {
Serial.println("Erro ao Abrir GH.txt");
}
//digitalWrite(CS_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Resultado do Teste 64
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 64){
SUPERIOR.write(SUPERIOR_REJEITO_GH);
BASE.write(BASE_REJEITO_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 65
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 65){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 66){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_GH & TESTES == 67){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 68
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 68){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agua GH 69
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 69){
SUPERIOR.write(SUPERIOR_AGUA_GH);
BASE.write(BASE_AGUA_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 70){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 71){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_GH & TESTES == 72){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 73
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 73){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 74
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 74){
SUPERIOR.write(SUPERIOR_AGITADOR_GH);
BASE.write(BASE_AGITADOR_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 75){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 76){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 77){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 78
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 78){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 79
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 79){
SUPERIOR.write(SUPERIOR_REJEITO_GH);
BASE.write(BASE_REJEITO_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 80){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 81){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_GH & TESTES == 82){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 83
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 83){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua GH 84
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 84){
SUPERIOR.write(SUPERIOR_AGUA_GH);
BASE.write(BASE_AGUA_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 85){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 86){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_GH & TESTES == 87){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 88
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 88){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 89
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 89){
SUPERIOR.write(SUPERIOR_AGITADOR_GH);
BASE.write(BASE_AGITADOR_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 90){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 91){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 92){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 93
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 93){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 94
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 94){
SUPERIOR.write(SUPERIOR_REJEITO_GH);
BASE.write(BASE_REJEITO_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 95){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 96){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_GH & TESTES == 97){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo REJEITO 98
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 98){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua GH 99
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 99){
SUPERIOR.write(SUPERIOR_AGUA_GH);
BASE.write(BASE_AGUA_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 100){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 101){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_GH & TESTES == 102){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 103
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 103){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 104
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 104){
SUPERIOR.write(SUPERIOR_AGITADOR_GH);
BASE.write(BASE_AGITADOR_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 105){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 106){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 107){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 108
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 108){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 109
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 109){
SUPERIOR.write(SUPERIOR_REJEITO_GH);
BASE.write(BASE_REJEITO_GH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 110){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 111){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_GH & TESTES == 112){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 113
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 113){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Fim Teste GH 114
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 114){
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
GH = 1;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
}
}
//Resetando Parametros Teste GH 115
if (TESTES == 115 & GH == 1){
MENU_TESTA_GH = 0;
MINUTO_FINALIZA_GH_0 = now.minute();
GH = 2;
TESTES = 116;
}
if(now.minute() == 59){
MINUTO_FINALIZA_GH_0 = 0;
}
if(TESTES == 116 & GH == 2){
MINUTO_FINALIZA_GH_1 = now.minute();
}
if(MINUTO_FINALIZA_GH_1 > MINUTO_FINALIZA_GH_0){
COR_GH = 0;
red = 0;
green = 0;
blue = 0;
clear = 0;
MEDIA_COR_RED = 0;
SOMA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = 0;
TESTES = 0;
GH = 0;
MINUTO_FINALIZA_GH_0 = 0;
MINUTO_FINALIZA_GH_1 = 0;
ERRO = 1;
}
//Teste De KH
//IniCio Teste KH 0
if ((DIA_DA_SEMANA_TESTA_KH==now.dayOfTheWeek()) & (HORA_TESTA_KH==now.hour()) & TESTES <= 114 || MENU_TESTA_KH == 1){
if((now.minute() >= MINUTO_TESTA_KH_0) & (now.minute() <= MINUTO_TESTA_KH_1) || MENU_TESTA_KH == 1){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
ciWrite(AGITADOR_ON_PONTE_H_PIN, HIGH);
//analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
//analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_TESTE_VALOR_LAVA_PWM);
//Primeira Mudanca de Posicao Agua KH 0
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 0){
SUPERIOR.write(SUPERIOR_AGUA_KH);
BASE.write(BASE_AGUA_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES = 45;
}
if (millis() - MILLIS_TESTE_REAGENTES >= MILLIS_TFT_INICIO_TESTE & TESTES == 1){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_KH & TESTES == 3){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 4
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 4){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 5
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 5){
SUPERIOR.write(SUPERIOR_AGITADOR_KH);
BASE.write(BASE_AGITADOR_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 6){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 7){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 8){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 9
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 9){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 10
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 10){
SUPERIOR.write(SUPERIOR_REJEITO_KH);
BASE.write(BASE_REJEITO_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 11){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 12){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_KH & TESTES == 13){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Rejeito 14
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 14){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua KH 15
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 15){
SUPERIOR.write(SUPERIOR_AGUA_KH);
BASE.write(BASE_AGUA_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 16){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 17){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_KH & TESTES == 18){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 19
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 19){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 20
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 20){
SUPERIOR.write(SUPERIOR_AGITADOR_KH);
BASE.write(BASE_AGITADOR_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 21){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 22){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 23){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 24
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 24){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 25
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 25){
SUPERIOR.write(SUPERIOR_REJEITO_KH);
BASE.write(BASE_REJEITO_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 26){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 27){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_KH & TESTES == 28){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 29
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 29){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua KH 30
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 30){
SUPERIOR.write(SUPERIOR_AGUA_KH);
BASE.write(BASE_AGUA_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 31){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 32){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_KH & TESTES == 33){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 34
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 34){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 35
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 35){
SUPERIOR.write(SUPERIOR_AGITADOR_KH);
BASE.write(BASE_AGITADOR_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 36){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 37){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 38){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 39
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 39){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 40
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 40){
SUPERIOR.write(SUPERIOR_REJEITO_KH);
BASE.write(BASE_REJEITO_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 41){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 42){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_KH & TESTES == 43){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 44
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 44){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Quarta Mudanca de Posicao Agua KH 45
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 45){
SUPERIOR.write(SUPERIOR_AGUA_KH);
BASE.write(BASE_AGUA_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 46){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 47){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSA_AMOSTRA_KH_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_5ML_KH & TESTES == 48){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Coletando Amostra 49
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 49){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Reagente KH 1 50
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 50){
SUPERIOR.write(SUPERIOR_REAGENTE_1_KH);
BASE.write(BASE_REAGENTE_1_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Agitador Reagente 1 51
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 51){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_REAGENTE_KH, HIGH);
TESTES++;
}
//Agitador Reagente 1 Agitado 52
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITADOR_REAGENTE & TESTES == 52){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_REAGENTE_KH, LOW);
TESTES++;
}
//Reagente Dosado 53
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 53){
ciWrite(DOSADORA_TESTE_KH_RELE_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_REAGENTE_CONTA_GOTAS_KH_VALOR_PWM);
ciWrite(LED_EMISSOR_PIN, HIGH);
if(CONTA_GOTAS >= GOTAS_REAGENTE_KH){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TESTE_KH_RELE_PIN, LOW);
ciWrite(LED_EMISSOR_PIN, LOW);
RESULTADO_TESTE_KH++;
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
}
//Mudanca de Posicao Agitador 54
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 54 & CONTA_GOTAS >= GOTAS_REAGENTE_KH){
SUPERIOR.write(SUPERIOR_AGITADOR_KH);
BASE.write(BASE_AGITADOR_KH);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 55){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
CONTA_GOTAS = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 56){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 57){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Amostra Agitada 58
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 58){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Leitura Amostra 59
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 59){
SUPERIOR.write(SUPERIOR_LEITURA_AMOSTRA_KH);
BASE.write(BASE_LEITURA_AMOSTRA_KH);
SOMA_COR_RED = 0;
MEDIA_COR_RED = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_GREEN = 0;
MEDIA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Aguardando Resultado da Amostra 60
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 60){
ATUADOR_RGB.write(POSICAO_SERVO_LEITURA_COR_KH);
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED = (SOMA_COR_RED + red);
SOMA_COR_BLUE = (SOMA_COR_BLUE + blue);
SOMA_COR_GREEN = (SOMA_COR_GREEN + green);
}
MEDIA_COR_RED = SOMA_COR_RED / 100;
MEDIA_COR_BLUE = SOMA_COR_BLUE / 100;
MEDIA_COR_GREEN = SOMA_COR_GREEN / 100;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Analizando a Amostra 61
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 61){
if(RESULTADO_TESTE_KH == 4){
MEDIA_COR_RED = MEDIA_COR_RED +30;
MEDIA_COR_BLUE = MEDIA_COR_BLUE +30;
MEDIA_COR_GREEN = MEDIA_COR_GREEN + 30;
}
if(MEDIA_COR_RED <=158 &MEDIA_COR_RED >=148 &MEDIA_COR_GREEN <=158 &MEDIA_COR_GREEN >=148 &MEDIA_COR_BLUE <=158 &MEDIA_COR_BLUE >=148){
COR_KH = 1;
}
if (MEDIA_COR_RED <=190 &MEDIA_COR_RED >=160 &MEDIA_COR_GREEN <=190 &MEDIA_COR_GREEN >=160 &MEDIA_COR_BLUE <=190 &MEDIA_COR_BLUE >=160){
COR_KH = 2;
}
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_RESULTADO_TESTE_KH & TESTES == 62){
ATUADOR_RGB.write(ATUADOR_RGB_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Retorno da Amostra 63
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & COR_KH == 1){
TESTES = 50;
MILLIS_TESTE_REAGENTES = millis();
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 63 & COR_KH == 2){
delay(50);
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("APAGANDO");
tft.setCursor(30,150);
tft.print("KH.txt.");
SD.remove("KH.txt");
delay(50);
if (SD.exists("KH.txt")) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,60);
tft.print("KH.txt" );
tft.setTextSize(4);
tft.setCursor(0,150);
tft.print("Ainda Existe.");
} else {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(30,30);
tft.print("KH.txt");
tft.setTextSize(5);
tft.setCursor(0,100);
tft.print("Nao Existe");
tft.setTextSize(5);
tft.setCursor(70,160);
tft.print("Mais.");
}
myFile = SD.open("KH.txt", FILE_WRITE);
if (myFile) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(20,30);
tft.print("GRAVANDO");
tft.setTextSize(5);
tft.setCursor(10,100);
tft.print("RESULTADO");
tft.setTextSize(5);
tft.setCursor(70,170);
tft.print("NO SD");
myFile.println(RESULTADO_TESTE_KH);
myFile.close();
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(20,90);
tft.print("Feito.");
} else {
Serial.println("Erro ao Abrir KH.txt");
}
//digitalWrite(CS_PIN, LOW);
TESTES++;
MILLIS_TESTE_REAGENTES = millis();
}
//Resultado do Teste 64
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 64){
SUPERIOR.write(SUPERIOR_REJEITO_KH);
BASE.write(BASE_REJEITO_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 65
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 65){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 66){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_KH & TESTES == 67){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Descarte Amostra 68
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 68){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agua KH 69
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 69){
SUPERIOR.write(SUPERIOR_AGUA_KH);
BASE.write(BASE_AGUA_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 70){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 71){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_KH & TESTES == 72){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeiro Enxague 73
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 73){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 74
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 74){
SUPERIOR.write(SUPERIOR_AGITADOR_KH);
BASE.write(BASE_AGITADOR_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 75){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 76){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 77){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Primeira Agitada 78
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 78){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 79
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 79){
SUPERIOR.write(SUPERIOR_REJEITO_KH);
BASE.write(BASE_REJEITO_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 80){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 81){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_KH & TESTES == 82){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Rejeito 83
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 83){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Mudanca de Posicao Agua KH 84
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 84){
SUPERIOR.write(SUPERIOR_AGUA_KH);
BASE.write(BASE_AGUA_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 85){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 86){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_KH & TESTES == 87){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo Enxague 88
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 88){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 89
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 89){
SUPERIOR.write(SUPERIOR_AGITADOR_KH);
BASE.write(BASE_AGITADOR_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 90){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 91){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 92){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segunda Agitada 93
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 93){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 94
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 94){
SUPERIOR.write(SUPERIOR_REJEITO_KH);
BASE.write(BASE_REJEITO_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 95){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 96){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_KH & TESTES == 97){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Segundo REJEITO 98
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 98){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Mudanca de Posicao Agua KH 99
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 99){
SUPERIOR.write(SUPERIOR_AGUA_KH);
BASE.write(BASE_AGUA_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 100){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 101){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_AQUARIO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_LAVAR_FRASCO_KH & TESTES == 102){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_TESTE_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Enxague 103
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 103){
ATUADOR_AGUA_AQUARIO.write(ATUADOR_AGUA_AQUARIO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Agitador 104
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 104){
SUPERIOR.write(SUPERIOR_AGITADOR_KH);
BASE.write(BASE_AGITADOR_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 105){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 106){
analogWrite(AGITADOR_VALOR_PWM_PIN, AGITADOR_VALOR_PWM);
ciWrite(AGITADOR_TESTE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_AGITAR & TESTES == 107){
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_TESTE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceira Agitada 108
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 108){
ATUADOR_AGITADOR.write(ATUADOR_AGITADOR_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Mudanca de Posicao Rejeito 109
if (millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 109){
SUPERIOR.write(SUPERIOR_REJEITO_KH);
BASE.write(BASE_REJEITO_KH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if (millis() - MILLIS_TESTE_REAGENTES >= TEMPO_TROCA_POSICAO & TESTES == 110){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_DESCE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 111){
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_AGUA_REJEITO_VALOR_PWM);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, HIGH);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_ESVAZIAR_REJEITO_KH & TESTES == 112){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_AGUA_REJEITO_RELE_PIN, LOW);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Terceiro Rejeito 113
if(millis() - MILLIS_TESTE_REAGENTES >= TEMPO_COMUM & TESTES == 113){
ATUADOR_REJEITO.write(ATUADOR_REJEITO_SOBE);
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
//Fim Teste KH 114
if(millis() - MILLIS_TESTE_REAGENTES >= DELAY_SERVO_ATUADOR & TESTES == 114){
BASE.write(BASE_REPOUSO);
SUPERIOR.write(SUPERIOR_REPOUSO);
analogWrite(AGITADOR_VALOR_PWM_PIN, 0);
ciWrite(AGITADOR_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
KH = 1;
MILLIS_TESTE_REAGENTES = millis();
TESTES++;
}
}
}
//Resetando Parametros Teste KH 115
if (TESTES == 115 & KH == 1){
MENU_TESTA_KH = 0;
MINUTO_FINALIZA_KH_0 = now.minute();
KH = 2;
TESTES = 116;
}
if(now.minute() == 59){
MINUTO_FINALIZA_KH_0 = 0;
}
if(TESTES == 116 & KH == 2){
MINUTO_FINALIZA_KH_1 = now.minute();
}
if(MINUTO_FINALIZA_KH_1 > MINUTO_FINALIZA_KH_0){
COR_KH = 0;
red = 0;
green = 0;
blue = 0;
clear = 0;
MEDIA_COR_RED = 0;
SOMA_COR_RED = 0;
MEDIA_COR_BLUE = 0;
SOMA_COR_BLUE = 0;
MEDIA_COR_GREEN = 0;
SOMA_COR_GREEN = 0;
MILLIS_TESTE_REAGENTES = 0;
TESTES = 0;
KH = 0;
MINUTO_FINALIZA_KH_0 = 0;
MINUTO_FINALIZA_KH_1 = 0;
ERRO = 1;
}
//Modulo Dosadora Fertilizantes
//EXCEL
if ((HORA_DOSA_EXCEL==now.hour()) & (MINUTO_DOSA_EXCEL==now.minute())){
if (SEGUNDOS_DOSA_EXCEL >= now.second()){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_EXCEL_VALOR_PWM);
ciWrite(DOSADORA_EXCEL_RELE_PIN, HIGH);
}
if (SEGUNDOS_DOSA_EXCEL <= now.second()){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_EXCEL_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
MENU_DOSA_EXEL = 0;
}
//IRON
if (HORA_DOSA_IRON==now.hour() & MINUTO_DOSA_IRON==now.minute()){
if (SEGUNDOS_DOSA_IRON >= now.second()){
TDS_INICIAL_IRON = tdsValue;
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_IRON_VALOR_PWM);
ciWrite(DOSADORA_IRON_RELE_PIN, HIGH);
}
if (SEGUNDOS_DOSA_IRON <= now.second()){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_IRON_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
//Algoritimo Iron
if ((now.hour() >= HORA_CHECA_IRON_1) & (now.hour() <= HORA_CHECA_IRON_2) & PPM_IRON == 0){
if((now.minute() >= MINUTO_CHECA_IRON_1) & (now.minute() <= MINUTO_CHECA_IRON_2)){
if(millis() - MILLIS_CORRIGE_IRON >= TEMPO_COMUM){
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("TDSIRON.txt", FILE_WRITE);
if (myFile) {
myFile.println("2");
myFile.close();
} else {
Serial.println("Erro ao Abrir TDSIRON.txt");
}
myFile = SD.open("TDSIRON.txt", FILE_READ);
if (myFile) {
TDS_1PPM_IRON = myFile.parseFloat();
myFile.close();
}
//digitalWrite(CS_PIN, LOW);
PPM_IRON++;
}
if(millis() - MILLIS_CORRIGE_IRON >= TEMPO_COMUM & PPM_IRON == 1){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_IRON_VALOR_PWM);
ciWrite(DOSADORA_IRON_RELE_PIN, HIGH);
MILLIS_CORRIGE_IRON = millis();
PPM_IRON++;
}
if (millis() - MILLIS_CORRIGE_IRON >= DOSE_CORRECAO_IRON & PPM_IRON == 2){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_IRON_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
MILLIS_CORRIGE_IRON = millis();
PPM_IRON++;
}
if (millis() - MILLIS_CORRIGE_IRON >= TEMPO_LEITURA_CORRECAO_IRON & PPM_IRON == 3){
TDS_VARIAVEL_IRON = tdsValue - TDS_INICIAL_IRON;
if(TDS_VARIAVEL_IRON < TDS_1PPM_IRON){
PPM_IRON = 1;
MILLIS_CORRIGE_IRON = millis();
}
if (TDS_VARIAVEL_IRON >= TDS_1PPM_IRON){
PPM_IRON = 2;
MILLIS_CORRIGE_IRON = millis();
}
}
}
}
if (now.hour() == HORA_FIM_IRON_0){
PPM_IRON = 0;
TDS_INICIAL_IRON = 0;
TDS_VARIAVEL_IRON = 0;
}
//ADVANCED
if (HORA_DOSA_ADVANCED==now.hour() & MINUTO_DOSA_ADVANCED==now.minute()){
if (DIA_DA_SEMANA_DOSA_ADVANCED_1==now.dayOfTheWeek() || DIA_DA_SEMANA_DOSA_ADVANCED_2==now.dayOfTheWeek() || DIA_DA_SEMANA_DOSA_ADVANCED_3==now.dayOfTheWeek()){
if (SEGUNDOS_DOSA_ADVANCED >= now.second()){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_ADVANCED_VALOR_PWM);
ciWrite(DOSADORA_ADVANCED_RELE_PIN, HIGH);
}
if (SEGUNDOS_DOSA_ADVANCED <= now.second()){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ADVANCED_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
}
//FLOURISH
if (HORA_DOSA_FLOURISH==now.hour() & MINUTO_DOSA_FLOURISH==now.minute()){
if (DIA_DA_SEMANA_DOSA_FLOURISH_1==now.dayOfTheWeek() || DIA_DA_SEMANA_DOSA_FLOURISH_2==now.dayOfTheWeek() || DIA_DA_SEMANA_DOSA_FLOURISH_3==now.dayOfTheWeek()){
if (SEGUNDOS_DOSA_FLOURISH >= now.second()){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_FLOURISH_VALOR_PWM);
ciWrite(DOSADORA_FLOURISH_RELE_PIN, HIGH);
}
if (SEGUNDOS_DOSA_FLOURISH <= now.second()){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_FLOURISH_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
}
//TRACE
if (HORA_DOSA_TRACE==now.hour() & MINUTO_DOSA_TRACE==now.minute()){
if (DIA_DA_SEMANA_DOSA_TRACE_1==now.dayOfTheWeek() || DIA_DA_SEMANA_DOSA_TRACE_2==now.dayOfTheWeek() || DIA_DA_SEMANA_DOSA_TRACE_3==now.dayOfTheWeek()){
if (SEGUNDOS_DOSA_TRACE >= now.second()){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_TRACE_VALOR_PWM);
ciWrite(DOSADORA_TRACE_RELE_PIN, LOW);
}
if (SEGUNDOS_DOSA_ADVANCED <= now.second()){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TRACE_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
}
//PRIME
if (DIA_DA_SEMANA_DOSA_PRIME==now.dayOfTheWeek()){
if (HORA_DOSA_PRIME==now.hour() & MINUTO_DOSA_PRIME==now.minute()){
if (SEGUNDOS_DOSA_PRIME >= now.second()){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_PRIME_VALOR_PWM);
digitalWrite(DOSADORA_PRIME_RELE_PIN, HIGH);
}
if (SEGUNDOS_DOSA_PRIME <= now.second()){
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
digitalWrite(DOSADORA_PRIME_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
}
//Modulo Nivel Fertilizantes
//EXCEL
digitalWrite(TRIG_EXCEL_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_EXCEL_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_EXCEL_PIN, LOW);
pinMode(ECHO_EXCEL_PIN, LOW);
RESPOSTA_EXCEL = pulseIn(ECHO_EXCEL_PIN, HIGH) / 58;
CORRECAO_EXCEL = map(RESPOSTA_EXCEL,8,17,100,0);
//IRON
digitalWrite(TRIG_IRON_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_IRON_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_IRON_PIN, LOW);
RESPOSTA_IRON = pulseIn(ECHO_IRON_PIN, HIGH) / 58;
CORRECAO_IRON = map(RESPOSTA_IRON,8,17,100,0);
//ADVANCED
digitalWrite(TRIG_ADVANCED_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_ADVANCED_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_ADVANCED_PIN, LOW);
RESPOSTA_ADVANCED = pulseIn(ECHO_ADVANCED_PIN, HIGH) / 58;
CORRECAO_ADVANCED = map(RESPOSTA_ADVANCED,8,17,100,0);
//FLOURISH
digitalWrite(TRIG_FLOURISH_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_FLOURISH_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_FLOURISH_PIN, LOW);
RESPOSTA_FLOURISH = pulseIn(ECHO_FLOURISH_PIN, HIGH) / 58;
CORRECAO_FLOURISH = map(RESPOSTA_FLOURISH,8,17,100,0);
//TRACE
digitalWrite(TRIG_TRACE_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_TRACE_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_TRACE_PIN, LOW);
RESPOSTA_TRACE = pulseIn(ECHO_TRACE_PIN, HIGH) / 58;
CORRECAO_TRACE = map(RESPOSTA_TRACE,8,17,100,0);
//PRIME
digitalWrite(TRIG_PRIME_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PRIME_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PRIME_PIN, LOW);
RESPOSTA_PRIME = pulseIn(ECHO_PRIME_PIN, HIGH) / 58;
CORRECAO_PRIME = map(RESPOSTA_PRIME,8,17,100,0);
//Modulo PH
soma_tensao = 0; // Inicia soma_tensão em 0
contagem_ph = 0; // Inicia a contagem em 0
for(byte i = 0; i < 5; i++) {
PH_VAL = analogRead(PH_PIN);
tensao = (PH_VAL * 5.0) / 1024.0;
soma_tensao = (soma_tensao + tensao);
}
media_ph = soma_tensao / 5; // Calcula a média das leituras
valor_pH = -5.70 * media_ph + valor_calibracao; // Calcula valor de pH
//Modulo Temperatura e Humidade do Ar
//Termometros e Humidade do Ar
analogValue0 = analogRead(A0);
SENSOR_AQUARIO = 1 / (log(1 / (1023. / analogValue0 - 1)) / BETA0 + 1.0 / 298.15) - 273.15;
analogValue1 = analogRead(A1);
SENSOR_COOLER = 1 / (log(1 / (1023. / analogValue1 - 1)) / BETA1 + 1.0 / 298.15) - 273.15;
HUMIDADE = dht.readHumidity();
SENSOR_AMBIENTE = dht.readTemperature();
//if (isnan(HUMIDADE) || isnan(SENSOR_AMBIENTE)) {
// Serial.println(F("Failed to read from DHT sensor!"));
// return;
//}
// Controle de Temperatura Pertier ----------------
if (SENSOR_AQUARIO >=28){
if (PELTIER_SOMA_PWM == 0){
PELTIER_SOMA_PWM = 1;
MILLIS_PELTIER_PWM = millis();
digitalWrite(FONTE_24V_PELTIER_PIN, HIGH);
ciWrite(FONTE_24V_PELTIER_RELE_PIN, HIGH);
ciWrite(PELTIER_RELE_PIN, HIGH);
digitalWrite(PELTIER_ON_PONTE_H_PIN, HIGH);
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_1);
digitalWrite(COOLER_PELTIER_RELE_PIN, HIGH);
}
}
if (SENSOR_AQUARIO >=28 | SENSOR_AQUARIO >=26){
if (PELTIER_SOMA_PWM == 1){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_2){
PELTIER_SOMA_PWM = 2;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_2);
MILLIS_PELTIER_PWM = millis();
}
}
}
if (SENSOR_AQUARIO >=28 | SENSOR_AQUARIO >=26){
if (PELTIER_SOMA_PWM == 2){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_3){
PELTIER_SOMA_PWM = 3;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_3);
MILLIS_PELTIER_PWM = millis();
}
}
}
if (SENSOR_AQUARIO >=28 | SENSOR_AQUARIO >=26){
if (PELTIER_SOMA_PWM == 3){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_4){
PELTIER_SOMA_PWM = 4;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_4);
MILLIS_PELTIER_PWM = millis();
}
}
}
if (SENSOR_AQUARIO >=28 | SENSOR_AQUARIO >=26){
if (PELTIER_SOMA_PWM == 4){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_5){
PELTIER_SOMA_PWM = 5;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_5);
MILLIS_PELTIER_PWM = millis();
}
}
}
// Controle de Temperatura Pertier ++++++++++++++++
if (SENSOR_AQUARIO <=25 & PELTIER_SOMA_PWM == 5){
PELTIER_SOMA_PWM = 4;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_4);
MILLIS_PELTIER_PWM = millis();
}
if (SENSOR_AQUARIO <=25 | SENSOR_AQUARIO <=26){
if (PELTIER_SOMA_PWM == 4){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_4){
PELTIER_SOMA_PWM = 3;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_3);
MILLIS_PELTIER_PWM = millis();
}
}
}
if (SENSOR_AQUARIO <=25 | SENSOR_AQUARIO <=26){
if (PELTIER_SOMA_PWM == 3){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_3){
PELTIER_SOMA_PWM = 2;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_2);
MILLIS_PELTIER_PWM = millis();
}
}
}
if (SENSOR_AQUARIO <=25 | SENSOR_AQUARIO <=26){
if (PELTIER_SOMA_PWM == 2){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_2){
PELTIER_SOMA_PWM = 1;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_1);
MILLIS_PELTIER_PWM = millis();
}
}
}
if (SENSOR_AQUARIO <=25 | SENSOR_AQUARIO <=26){
if (PELTIER_SOMA_PWM == 1){
if (millis() - MILLIS_PELTIER_PWM >= MILLIS_PELTIER_PWM_1){
PELTIER_SOMA_PWM = 0;
analogWrite(PELTIER_VALOR_PWM_PIN, PELTIER_VALOR_PWM_0);
digitalWrite(PELTIER_ON_PONTE_H_PIN, LOW);
ciWrite(PELTIER_RELE_PIN, LOW);
ciWrite(FONTE_24V_PELTIER_RELE_PIN, LOW);
digitalWrite(FONTE_24V_PELTIER_PIN, LOW);
MILLIS_PELTIER_PWM = millis();
}
}
}
// DESLIGAMENTO COOLER PELTIER APÓS IGUALAR TEMEPERATURA AMBIENTE.
if (SENSOR_COOLER <= SENSOR_AMBIENTE & PELTIER_SOMA_PWM == 0){
digitalWrite(COOLER_PELTIER_RELE_PIN, LOW);
}
// LIGA TERMOSTATO AQUECEDOR SE TEMPERATURA MENOR QUE 24 GRAUS.
if (SENSOR_AQUARIO <=24){
digitalWrite(TERMOSTATO_AQUECEDOR_RELE_PIN, HIGH);
}
if (SENSOR_AQUARIO >=25){
digitalWrite(TERMOSTATO_AQUECEDOR_RELE_PIN, LOW);
}
//Modulo TDS
static unsigned long analogSampleTimepoint = millis();
if(millis()-analogSampleTimepoint > 40U){
analogSampleTimepoint = millis();
analogBuffer[analogBufferIndex] = analogRead(TdsSensorPin);
analogBufferIndex++;
if(analogBufferIndex == SCOUNT){
analogBufferIndex = 0;
}
}
static unsigned long printTimepoint = millis();
if(millis()-printTimepoint > 800U){
printTimepoint = millis();
for(copyIndex=0; copyIndex<SCOUNT; copyIndex++){
analogBufferTemp[copyIndex] = analogBuffer[copyIndex];
averageVoltage = getMedianNum(analogBufferTemp,SCOUNT) * (float)VREF / 1024.0;
float compensationCoefficient = 1.0+0.02*(SENSOR_AQUARIO);
float compensationVoltage=averageVoltage/compensationCoefficient;
tdsValue=(133.42*compensationVoltage*compensationVoltage*compensationVoltage - 255.86*compensationVoltage*compensationVoltage + 857.39*compensationVoltage)*0.5;
}
}
//Modulo Co2
if (HORA_LEITURA_1_CO2<=now.hour() & HORA_LEITURA_2_CO2>=now.hour() & millis() - MILLIS_TEMPO_CO2 >= TEMPO_MILLIS_CO2 & LEITURA_CO2 == 0){
for (byte i = 0; i < 100; i++) {
tcs.getRawData(&red, &green, &blue, &clear);
delay(60);
SOMA_COR_RED_CO2 = SOMA_COR_RED_CO2 + red;
SOMA_COR_BLUE_CO2 = SOMA_COR_BLUE_CO2 + blue;
SOMA_COR_GREEN_CO2 = SOMA_COR_GREEN_CO2 + green;
}
MEDIA_COR_RED_CO2 = SOMA_COR_RED_CO2 / 100;
MEDIA_COR_BLUE_CO2 = SOMA_COR_BLUE_CO2 / 100;
MEDIA_COR_GREEN_CO2 = SOMA_COR_GREEN_CO2 / 100;
MILLIS_TEMPO_CO2 = millis();
LEITURA_CO2 = 1;
}
if(millis() - MILLIS_TEMPO_CO2 >= 2000 & LEITURA_CO2 == 1){
if(MEDIA_COR_RED_CO2 <=165 &MEDIA_COR_RED_CO2 >=145 &MEDIA_COR_GREEN_CO2 <=165 &MEDIA_COR_GREEN_CO2 >=145 &MEDIA_COR_BLUE_CO2 <=165 &MEDIA_COR_BLUE_CO2 >=145){
RESULTADO_LEITURA_CO2 = 32.00;
}
else{
tft.print("Leitura Falhou");
}
MEDIA_COR_RED_CO2 = 0;
MEDIA_COR_BLUE_CO2 = 0;
MEDIA_COR_GREEN_CO2 = 0;
SOMA_COR_RED_CO2 = 0;
SOMA_COR_BLUE_CO2 = 0;
SOMA_COR_GREEN_CO2 = 0;
MILLIS_TEMPO_CO2 = millis();
LEITURA_CO2 = 0;
}
// Hora liga Co2
if (HORA_LIGA_CO2==now.hour() & MINUTO_LIGA_CO2==now.minute()){
digitalWrite(CO2_RELE_PIN, HIGH);
}
//Hora Desliga Co2
if (HORA_DESLIGA_CO2==now.hour() & MINUTO_DESLIGA_CO2==now.minute()){
digitalWrite(CO2_RELE_PIN, LOW);
}
//Modulo Nivel de Agua
//Nivel Sump
ANALOG_VALUE_NIVEL_SUMP = analogRead(SUMP_PIN) / 1024.0 * 5;
NIVEL_SUMP = ANALOG_VALUE_NIVEL_SUMP / 1.41;
//Nivel Aqua
ANALOG_VALUE_NIVEL_AQUA = analogRead(AQUA_PIN) / 1024.0 * 5;
NIVEL_AQUA = ANALOG_VALUE_NIVEL_AQUA / 1.41;
//Algoritimo
if (NIVEL_SUMP <= 2 & NIVEL_AQUA >= 3){
ERRO = 1;
ERROS = 1.5;
//Perlon Sujo
}
if (NIVEL_SUMP <= 1.20 & NIVEL_AQUA <= 2){
ERRO = 1;
ERROS = 1.6;
//Nivel D´agua Baixo
}
if(NIVEL_SUMP >= 2.5 & NIVEL_AQUA >= 3){
//tft.print("NIVEL AGUA OK");
}
//Modulo Luminarias
//Hora Liga as Luminarias.
if ((now.hour() == HORA_LIGA_LUMINARIA_1_1_1) & (now.minute() >= MINUTO_LIGA_LUMINARIA_1_1_1) & (now.minute() <= MINUTO_LIGA_LUMINARIA_1_2_1) & LUMINARIA_1_LIGA_DESLIGA == 0){
digitalWrite(FONTE_12V_LUMINARIAS_PIN, HIGH);
ciWrite(FONTE_12V_LUMINARIAS_RELE_PIN, HIGH);
digitalWrite(LUMINARIA_1_ON_PONTE_H_PIN, HIGH);
analogWrite(LUMINARIA_1_VALOR_PWM_PIN, 0);
ciWrite(LUMINARIA_1_RELE_PIN, HIGH);
LUMINARIA_1_LIGA_DESLIGA = 1;
}
if ((now.hour() == HORA_LIGA_LUMINARIA_1_1_1) & (now.minute() >= MINUTO_LIGA_LUMINARIA_1_1_1) & (now.minute() <= MINUTO_LIGA_LUMINARIA_1_2_1) & LUMINARIA_1_LIGA_DESLIGA == 1){
LUMINARIA_1_MINUTO_PWM = now.minute();
LUMINARIA_1_VAL_PWM = map(LUMINARIA_1_MINUTO_PWM, MINUTO_LIGA_LUMINARIA_1_1_1, MINUTO_LIGA_LUMINARIA_1_2_1, 100, 255);
analogWrite(LUMINARIA_1_VALOR_PWM_PIN, LUMINARIA_1_VAL_PWM);
if(LUMINARIA_1_VAL_PWM >= 255){
LUMINARIA_1_LIGA_DESLIGA = 2;
}
}
if ((now.hour() == HORA_DESLIGA_LUMINARIA_1) & (now.minute() >= MINUTO_DESLIGA_LUMINARIA_1_1_1) & (now.minute() <= MINUTO_DESLIGA_LUMINARIA_1_2_1) & LUMINARIA_1_LIGA_DESLIGA == 2){
LUMINARIA_1_MINUTO_PWM = now.minute();
LUMINARIA_1_VAL_PWM = map(LUMINARIA_1_MINUTO_PWM, MINUTO_DESLIGA_LUMINARIA_1_1_1, MINUTO_DESLIGA_LUMINARIA_1_2_1, 255, 100);
analogWrite(LUMINARIA_1_VALOR_PWM_PIN, LUMINARIA_1_VAL_PWM);
if(LUMINARIA_1_VAL_PWM == 100){
LUMINARIA_1_LIGA_DESLIGA = 3;
}
}
if ((now.hour() == HORA_DESLIGA_LUMINARIA_1) & (now.minute() >= MINUTO_DESLIGA_LUMINARIA_1_1_1) & (now.minute() <= MINUTO_DESLIGA_LUMINARIA_1_2_1) & LUMINARIA_1_LIGA_DESLIGA == 3){
digitalWrite(LUMINARIA_1_ON_PONTE_H_PIN, LOW);
analogWrite(LUMINARIA_1_VALOR_PWM_PIN, 0);
ciWrite(LUMINARIA_1_RELE_PIN, LOW);
LUMINARIA_1_LIGA_DESLIGA = 0;
}
if ((now.hour() == HORA_LIGA_LUMINARIA_2_1_2) & (now.minute() >= MINUTO_LIGA_LUMINARIA_2_1_2) & (now.minute() <= MINUTO_LIGA_LUMINARIA_2_2_2) & LUMINARIA_2_LIGA_DESLIGA == 0){
ciWrite(LUMINARIA_2_ON_PONTE_H_PIN, HIGH);
analogWrite(LUMINARIA_2_VALOR_PWM_PIN, 0);
digitalWrite(LUMINARIA_2_RELE_PIN, HIGH);
LUMINARIA_2_LIGA_DESLIGA = 1;
}
if ((now.hour() == HORA_LIGA_LUMINARIA_2_1_2) & (now.minute() >= MINUTO_LIGA_LUMINARIA_2_1_2) & (now.minute() <= MINUTO_LIGA_LUMINARIA_2_2_2) & LUMINARIA_2_LIGA_DESLIGA == 1){
LUMINARIA_2_MINUTO_PWM = now.minute();
LUMINARIA_2_VAL_PWM = map(LUMINARIA_2_MINUTO_PWM, MINUTO_LIGA_LUMINARIA_2_1_2, MINUTO_LIGA_LUMINARIA_2_2_2, 100, 255);
analogWrite(LUMINARIA_2_VALOR_PWM_PIN, LUMINARIA_2_VAL_PWM);
if(LUMINARIA_2_VAL_PWM >= 255){
LUMINARIA_2_LIGA_DESLIGA = 2;
}
}
if ((now.hour() == HORA_DESLIGA_LUMINARIA_2) & (now.minute() >= MINUTO_DESLIGA_LUMINARIA_2_1_2) & (now.minute() <= MINUTO_DESLIGA_LUMINARIA_2_2_2) & LUMINARIA_2_LIGA_DESLIGA == 2){
LUMINARIA_2_MINUTO_PWM = now.minute();
LUMINARIA_2_VAL_PWM = map(LUMINARIA_2_MINUTO_PWM, MINUTO_DESLIGA_LUMINARIA_2_1_2, MINUTO_DESLIGA_LUMINARIA_2_2_2, 255, 100);
analogWrite(LUMINARIA_2_VALOR_PWM_PIN, LUMINARIA_2_VAL_PWM);
if(LUMINARIA_2_VAL_PWM == 100){
LUMINARIA_2_LIGA_DESLIGA = 3;
}
}
if ((now.hour() == HORA_DESLIGA_LUMINARIA_2) & (now.minute() >= MINUTO_DESLIGA_LUMINARIA_2_1_2) & (now.minute() <= MINUTO_DESLIGA_LUMINARIA_2_2_2) & LUMINARIA_2_LIGA_DESLIGA == 3){
digitalWrite(FONTE_12V_LUMINARIAS_PIN, LOW);
ciWrite(FONTE_12V_LUMINARIAS_RELE_PIN, LOW);
ciWrite(LUMINARIA_2_ON_PONTE_H_PIN, LOW);
analogWrite(LUMINARIA_2_VALOR_PWM_PIN, 0);
digitalWrite(LUMINARIA_2_RELE_PIN, LOW);
LUMINARIA_1_MINUTO_PWM = 0;
LUMINARIA_1_VAL_PWM = 0;
LUMINARIA_2_MINUTO_PWM = 0;
LUMINARIA_2_VAL_PWM = 0;
LUMINARIA_2_LIGA_DESLIGA = 0;
}
//Modulo Alimentador Automatico
//Alimentar 16:30
if (HORA_LIGA_FONTE_ALIMENTA_1==now.hour() & MINUTO_LIGA_FONTE_ALIMENTA_1_1==now.minute()){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
}
if (HORA_ALIMENTA_1==now.hour() & MINUTO_ALIMENTA_1==now.minute()){
if (SEGUNDO_ALIMENTA_1_1 >= now.second()){
if ((ALIMENTADOR.read()) == 180){
ALIMENTADOR.write(0);
}
else if ((ALIMENTADOR.read()) == 0) {
ALIMENTADOR.write(180);
}
}
if (SEGUNDO_ALIMENTA_2_1 <= now.second()){
if ((ALIMENTADOR.read()) == 180);
ALIMENTADOR.write(0);
}
else if ((ALIMENTADOR.read()) == 0) {
ALIMENTADOR.write(180);
}
}
if (HORA_LIGA_FONTE_ALIMENTA_1==now.hour() & MINUTO_DESLIGA_FONTE_ALIMENTA_2_1==now.minute()){
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
}
//Alimentar 19:00
if (HORA_LIGA_FONTE_ALIMENTA_2==now.hour() & MINUTO_LIGA_FONTE_ALIMENTA_1_2==now.minute()){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
}
if (HORA_ALIMENTA_2==now.hour() & MINUTO_ALIMENTA_2==now.minute()){
if (SEGUNDO_ALIMENTA_1_2 >= now.second()){
if ((ALIMENTADOR.read()) == 180){
ALIMENTADOR.write(0);
}
else if ((ALIMENTADOR.read()) == 0) {
ALIMENTADOR.write(180);
}
}
if (SEGUNDO_ALIMENTA_2_2 <= now.second()){
if ((ALIMENTADOR.read()) == 180);
ALIMENTADOR.write(0);
}
else if ((ALIMENTADOR.read()) == 0) {
ALIMENTADOR.write(180);
}
}
if (HORA_LIGA_FONTE_ALIMENTA_2==now.hour() & MINUTO_DESLIGA_FONTE_ALIMENTA_2_2==now.minute()){
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
}
//Alimentar 21:30
if (HORA_LIGA_FONTE_ALIMENTA_3==now.hour() & MINUTO_LIGA_FONTE_ALIMENTA_1_3==now.minute()){
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, HIGH);
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, HIGH);
}
if (HORA_ALIMENTA_3==now.hour() & MINUTO_ALIMENTA_3==now.minute()){
if (SEGUNDO_ALIMENTA_1_3 >= now.second()){
if ((ALIMENTADOR.read()) == 180){
ALIMENTADOR.write(0);
}
else if ((ALIMENTADOR.read()) == 0) {
ALIMENTADOR.write(180);
}
}
if (SEGUNDO_ALIMENTA_2_3 <= now.second()){
if ((ALIMENTADOR.read()) == 180);
ALIMENTADOR.write(0);
}
else if ((ALIMENTADOR.read()) == 0) {
ALIMENTADOR.write(180);
}
}
if (HORA_LIGA_FONTE_ALIMENTA_3==now.hour() & MINUTO_DESLIGA_FONTE_ALIMENTA_2_3==now.minute()){
ciWrite(FONTE_5V_SERVO_AGITADOR_RELE_PIN, LOW);
ciWrite(FONTE_5V_SERVO_AGITADOR_PIN, LOW);
}
//Modluo Millis Serial.print & tft.print
//TFT Print
//Modulo Inicializacao
if (INICIALIZACAO_ARDUINO == 1 & TESTES == 0 & ERRO == 0 & RESULTADOS == 0 & MENUS == 0){
if(INICIALIZACAO_ARDUINO >= 0 & INICIALIZACAO_ARDUINO <= 17){
if(INICIALIZACAO_ARDUINO == 1){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(15,75);
tft.print("INICIALIZANDO");
tft.setTextSize(5);
tft.setCursor(28,125);
tft.print("TFT LCD");
INICIALIZACAO_ARDUINO = 2;
delay(DELAY_TFT_INI);
}
if(INICIALIZACAO_ARDUINO == 2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(6);
tft.setCursor(20,22);
tft.print("TFT LCD");
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(4);
tft.setCursor(5,105);
tft.print("INICIALIZADO");
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(6);
tft.setCursor(10,176);
tft.print("AQUASINI");
INICIALIZACAO_ARDUINO = 3;
delay(DELAY_TFT_INI);
}
//Modulo Data e Hora
if(INICIALIZACAO_ARDUINO == 3){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(0,32);
tft.print("INICIALIZANDO");
tft.setTextSize(6);
tft.setCursor(44,100);
tft.print("MODULO");
tft.setTextSize(4);
tft.setCursor(20,182);
tft.print("DATA & HORA");
INICIALIZACAO_ARDUINO = 4;
delay(DELAY_TFT_INI);
}
if(INICIALIZACAO_ARDUINO == 4){
if (ERRO == 1) {
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(0,22);
tft.print("INICIALIZACAO");
tft.setTextColor(ILI9341_MAGENTA);
tft.setTextSize(6);
tft.setCursor(44,80);
tft.print("MODULO");
tft.setTextSize(4);
tft.setCursor(20,152);
tft.print("DATA & HORA");
tft.setTextSize(4);
tft.setCursor(75,200);
tft.print("FALHOU");
delay(DELAY_TFT_INI);
}
}
if(INICIALIZACAO_ARDUINO == 4){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(6);
tft.setCursor(44,22);
tft.print("MODULO");
tft.setTextSize(4);
tft.setCursor(20,110);
tft.print("DATA & HORA");
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(4);
tft.setCursor(8,182);
tft.print("INICIALIZADO");
INICIALIZACAO_ARDUINO = 5;
delay(DELAY_TFT_INI);
}
if(INICIALIZACAO_ARDUINO == 5){
if (ERRO == 2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_MAGENTA);
tft.setTextSize(4);
tft.setCursor(12,60);
tft.print("DATA & HORA");
tft.setTextColor(ILI9341_MAGENTA);
tft.setTextSize(5);
tft.setCursor(23,145);
tft.print("INVALIDA");
delay(DELAY_TFT_INI);
}
}
if(INICIALIZACAO_ARDUINO == 5){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(12,60);
tft.print("DATA & HORA");
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(5);
tft.setCursor(40,145);
tft.print("CORRETA");
INICIALIZACAO_ARDUINO = 6;
delay(DELAY_TFT_INI);
}
//Serial Beging
if(INICIALIZACAO_ARDUINO == 6){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(0,32);
tft.print("INICIALIZANDO");
tft.setTextSize(4);
tft.setCursor(12,105);
tft.print("Serial.begin");
tft.setTextSize(4);
tft.setCursor(53,182);
tft.print("(115200)");
delay(DELAY_TFT_INI);
INICIALIZACAO_ARDUINO = 7;
}
if(INICIALIZACAO_ARDUINO == 7){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(12,32);
tft.print("Serial.begin");
tft.setTextSize(4);
tft.setCursor(53,105);
tft.print("(115200)");
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(4);
tft.setCursor(5,182);
tft.print("INICIALIZADO");
delay(DELAY_TFT_INI);
INICIALIZACAO_ARDUINO = 8;
}
//Modulo SD Card
if (INICIALIZACAO_ARDUINO == 8){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(0,32);
tft.print("INICIALIZANDO");
tft.setTextSize(5);
tft.setCursor(62,105);
tft.print("MODULO");
tft.setTextSize(5);
tft.setCursor(48,182);
tft.print("SD CARD");
INICIALIZACAO_ARDUINO = 9;
delay(DELAY_TFT_INI);
}
if(INICIALIZACAO_ARDUINO == 9){
if (ERRO == 3 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(5);
tft.setCursor(62,32);
tft.print("MODULO");
tft.setTextSize(5);
tft.setCursor(48,105);
tft.print("SD CARD");
tft.setTextColor(ILI9341_MAGENTA);
tft.setTextSize(4);
tft.setCursor(75,182);
tft.print("FALHOU");
delay(DELAY_TFT_INI);
}
}
if(INICIALIZACAO_ARDUINO == 9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(5);
tft.setCursor(62,32);
tft.print("MODULO");
tft.setTextSize(5);
tft.setCursor(48,105);
tft.print("SD CARD");
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(4);
tft.setCursor(8,182);
tft.print("INICIALIZADO");
INICIALIZACAO_ARDUINO = 10;
delay(DELAY_TFT_INI);
}
//Remover essas linhas ao colocar no Arduino.
if(INICIALIZACAO_ARDUINO == 10){
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("NH3.txt", FILE_WRITE);
if (myFile) {
myFile.println("0.50");
myFile.close();
} else {
Serial.println("Erro ao Abrir NH3.txt");
}
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("NO2.txt", FILE_WRITE);
if (myFile) {
myFile.println("0.50");
myFile.close();
} else {
Serial.println("Erro ao Abrir NO2.txt");
}
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("NO3.txt", FILE_WRITE);
if (myFile) {
myFile.println("20");
myFile.close();
} else {
Serial.println("Erro ao Abrir NO3.txt");
}
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("PO4.txt", FILE_WRITE);
if (myFile) {
myFile.println("2");
myFile.close();
} else {
Serial.println("Erro ao Abrir PO4.txt");
}
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("FE.txt", FILE_WRITE);
if (myFile) {
myFile.println("2.5");
myFile.close();
} else {
Serial.println("Erro ao Abrir FE.txt");
}
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("GH.txt", FILE_WRITE);
if (myFile) {
myFile.println("20");
myFile.close();
} else {
Serial.println("Erro ao Abrir GH.txt");
}
//digitalWrite(CS_PIN, HIGH);
myFile = SD.open("KH.txt", FILE_WRITE);
if (myFile) {
myFile.println("16");
myFile.close();
} else {
Serial.println("Erro ao Abrir KH.txt");
}
//digitalWrite(CS_PIN, LOW);
INICIALIZACAO_ARDUINO = 11;
}
//Ate aqui
//Restaurando Variaveis
if(INICIALIZACAO_ARDUINO == 11){
//digitalWrite(CS_PIN, HIGH);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(15,32);
tft.print("RESTAURANDO");
tft.setTextSize(4);
tft.setCursor(58,80);
tft.print("VALORES");
tft.setTextSize(4);
tft.setCursor(109,130);
tft.print("DAS");
tft.setTextSize(4);
tft.setCursor(38,180);
tft.print("VARIAVEIS");
INICIALIZACAO_ARDUINO = 12;
delay(DELAY_TFT_INI);
}
myFile = SD.open("NH3.txt", FILE_READ);
if (myFile) {
RESULTADO_TESTE_AMONIA = myFile.parseFloat();
myFile.close();
}
if(INICIALIZACAO_ARDUINO == 12){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(15,5);
tft.print("VALOR VARIAVEIS");
tft.setCursor(70,35);
tft.print("AMONIA:");
delay(DELAY_TFT_INI);
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(70,35);
tft.print("AMONIA:");
tft.setCursor(195,35);
tft.print("OK");
INICIALIZACAO_ARDUINO = 13;
delay(DELAY_TFT_INI);
}
myFile = SD.open("NO2.txt", FILE_READ);
if (myFile) {
RESULTADO_TESTE_NITRITO = myFile.parseFloat();
myFile.close();
}
if(INICIALIZACAO_ARDUINO == 13){
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(63,65);
tft.print("NITRITO:");
delay(DELAY_TFT_INI);
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(63,65);
tft.print("NITRITO:");
tft.setCursor(207,65);
tft.print("OK");
INICIALIZACAO_ARDUINO = 14;
delay(DELAY_TFT_INI);
}
myFile = SD.open("NO3.txt", FILE_READ);
if (myFile) {
RESULTADO_TESTE_NITRATO = myFile.parseFloat();
myFile.close();
}
if(INICIALIZACAO_ARDUINO == 14){
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(63,95);
tft.print("NITRATO:");
delay(DELAY_TFT_INI);
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(63,95);
tft.print("NITRATO:");
tft.setCursor(207,95);
tft.print("OK");
INICIALIZACAO_ARDUINO = 15;
delay(DELAY_TFT_INI);
}
myFile = SD.open("PO4.txt", FILE_READ);
if (myFile) {
RESULTADO_TESTE_FOSFATO = myFile.parseFloat();
myFile.close();
}
if(INICIALIZACAO_ARDUINO == 15){
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(63,125);
tft.print("FOSFATO:");
delay(DELAY_TFT_INI);
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(63,125);
tft.print("FOSFATO:");
tft.setCursor(207,125);
tft.print("OK");
if(INICIALIZACAO_ARDUINO = 16);
delay(DELAY_TFT_INI);
}
myFile = SD.open("FE.txt", FILE_READ);
if (myFile) {
RESULTADO_TESTE_IRON = myFile.parseFloat();
myFile.close();
}
if(INICIALIZACAO_ARDUINO == 16){
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(83,155);
tft.print("FERRO:");
delay(DELAY_TFT_INI);
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(83,155);
tft.print("FERRO:");
tft.setCursor(190,155);
tft.print("OK");
if(INICIALIZACAO_ARDUINO = 17);
delay(DELAY_TFT_INI);
}
myFile = SD.open("GH.txt", FILE_READ);
if (myFile) {
RESULTADO_TESTE_GH = myFile.parseInt();
myFile.close();
}
if(INICIALIZACAO_ARDUINO == 17){
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(115,185);
tft.print("GH:");
delay(DELAY_TFT_INI);
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(115,185);
tft.print("GH:");
tft.setCursor(170,185);
tft.print("OK");
if(INICIALIZACAO_ARDUINO = 18);
delay(DELAY_TFT_INI);
}
myFile = SD.open("KH.txt", FILE_READ);
if (myFile) {
RESULTADO_TESTE_KH = myFile.parseFloat();
myFile.close();
}
if(INICIALIZACAO_ARDUINO == 18){
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(3);
tft.setCursor(115,215);
tft.print("KH:");
delay(DELAY_TFT_INI);
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(115,215);
tft.print("KH:");
tft.setCursor(170,215);
tft.print("OK");
if(INICIALIZACAO_ARDUINO = 0);
tft.fillScreen(ILI9341_BLACK);
delay(DELAY_TFT_INI);
}
}
//digitalWrite(CS_PIN, LOW);
RESULTADOS = 1;
INICIALIZACAO_ARDUINO = 0;
MILLIS_MENU_PRINT = millis();
}
//Modulo Testes
if (INICIALIZACAO_ARDUINO == 0 & TESTES == 1 & ERRO == 0 & RESULTADOS == 0 & MENUS == 0 || MENU_TESTA_AMONIA == 1 || MENU_TESTA_NITRITO == 1 || MENU_TESTA_NITRATO == 1 || MENU_TESTA_FOSFATO == 1 || MENU_TESTA_IRON == 1 || MENU_TESTA_GH == 1 || MENU_TESTA_KH == 1){
if(TESTES >= 1 & TESTES <= 140){
//Teste Amonia
if ((DIA_DA_SEMANA_TESTA_AMONIA==now.dayOfTheWeek()) & (HORA_TESTA_AMONIA==now.hour()) || MENU_TESTA_AMONIA == 1){
if((now.minute() >= MINUTO_TESTA_AMONIA_0) & (now.minute() <= MINUTO_TESTA_AMONIA_1) || MENU_TESTA_AMONIA == 1){
if (millis() - MILLIS_TESTES_TFT_PRINT >= MILLIS_TFT){
MILLIS_TESTES_TFT_PRINT = millis();
//Inicio Teste Amonia 1 - 2
if(TESTES >=0 & TESTES <=1){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(38,32);
tft.print("TESTE");
tft.setCursor(95,93);
tft.print("DE");
tft.setCursor(25,155);
tft.print("AMONIA");
}
//Primeiro Enxague 3 - 4
if(TESTES >= 2 & TESTES <= 4 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(55,147);
tft.print("AMONIA");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 5 - 9
if(TESTES >=5 & TESTES <=9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(41,68);
tft.print("AMONIA");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Primeiro REJEITO 10 - 14
if(TESTES >=10 & TESTES <=14){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(41,68);
tft.print("AMONIA");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Segundo Enxague 15 - 19
if(TESTES >=15 & TESTES <=19){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(55,147);
tft.print("AMONIA");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 20 - 24
if(TESTES >=20 & TESTES <=24){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(41,68);
tft.print("AMONIA");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Segundo REJEITO 25 - 29
if(TESTES >=25 & TESTES <=29){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(41,68);
tft.print("AMONIA");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Terceiro Enxague 30 - 34
if(TESTES >=30 & TESTES <=34){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(55,147);
tft.print("AMONIA");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 35 - 39
if(TESTES >=35 & TESTES <=39){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(41,68);
tft.print("AMONIA");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Terceiro REJEITO 40 - 44
if(TESTES >=40 & TESTES <=44){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(41,68);
tft.print("AMONIA");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Coletando Amostra 45 - 49
if(TESTES >=45 & TESTES <=49){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(51,8);
tft.print("AMONIA");
tft.setCursor(15,68);
tft.print("COLETANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(67,188);
tft.print("TESTE");
}
//AGITANDO Reagente 1 50 - 52
if(TESTES >=50 & TESTES <=52){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,8);
tft.print("AMONIA:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("1/2");
}
//Dosando Reagente 1 53 - 54
if(TESTES == 53){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,8);
tft.print("AMONIA:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("1/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 1 55 - 58
if(TESTES >=55 & TESTES <=58){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("AMONIA:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(97,188);
tft.print("1/2");
}
//AGITANDO Reagente 2 59 - 61
if(TESTES >=59 & TESTES <=61){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,8);
tft.print("AMONIA:");
tft.setCursor(41,68);
tft.print("AGITANDO");
tft.setCursor(41,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("2/2");
}
//Dosando Reagente 2 62 - 63
if(TESTES >=62 & TESTES <=63){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,8);
tft.print("AMONIA:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("2/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Reagente 2 64 - 67
if(TESTES >=64 & TESTES <=67){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,8);
tft.print("AMONIA:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("2/2");
}
//Aguardando Reacao 68
if(TESTES == 68){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(42,28);
tft.print("AMONIA:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(55,166);
tft.print("REACAO");
}
//Aguardando Resultado 69
if(TESTES == 69){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,28);
tft.print("AMONIA:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(10,166);
tft.print("RESULTADO");
}
//Resultado 71
if(TESTES == 71){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,28);
tft.print("AMONIA:");
tft.setCursor(0,97);
tft.print("RESULTADO:");
if(RESULTADO_TESTE_AMONIA <= 0.25){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_WHITE);
tft.print(RESULTADO_TESTE_AMONIA);
tft.print("ppm");
}
if(RESULTADO_TESTE_AMONIA >= 0.26){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_MAGENTA);
tft.print(RESULTADO_TESTE_AMONIA);
tft.print("ppm");
ERRO = 1;
ERRO = 1.7;
}
}
//Descarte Amostra 72 - 76
if(TESTES >=72 & TESTES <=76){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(71,68);
tft.print("AMONIA");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("1/4");
}
//Primeiro Enxague 77 - 81
if(TESTES >=77 & TESTES <=81){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(69,147);
tft.print("AMONIA");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 82 - 86
if(TESTES >=82 & TESTES <=86){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(74,68);
tft.print("AMONIA");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("1/3");
}
//Segundo Rejeito 87 - 91
if(TESTES >=87 & TESTES <=91){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(71,68);
tft.print("AMONIA");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("2/4");
}
//Segundo Enxague 92 - 96
if(TESTES >=92 & TESTES <=96){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(69,147);
tft.print("AMONIA");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 97 - 101
if(TESTES >=97 & TESTES <=101){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(74,68);
tft.print("AMONIA");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("2/3");
}
//Terceiro Rejeito 102 - 106
if(TESTES >=102 & TESTES <=106){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(71,68);
tft.print("AMONIA");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("3/4");
}
//Terceiro Enxague 107 - 111
if(TESTES >=107 & TESTES <=111){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(69,147);
tft.print("AMONIA");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 112 - 116
if(TESTES >=112 & TESTES <=116){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(74,68);
tft.print("AMONIA");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("3/3");
}
//Quarto Rejeito 117 - 121
if(TESTES >=117 & TESTES <=121){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(71,68);
tft.print("AMONIA");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("4/4");
}
//Fim do Teste 122 - 123
if(TESTES >=122){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(85,25);
tft.print("FIM");
tft.setCursor(105,95);
tft.print("DO");
tft.setCursor(35,165);
tft.print("TESTE");
}
}
}
}
//Teste Nitrito
if (DIA_DA_SEMANA_TESTA_NITRITO==now.dayOfTheWeek() & HORA_TESTA_NITRITO==now.hour() || MENU_TESTA_NITRITO == 1){
if((now.minute() >= MINUTO_TESTA_NITRITO_0) & (now.minute() <= MINUTO_TESTA_NITRITO_1 || MENU_TESTA_NITRITO == 1)){
if (millis() - MILLIS_TESTES_TFT_PRINT >= MILLIS_TFT){
MILLIS_TESTES_TFT_PRINT = millis();
//Inicio Teste Nitrito 1 - 2
if(TESTES >=1 & TESTES <=2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(38,32);
tft.print("TESTE");
tft.setCursor(95,93);
tft.print("DE");
tft.setCursor(0,155);
tft.print("NITRITO");
}
//Primeiro Enxague 3 - 4
if(TESTES >= 3 & TESTES <= 4 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("NITRITO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 5 - 9
if(TESTES >=5 & TESTES <=9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRITO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Primeiro REJEITO 10 - 14
if(TESTES >=10 & TESTES <=14){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRITO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Segundo Enxague 15 - 19
if(TESTES >=15 & TESTES <=19){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("NITRITO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 20 - 24
if(TESTES >=20 & TESTES <=24){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRITO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Segundo REJEITO 25 - 29
if(TESTES >=25 & TESTES <=29){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRITO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Terceiro Enxague 30 - 34
if(TESTES >=30 & TESTES <=34){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("NITRITO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 35 - 39
if(TESTES >=35 & TESTES <=39){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRITO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Terceiro REJEITO 40 - 44
if(TESTES >=40 & TESTES <=44){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRITO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Coletando Amostra 45 - 49
if(TESTES >=45 & TESTES <=49){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRITO");
tft.setCursor(15,68);
tft.print("COLETANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(67,188);
tft.print("TESTE");
}
//AGITANDO Reagente 1 50 - 52
if(TESTES >=50 & TESTES <=52){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRITO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("1/2");
}
//Dosando Reagente 1 53 - 54
if(TESTES >=53 & TESTES <=54){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRITO:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("1/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 1 55 - 58
if(TESTES >=55 & TESTES <=58){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRITO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(97,188);
tft.print("1/2");
}
//AGITANDO Reagente 2 60 - 61
if(TESTES >=60 & TESTES <=61){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRITO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("2/2");
}
//Dosando Amostra 2 62 - 63
if(TESTES >=62 & TESTES <=63){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRITO:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("2/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Reagente 2 64 - 67
if(TESTES >=64 & TESTES <=67){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRITO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("2/2");
}
//Aguardando Reacao 68
if(TESTES == 68){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("NITRITO:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(55,166);
tft.print("REACAO");
}
//Aguardando Resultado 69
if(TESTES == 69){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("NITRITO:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(10,166);
tft.print("RESULTADO");
}
//Resultado 71
if(TESTES ==71){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("NITRITO:");
tft.setCursor(0,97);
tft.print("RESULTADO:");
if(RESULTADO_TESTE_NITRITO <= 0.25){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_WHITE);
tft.print(RESULTADO_TESTE_NITRITO);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRITO >= 0.26){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_MAGENTA);
tft.print(RESULTADO_TESTE_NITRITO);
tft.print("ppm");
ERRO = 1;
ERRO = 1.8;
}
}
//Descarte Amostra 72 - 76
if(TESTES >=72 & TESTES <=76){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRITO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("1/4");
}
//Primeiro Enxague 77 - 81
if(TESTES >=77 & TESTES <=81){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("NITRITO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 82 - 86
if(TESTES >=82 & TESTES <=86){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRITO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("1/3");
}
//Segundo Rejeito 87 - 91
if(TESTES >=87 & TESTES <=91){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRITO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("2/4");
}
//Segundo Enxague 92 - 96
if(TESTES >=92 & TESTES <=96){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("NITRITO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 97 - 101
if(TESTES >=97 & TESTES <=101){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRITO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("2/3");
}
//Terceiro Rejeito 102 - 106
if(TESTES >=102 & TESTES <=106){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRITO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("3/4");
}
//Terceiro Enxague 107 - 111
if(TESTES >=107 & TESTES <=111){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("NITRITO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 112 - 116
if(TESTES >=112 & TESTES <=116){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRITO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("3/3");
}
//Quarto Rejeito 117 - 121
if(TESTES >=117 & TESTES <=121){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRITO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("4/4");
}
//Fim do Teste 122 - 123
if(TESTES == 122 || TESTES == 123){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(85,25);
tft.print("FIM");
tft.setCursor(105,95);
tft.print("DO");
tft.setCursor(35,165);
tft.print("TESTE");
}
}
}
}
//Teste Nitrato
if (DIA_DA_SEMANA_TESTA_NITRATO==now.dayOfTheWeek() & HORA_TESTA_NITRATO==now.hour() || MENU_TESTA_NITRATO == 1){
if((now.minute() >= MINUTO_TESTA_NITRATO_0) & (now.minute() <= MINUTO_TESTA_NITRATO_1) || MENU_TESTA_NITRATO == 1){
if (millis() - MILLIS_TESTES_TFT_PRINT >= MILLIS_TFT){
MILLIS_TESTES_TFT_PRINT = millis();
//Inicio Teste Nitrato 1 - 2
if(TESTES >=1 & TESTES <=2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(38,32);
tft.print("TESTE");
tft.setCursor(95,93);
tft.print("DE");
tft.setCursor(0,155);
tft.print("NITRATO");
}
//Primeiro Enxague 3 - 4
if(TESTES >= 3 & TESTES <= 4 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("NITRATO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 5 - 9
if(TESTES >=5 & TESTES <=9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRATO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Primeiro REJEITO 10 - 14
if(TESTES >=10 & TESTES <=14){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRATO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Segundo Enxague 15 - 19
if(TESTES >=15 & TESTES <=19){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("NITRATO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 20 - 24
if(TESTES >=20 & TESTES <=24){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRATO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Segundo REJEITO 25 - 29
if(TESTES >=25 & TESTES <=29){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRATO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Terceiro Enxague 30 - 34
if(TESTES >=30 & TESTES <=34){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("NITRATO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 35 - 39
if(TESTES >=35 & TESTES <=39){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRATO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Terceiro REJEITO 40 - 44
if(TESTES >=40 & TESTES <=44){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("NITRATO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Coletando Amostra 45 - 49
if(TESTES >=45 & TESTES <=49){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRATO");
tft.setCursor(15,68);
tft.print("COLETANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(67,188);
tft.print("TESTE");
}
//AGITANDO Reagente 1 50 - 52
if(TESTES >=50 & TESTES <=52){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("1/2");
}
//Dosando Reagente 1 53 - 54
if(TESTES >=53 & TESTES <=54){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRATO:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("1/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 1 55 - 58
if(TESTES >=55 & TESTES <=58){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(97,188);
tft.print("1/2");
}
//AGITANDO Reagente 2 60 - 61
if(TESTES >=60 & TESTES <=61){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("2/2");
}
//Dosando Amostra 2 62 - 63
if(TESTES >=62 & TESTES <=63){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRATO:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("2/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Reagente 2 64 - 67
if(TESTES >=64 & TESTES <=67){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("NITRATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("2/2");
}
//Aguardando Reacao 68
if(TESTES == 68){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("NITRATO:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(55,166);
tft.print("REACAO");
}
//Aguardando Resultado 69
if(TESTES == 69){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("NITRATO:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(10,166);
tft.print("RESULTADO");
}
//Resultado 71
if(TESTES ==71){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("NITRATO:");
tft.setCursor(0,97);
tft.print("RESULTADO:");
if(RESULTADO_TESTE_NITRATO <= 5.1 & RESULTADO_TESTE_NITRATO >= 0){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_YELLOW);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO);
tft.print("ppm");
ERRO = 1;
ERRO = 1.9;
}
if(RESULTADO_TESTE_NITRATO <= 7.60 & RESULTADO_TESTE_NITRATO >= 5.02){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_ORANGE);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRATO <= 11.00 & RESULTADO_TESTE_NITRATO >= 7.61){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_GREEN);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO ,0);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRATO >= 11.00){
tft.setCursor(37,166);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO);
tft.print("ppm");
ERRO = 1;
ERRO = 1.10;
}
}
//Descarte Amostra 72 - 76
if(TESTES >=72 & TESTES <=76){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("1/4");
}
//Primeiro Enxague 77 - 81
if(TESTES >=77 & TESTES <=81){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("NITRATO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 82 - 86
if(TESTES >=82 & TESTES <=86){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRATO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("1/3");
}
//Segundo Rejeito 87 - 91
if(TESTES >=87 & TESTES <=91){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("2/4");
}
//Segundo Enxague 92 - 96
if(TESTES >=92 & TESTES <=96){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("NITRATO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 97 - 101
if(TESTES >=97 & TESTES <=101){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRATO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("2/3");
}
//Terceiro Rejeito 102 - 106
if(TESTES >=102 & TESTES <=106){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("3/4");
}
//Terceiro Enxague 107 - 111
if(TESTES >=107 & TESTES <=111){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("NITRATO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 112 - 116
if(TESTES >=112 & TESTES <=116){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRATO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("3/3");
}
//Quarto Rejeito 117 - 121
if(TESTES >=117 & TESTES <=121){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("NITRATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("4/4");
}
//Fim do Teste 122 - 123
if(TESTES == 122 || TESTES == 123){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(85,25);
tft.print("FIM");
tft.setCursor(105,95);
tft.print("DO");
tft.setCursor(35,165);
tft.print("TESTE");
}
}
}
}
//Teste Fosfato
if (DIA_DA_SEMANA_TESTA_FOSFATO==now.dayOfTheWeek() & HORA_TESTA_FOSFATO==now.hour() || MENU_TESTA_FOSFATO == 1){
if((now.minute() >= MINUTO_TESTA_FOSFATO_0) & (now.minute() <= MINUTO_TESTA_FOSFATO_1) || MENU_TESTA_FOSFATO == 1){
if (millis() - MILLIS_TESTES_TFT_PRINT >= MILLIS_TFT){
MILLIS_TESTES_TFT_PRINT = millis();
//Inicio Teste Fosfato 1 - 2
if(TESTES >=1 & TESTES <=2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(38,32);
tft.print("TESTE");
tft.setCursor(95,93);
tft.print("DE");
tft.setCursor(0,155);
tft.print("FOSFATO");
}
//Primeiro Enxague 3 - 4
if(TESTES >= 3 & TESTES <= 4 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("FOSFATO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 5 - 9
if(TESTES >=5 & TESTES <=9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("FOSFATO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Primeiro REJEITO 10 - 14
if(TESTES >=10 & TESTES <=14){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("FOSFATO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Segundo Enxague 15 - 19
if(TESTES >=15 & TESTES <=19){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("FOSFATO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 20 - 24
if(TESTES >=20 & TESTES <=24){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("FOSFATO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Segundo REJEITO 25 - 29
if(TESTES >=25 & TESTES <=29){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("FOSFATO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Terceiro Enxague 30 - 34
if(TESTES >=30 & TESTES <=34){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(40,147);
tft.print("FOSFATO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 35 - 39
if(TESTES >=35 & TESTES <=39){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("FOSFATO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Terceiro REJEITO 40 - 44
if(TESTES >=40 & TESTES <=44){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(23,68);
tft.print("FOSFATO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Coletando Amostra 45 - 49
if(TESTES >=45 & TESTES <=49){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("FOSFATO");
tft.setCursor(15,68);
tft.print("COLETANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(67,188);
tft.print("TESTE");
}
//AGITANDO Reagente 1 50 - 52
if(TESTES >=50 & TESTES <=52){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("FOSFATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("1/2");
}
//Dosando Reagente 1 53 - 54
if(TESTES >=53 & TESTES <=54){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("FOSFATO:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("1/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 1 55 - 58
if(TESTES >=55 & TESTES <=58){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("FOSFATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(97,188);
tft.print("1/2");
}
//AGITANDO Reagente 2 60 - 61
if(TESTES >=60 & TESTES <=61){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("FOSFATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("2/2");
}
//Dosando Amostra 2 62 - 63
if(TESTES >=62 & TESTES <=63){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("FOSFATO:");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("2/2");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Reagente 2 64 - 67
if(TESTES >=64 & TESTES <=67){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,8);
tft.print("FOSFATO:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("2/2");
}
//Aguardando Reacao 68
if(TESTES == 68){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("FOSFATO:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(55,166);
tft.print("REACAO");
}
//Aguardando Resultado 69
if(TESTES == 69){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("FOSFATO:");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(10,166);
tft.print("RESULTADO");
}
//Resultado 71
if(TESTES ==71){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(40,28);
tft.print("FOSFATO:");
tft.setCursor(0,97);
tft.print("RESULTADO:");
if(RESULTADO_TESTE_FOSFATO <= 0.61 & RESULTADO_TESTE_FOSFATO >= 0){
tft.setCursor(15,166);
tft.setTextColor(ILI9341_YELLOW);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO ,1);
tft.print("ppm");
ERRO = 1;
ERRO = 1.11;
}
if(RESULTADO_TESTE_FOSFATO <= 1.0 & RESULTADO_TESTE_FOSFATO >= 0.62){
tft.setCursor(15,166);
tft.setTextColor(ILI9341_ORANGE);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO ,1);
tft.print("ppm");
}
if(RESULTADO_TESTE_FOSFATO <= 1.50 & RESULTADO_TESTE_FOSFATO >= 1.10){
tft.setCursor(15,166);
tft.setTextColor(ILI9341_GREEN);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO ,1);
tft.print("ppm");
}
if(RESULTADO_TESTE_FOSFATO >= 1.60){
tft.setCursor(15,166);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO ,1);
tft.print("ppm");
ERRO = 1;
ERRO = 1.12;
}
}
//Descarte Amostra 72 - 76
if(TESTES >=72 & TESTES <=76){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("FOSFATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("1/4");
}
//Primeiro Enxague 77 - 81
if(TESTES >=77 & TESTES <=81){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("FOSFATO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 82 - 86
if(TESTES >=82 & TESTES <=86){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("FOSFATO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("1/3");
}
//Segundo Rejeito 87 - 91
if(TESTES >=87 & TESTES <=91){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("FOSFATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("2/4");
}
//Segundo Enxague 92 - 96
if(TESTES >=92 & TESTES <=96){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("FOSFATO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 97 - 101
if(TESTES >=97 & TESTES <=101){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("FOSFATO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("2/3");
}
//Terceiro Rejeito 102 - 106
if(TESTES >=102 & TESTES <=106){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("FOSFATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("3/4");
}
//Terceiro Enxague 107 - 111
if(TESTES >=107 & TESTES <=111){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(60,147);
tft.print("FOSFATO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 112 - 116
if(TESTES >=112 & TESTES <=116){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("FOSFATO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("3/3");
}
//Quarto Rejeito 117 - 121
if(TESTES >=117 & TESTES <=121){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(60,68);
tft.print("FOSFATO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("4/4");
}
//Fim do Teste 122 - 123
if(TESTES == 122 || TESTES == 123){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(85,25);
tft.print("FIM");
tft.setCursor(105,95);
tft.print("DO");
tft.setCursor(35,165);
tft.print("TESTE");
}
}
}
}
//Teste Ferro
if ((DIA_DA_SEMANA_TESTA_IRON==now.dayOfTheWeek()) & (HORA_TESTA_IRON==now.hour()) || MENU_TESTA_IRON == 1){
if((now.minute() >= MINUTO_TESTA_IRON_0) & (now.minute() <= MINUTO_TESTA_IRON_1) || MENU_TESTA_IRON == 1){
if (millis() - MILLIS_TESTES_TFT_PRINT >= MILLIS_TFT){
MILLIS_TESTES_TFT_PRINT = millis();
//Inicio Teste Ferro 1 - 2
if(TESTES >=1 & TESTES <=2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(38,32);
tft.print("TESTE");
tft.setCursor(95,93);
tft.print("DE");
tft.setCursor(38,155);
tft.print("FERRO");
}
//Primeiro Enxague 3 - 4
if(TESTES >= 3 & TESTES <= 4 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(70,147);
tft.print("FERRO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 5 - 9
if(TESTES >=5 & TESTES <=9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(60,68);
tft.print("FERRO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Primeiro REJEITO 10 - 14
if(TESTES >=10 & TESTES <=14){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(60,68);
tft.print("FERRO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Segundo Enxague 15 - 19
if(TESTES >=15 & TESTES <=19){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(70,147);
tft.print("FERRO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 20 - 24
if(TESTES >=20 & TESTES <=24){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(60,68);
tft.print("FERRO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Segundo REJEITO 25 - 29
if(TESTES >=25 & TESTES <=29){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(60,68);
tft.print("FERRO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Terceiro Enxague 30 - 34
if(TESTES >=30 & TESTES <=34){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(70,147);
tft.print("FERRO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 35 - 39
if(TESTES >=35 & TESTES <=39){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(60,68);
tft.print("FERRO");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Terceiro REJEITO 40 - 44
if(TESTES >=40 & TESTES <=44){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(60,68);
tft.print("FERRO");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Coletando Amostra 45 - 49
if(TESTES >=45 & TESTES <=49){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(15,68);
tft.print("COLETANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(67,188);
tft.print("TESTE");
}
//Agitando Reagente 1 50 - 52
if(TESTES >=50 & TESTES <=52){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO:");
tft.setCursor(28,68);
tft.print("AGITANDO");
tft.setCursor(28,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("1/3");
}
//Dosando Reagente 1 53
if(TESTES == 53){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("1/3");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 1 54 - 58
if(TESTES >=54 & TESTES <=58){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(35,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("1/3");
}
//Leitura Amostra 59 - 60
if(TESTES >=59 & TESTES <=60){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(41,68);
tft.print("LEITURA");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("1/3");
}
//Resultado Reagente 1
if(TESTES ==62 & COR_IRON == 1){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(83,8);
tft.print("FERRO");
tft.setCursor(65,58);
tft.print("AMOSTRA");
tft.setCursor(63,108);
tft.print("INCOLOR");
tft.setCursor(65,158);
tft.print("RETRONO");
tft.setCursor(55,208);
tft.print("REAGENTE");
}
if(TESTES ==62 & COR_IRON == 2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(83,8);
tft.print("FERRO");
tft.setCursor(65,58);
tft.print("AMOSTRA");
tft.setCursor(63,108);
tft.print("ACEITA");
tft.setCursor(65,158);
tft.print("PROXIMO");
tft.setCursor(55,208);
tft.print("REAGENTE");
}
//Agitando Reagente 2 63 - 65
if(TESTES >=63 & TESTES <=65){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(100,188);
tft.print("2/3");
}
//Dosando Amostra 2 66
if(TESTES == 66){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("2/3");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 2 67 - 71
if(TESTES >=67 & TESTES <=71){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("2/3");
}
//Agitando Reagente 3 72 - 74
if(TESTES >=72 & TESTES <=74){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(100,188);
tft.print("3/3");
}
//Dosando Amostra 3 75
if(TESTES == 75){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("3/3");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 3 76 - 80
if(TESTES >=76 & TESTES <=80){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,8);
tft.print("FERRO");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(100,188);
tft.print("3/3");
}
//Aguardando Reacao 81
if(TESTES == 81){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,28);
tft.print("FERRO");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(55,166);
tft.print("REACAO");
}
//Aguardando Resultado 82
if(TESTES == 82){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,28);
tft.print("FERRO");
tft.setCursor(0,97);
tft.print("AGUARDANDO");
tft.setCursor(10,166);
tft.print("RESULTADO");
}
//Resultado 84
if(TESTES == 84){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(70,28);
tft.print("FERRO");
tft.setCursor(0,97);
tft.print("RESULTADO:");
if(RESULTADO_TESTE_IRON <= 0.4 & RESULTADO_TESTE_IRON >= 0){
tft.setCursor(28,166);
tft.setTextColor(ILI9341_YELLOW);
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
ERRO = 1;
ERRO = 1.13;
}
if(RESULTADO_TESTE_IRON <= 1.0 & RESULTADO_TESTE_IRON >= 0.4){
tft.setCursor(28,166);
tft.setTextColor(ILI9341_ORANGE);
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
}
if(RESULTADO_TESTE_IRON <= 2.0 & RESULTADO_TESTE_IRON >= 1.5){
tft.setCursor(28,166);
tft.setTextColor(ILI9341_GREEN);
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
}
if(RESULTADO_TESTE_IRON >= 2.1){
tft.setCursor(28,166);
tft.setTextColor(ILI9341_MAGENTA);
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
ERRO = 1;
ERRO = 1.14;
}
}
//Descarte Amostra 85 - 89
if(TESTES >=85 & TESTES <=89){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(83,68);
tft.print("FERRO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("1/4");
}
//Primeiro Enxague 90 - 94
if(TESTES >=90 & TESTES <=94){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(80,147);
tft.print("FERRO");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 95 - 99
if(TESTES >=95 & TESTES <=99){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(83,68);
tft.print("FERRO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("1/3");
}
//Segundo Rejeito 100 - 104
if(TESTES >=100 & TESTES <=104){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(83,68);
tft.print("FERRO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("2/4");
}
//Segundo Enxague 105 - 109
if(TESTES >=105 & TESTES <=109){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(83,147);
tft.print("FERRO");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 110 - 114
if(TESTES >=110 & TESTES <=114){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(83,68);
tft.print("FERRO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("2/3");
}
//Terceiro Rejeito 115 - 119
if(TESTES >=115 & TESTES <=119){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(83,68);
tft.print("FERRO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("3/4");
}
//Terceiro Enxague 120 - 124
if(TESTES >=120 & TESTES <=124){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(83,147);
tft.print("FERRO");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 125 - 129
if(TESTES >=125 & TESTES <=129){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(83,68);
tft.print("FERRO");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("3/3");
}
//Quarto Rejeito 130 - 134
if(TESTES >=130 & TESTES <=134){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(83,68);
tft.print("FERRO");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("4/4");
}
//Fim do Teste 130 -
if(TESTES == 135|| TESTES == 136 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(85,25);
tft.print("FIM");
tft.setCursor(105,95);
tft.print("DO");
tft.setCursor(35,165);
tft.print("TESTE");
}
}
}
}
//Teste GH
if ((DIA_DA_SEMANA_TESTA_GH==now.dayOfTheWeek()) & (HORA_TESTA_GH==now.hour()) || MENU_TESTA_GH == 1){
if((now.minute() >= MINUTO_TESTA_GH_0) & (now.minute() <= MINUTO_TESTA_GH_1) || MENU_TESTA_GH == 1){
if (millis() - MILLIS_TESTES_TFT_PRINT >= MILLIS_TFT){
MILLIS_TESTES_TFT_PRINT = millis();
//Inicio Teste GH 1 - 2
if(TESTES >=1 & TESTES <=2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(38,32);
tft.print("TESTE");
tft.setCursor(95,93);
tft.print("DE");
tft.setCursor(95,155);
tft.print("GH");
}
//Primeiro Enxague 3 - 4
if(TESTES >= 3 & TESTES <= 4 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(115,147);
tft.print("GH");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 5 - 9
if(TESTES >=5 & TESTES <=9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("GH");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Primeiro REJEITO 10 - 14
if(TESTES >=10 & TESTES <=14){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("GH");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Segundo Enxague 15 - 19
if(TESTES >=15 & TESTES <=19){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(115,147);
tft.print("GH");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 20 - 24
if(TESTES >=20 & TESTES <=24){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("GH");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Segundo REJEITO 25 - 29
if(TESTES >=25 & TESTES <=29){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("GH");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Terceiro Enxague 30 - 34
if(TESTES >=30 & TESTES <=34){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(115,147);
tft.print("GH");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 35 - 39
if(TESTES >=35 & TESTES <=39){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("GH");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Terceiro REJEITO 40 - 44
if(TESTES >=40 & TESTES <=44){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("GH");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Coletando Amostra 45 - 49
if(TESTES >=45 & TESTES <=49){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,8);
tft.print("GH");
tft.setCursor(15,68);
tft.print("COLETANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(67,188);
tft.print("TESTE");
}
//Agitando Reagente 1 50 - 52
if(TESTES >=50 & TESTES <=52){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,8);
tft.print("GH");
tft.setCursor(28,68);
tft.print("AGITANDO");
tft.setCursor(28,128);
tft.print("REAGENTE");
tft.setCursor(97,188);
tft.print("1/1");
}
//Dosando Reagente 53
if(TESTES ==53 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,8);
tft.print("GH");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(0,188);
tft.print("1/1");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 54 - 58
if(TESTES >=54 & TESTES <=58){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,8);
tft.print("GH:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(97,188);
tft.print("1/1");
}
//Leitura Amostra 59 - 60
if(TESTES >=59 & TESTES <=60){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,28);
tft.print("GH");
tft.setCursor(45,97);
tft.print("LEITURA");
tft.setCursor(45,166);
tft.print("AMOSTRA");
}
//Amostra Incolor 63
if(TESTES ==63 & COR_GH == 1){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(125,8);
tft.print("GH");
tft.setCursor(65,58);
tft.print("AMOSTRA");
tft.setCursor(63,108);
tft.print("INCOLOR");
tft.setCursor(65,158);
tft.print("RETRONO");
tft.setCursor(55,208);
tft.print("REAGENTE");
}
//Amostra ACEITA 63
if(TESTES ==63 & COR_GH == 2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(125,8);
tft.print("GH");
tft.setCursor(65,58);
tft.print("AMOSTRA");
tft.setCursor(63,108);
tft.print("ACEITA");
tft.setCursor(65,158);
tft.print("PROXIMO");
tft.setCursor(75,208);
tft.print("PASSO");
}
// Resultado Teste 64
if(TESTES == 64){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,28);
tft.print("GH");
tft.setCursor(0,97);
tft.print("RESULTADO:");
if(RESULTADO_TESTE_GH <= 4 & RESULTADO_TESTE_GH >= 0){
tft.setCursor(68,166);
tft.setTextColor(ILI9341_YELLOW);
tft.print(RESULTADO_TESTE_GH);
tft.print(" ppm");
ERRO = 1;
ERRO = 1.15;
}
if(RESULTADO_TESTE_GH <= 6 & RESULTADO_TESTE_GH >= 5){
tft.setCursor(68,166);
tft.setTextColor(ILI9341_GREEN);
tft.print(RESULTADO_TESTE_GH);
tft.print(" ppm");
}
if(RESULTADO_TESTE_GH >= 7){
tft.setCursor(68,166);
tft.setTextColor(ILI9341_MAGENTA);
tft.print(RESULTADO_TESTE_GH);
tft.print(" ppm");
ERRO = 1;
ERRO = 1.16;
}
}
//Descarte Amostra 65 - 68
if(TESTES >=65 & TESTES <=68){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("GH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("1/4");
}
//Primeiro Enxague 69 - 73
if(TESTES >=69 & TESTES <=73){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(117,147);
tft.print("GH");
tft.setCursor(105,192);
tft.print("1/3");
}
//Primeira Agitada 74 - 78
if(TESTES >=74 & TESTES <=78){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("GH");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("1/3");
}
//Segundo Rejeito 79 - 83
if(TESTES >=79 & TESTES <=83){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("GH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(105,188);
tft.print("2/4");
}
//Segundo Enxague 84 - 88
if(TESTES >=84 & TESTES <=88){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(117,147);
tft.print("GH");
tft.setCursor(105,192);
tft.print("2/3");
}
//Segunda Agitada 89 - 93
if(TESTES >=89 & TESTES <=93){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("GH");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("2/3");
}
//Terceiro Rejeito 94 - 98
if(TESTES >=94 & TESTES <=98){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("GH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(105,188);
tft.print("3/4");
}
//Terceiro Enxague 99 - 103
if(TESTES >=99 & TESTES <=103){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(117,147);
tft.print("GH");
tft.setCursor(105,192);
tft.print("3/3");
}
//Terceira Agitada 104 - 108
if(TESTES >=104 & TESTES <=108){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("GH");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("3/3");
}
//Quarto Rejeito 109 - 113
if(TESTES >=109 & TESTES <=113){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("GH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(105,188);
tft.print("4/4");
}
//Fim do Teste 112 -
if(TESTES >=114){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(85,25);
tft.print("FIM");
tft.setCursor(105,95);
tft.print("DO");
tft.setCursor(35,165);
tft.print("TESTE");
}
}
}
}
//Teste KH
if ((DIA_DA_SEMANA_TESTA_KH==now.dayOfTheWeek()) & (HORA_TESTA_KH==now.hour()) || MENU_TESTA_KH == 1){
if((now.minute() >= MINUTO_TESTA_KH_0) & (now.minute() <= MINUTO_TESTA_KH_1) || MENU_TESTA_KH == 1){
if (millis() - MILLIS_TESTES_TFT_PRINT >= MILLIS_TFT){
MILLIS_TESTES_TFT_PRINT = millis();
//Inicio Teste KH 1 - 2
if(TESTES >=1 & TESTES <=2){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(38,32);
tft.print("TESTE");
tft.setCursor(95,93);
tft.print("DE");
tft.setCursor(95,155);
tft.print("KH");
}
//Primeiro Enxague 3 - 4
if(TESTES >= 3 & TESTES <= 4 ){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(115,147);
tft.print("KH");
tft.setCursor(100,192);
tft.print("1/3");
}
//Primeira Agitada 5 - 9
if(TESTES >=5 & TESTES <=9){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("KH");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Primeiro REJEITO 10 - 14
if(TESTES >=10 & TESTES <=14){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("KH");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("1/3");
}
//Segundo Enxague 15 - 19
if(TESTES >=15 & TESTES <=19){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(115,147);
tft.print("KH");
tft.setCursor(100,192);
tft.print("2/3");
}
//Segunda Agitada 20 - 24
if(TESTES >=20 & TESTES <=24){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("KH");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Segundo REJEITO 25 - 29
if(TESTES >=25 & TESTES <=29){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("KH");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("2/3");
}
//Terceiro Enxague 30 - 34
if(TESTES >=30 & TESTES <=34){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(45,12);
tft.print("INICIO:");
tft.setCursor(41,57);
tft.print("LAVANDO");
tft.setCursor(55,102);
tft.print("FRASCO");
tft.setCursor(115,147);
tft.print("KH");
tft.setCursor(100,192);
tft.print("3/3");
}
//Terceira Agitada 35 - 39
if(TESTES >=35 & TESTES <=39){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("KH");
tft.setCursor(5,128);
tft.print("AGITACAO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Terceiro REJEITO 40 - 44
if(TESTES >=40 & TESTES <=44){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(6);
tft.setCursor(25,8);
tft.print("INICIO:");
tft.setCursor(105,68);
tft.print("KH");
tft.setCursor(25,128);
tft.print("REJEITO");
tft.setCursor(91,188);
tft.print("3/3");
}
//Coletando Amostra 45 - 49
if(TESTES >=45 & TESTES <=49){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,8);
tft.print("KH");
tft.setCursor(15,68);
tft.print("COLETANDO");
tft.setCursor(36,128);
tft.print("AMOSTRA");
tft.setCursor(67,188);
tft.print("TESTE");
}
//Agitando Reagente 51
if(TESTES ==51){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,28);
tft.print("KH");
tft.setCursor(41,88);
tft.print("AGITANDO");
tft.setCursor(24,148);
tft.print("REAGENTE");
tft.setCursor(100,208);
tft.print("1/1");
}
//Dosando Reagente 53
if(TESTES ==53){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,8);
tft.print("KH");
tft.setCursor(41,68);
tft.print("DOSANDO");
tft.setCursor(24,128);
tft.print("REAGENTE");
tft.setCursor(100,188);
tft.print("1/1");
tft.setCursor(100,188);
tft.print("GOTAS:");
tft.print(CONTA_GOTAS);
}
//Agitando Amostra 54 - 58
if(TESTES >=54 & TESTES <=58){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,8);
tft.print("KH:");
tft.setCursor(24,68);
tft.print("AGITANDO");
tft.setCursor(38,128);
tft.print("AMOSTRA");
tft.setCursor(97,188);
tft.print("1/1");
}
//Leitura Amostra 59
if(TESTES == 59){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,28);
tft.print("KH");
tft.setCursor(45,97);
tft.print("LEITURA");
tft.setCursor(45,166);
tft.print("AMOSTRA");
}
//Amostra Incolor 60 - 61
if(COR_KH == 1){
if(TESTES ==63){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(125,8);
tft.print("KH");
tft.setCursor(65,58);
tft.print("AMOSTRA");
tft.setCursor(63,108);
tft.print("INCOLOR");
tft.setCursor(65,158);
tft.print("RETRONO");
tft.setCursor(55,208);
tft.print("REAGENTE");
}
}
//Resultado 62 - 63
if(COR_KH == 2){
if(TESTES ==63){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(5);
tft.setCursor(115,28);
tft.print("KH");
tft.setCursor(0,97);
tft.print("RESULTADO:");
if(RESULTADO_TESTE_KH <= 2 & RESULTADO_TESTE_KH >= 0){
tft.setCursor(68,166);
tft.setTextColor(ILI9341_YELLOW);
tft.print(RESULTADO_TESTE_KH ,0);
tft.print(" ppm");
ERRO = 1;
ERRO = 1.17;
}
if(RESULTADO_TESTE_KH <= 4 & RESULTADO_TESTE_KH >= 3){
tft.setCursor(68,166);
tft.setTextColor(ILI9341_WHITE);
tft.print(RESULTADO_TESTE_KH ,0);
tft.print(" ppm");
}
if(RESULTADO_TESTE_KH >= 5){
tft.setCursor(68,166);
tft.setTextColor(ILI9341_MAGENTA);
tft.print(RESULTADO_TESTE_KH ,0);
tft.print(" ppm");
ERRO = 1;
ERRO = 1.18;
}
}
}
//Descarte Amostra 65 - 68
if(TESTES >=65 & TESTES <=68){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("KH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(100,188);
tft.print("1/4");
}
//Primeiro Enxague 69 - 73
if(TESTES >=69 & TESTES <=73){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(117,147);
tft.print("KH");
tft.setCursor(105,192);
tft.print("1/3");
}
//Primeira Agitada 74 - 78
if(TESTES >=74 & TESTES <=78){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("KH");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("1/3");
}
//Segundo Rejeito 79 - 83
if(TESTES >=79 & TESTES <=83){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("KH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(105,188);
tft.print("2/4");
}
//Segundo Enxague 84 - 88
if(TESTES >=84 & TESTES <=88){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(117,147);
tft.print("KH");
tft.setCursor(105,192);
tft.print("2/3");
}
//Segunda Agitada 89 - 93
if(TESTES >=89 & TESTES <=93){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("KH");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("2/3");
}
//Terceiro Rejeito 94 - 98
if(TESTES >=94 & TESTES <=98){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("KH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(105,188);
tft.print("3/4");
}
//Terceiro Enxague 99 - 103
if(TESTES >=99 & TESTES <=103){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(55,57);
tft.print("LAVANDO");
tft.setCursor(69,102);
tft.print("FRASCO");
tft.setCursor(117,147);
tft.print("KH");
tft.setCursor(105,192);
tft.print("3/3");
}
//Terceira Agitada 104 - 108
if(TESTES >=104 & TESTES <=108){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("KH");
tft.setCursor(50,128);
tft.print("AGITACAO");
tft.setCursor(105,188);
tft.print("3/3");
}
//Quarto Rejeito 109 - 113
if(TESTES >=109 & TESTES <=113){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(4);
tft.setCursor(0,12);
tft.print("FIM DO TESTE:");
tft.setCursor(117,68);
tft.print("KH");
tft.setCursor(60,128);
tft.print("REJEITO");
tft.setCursor(105,188);
tft.print("4/4");
}
//Fim do Teste 114 -
if(TESTES >=114){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(7);
tft.setCursor(85,25);
tft.print("FIM");
tft.setCursor(105,95);
tft.print("DO");
tft.setCursor(35,165);
tft.print("TESTE");
}
}
}
}
}
}
//Modulo Erros
if (INICIALIZACAO_ARDUINO == 0 & TESTES == 0 & ERRO == 1 & RESULTADOS == 0 & MENUS == 0){
if(millis() - MILLIS_TFT_PRINT >= 8000){
MILLIS_TFT_PRINT = millis();
if(ERROS == 1.1){
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(4);
tft.setCursor(0,22);
tft.print("INICIALIZACAO");
tft.setTextColor(ILI9341_MAGENTA);
tft.setTextSize(6);
tft.setCursor(44,80);
tft.print("MODULO");
tft.setTextSize(4);
tft.setCursor(20,152);
tft.print("DATA & HORA");
tft.setTextSize(4);
tft.setCursor(75,200);
tft.print("FALHOU");
delay(DELAY_TFT_INI);
}
RESULTADOS = 1;
ERRO = 0;
}
}
//Modulo RESULTADOS
if (INICIALIZACAO_ARDUINO == 0 & TESTES == 0 & ERRO == 0 & RESULTADOS == 1 & MENUS == 0){
if (millis() - MILLIS_TFT_PRINT >= 8000){
//Modulo Data e Hora
tft.fillScreen(ILI9341_BLACK);
tft.setCursor(0,0);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
if (now.day() < 10){
tft.print("0");
}
tft.print(now.day());
tft.print('/');
if (now.month() < 10){
tft.print("0");
}
tft.print(now.month());
tft.print('/');
tft.print(now.year());
tft.print(' ');
tft.print(daysOfTheWeek[now.dayOfTheWeek()]);
tft.print(' ');
if (now.hour() < 10){
tft.print("0");
}
tft.print(now.hour());
tft.print(':');
if (now.minute() < 10){
tft.print("0");
}
tft.print(now.minute());
//tft.print(':');
//if (now.second() < 10){
//tft.print("0");
//}
// tft.print(now.second());
//Modulo Dosadora Fertilizantes
if (CORRECAO_EXCEL >= 50 & CORRECAO_EXCEL <= 150){
tft.setCursor(0,20);
tft.setTextColor(ILI9341_GREEN);
tft.setTextSize(2);
tft.print("EXCEL:");
tft.print(CORRECAO_EXCEL);
tft.print("%");
}
if (CORRECAO_EXCEL >= 26 & CORRECAO_EXCEL <= 49){
tft.setCursor(0,20);
tft.setTextColor(ILI9341_ORANGE);
tft.setTextSize(2);
tft.print("EXCEL:");
tft.print(CORRECAO_EXCEL);
tft.print("%");
}
if (CORRECAO_EXCEL <= 25){
tft.setCursor(0,20);
tft.setTextColor(ILI9341_MAGENTA);
tft.setTextSize(2);
tft.print("EXCEL:");
tft.print(CORRECAO_EXCEL);
tft.print("%");
}
if (CORRECAO_IRON >= 50 & CORRECAO_IRON <= 150){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(164,20);
tft.print("IRON:");
tft.print(CORRECAO_IRON);
tft.print("%");
}
if (CORRECAO_IRON >= 26 & CORRECAO_IRON <= 49){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(164,20);
tft.print("IRON:");
tft.print(CORRECAO_IRON);
tft.print("%");
}
if (CORRECAO_IRON <= 25){
tft.setCursor(164,20);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("IRON:");
tft.print(CORRECAO_IRON);
tft.print("%");
}
if (CORRECAO_ADVANCED >= 50 & CORRECAO_ADVANCED <= 150){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,40);
tft.print("ADVANCED:");
tft.print(CORRECAO_ADVANCED);
tft.print("%");
}
if (CORRECAO_ADVANCED >= 26 & CORRECAO_ADVANCED <= 49){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(0,40);
tft.print("ADVANCED:");
tft.print(CORRECAO_ADVANCED);
tft.print("%");
}
if (CORRECAO_ADVANCED <= 25){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(0,40);
tft.print("ADVANCED:");
tft.print(CORRECAO_ADVANCED);
tft.print("%");
}
if (CORRECAO_FLOURISH >= 50 & CORRECAO_FLOURISH <= 150){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(164,40);
tft.print("FLOURISH:");
tft.print(CORRECAO_FLOURISH);
tft.print("%");
}
if (CORRECAO_FLOURISH >= 26 & CORRECAO_FLOURISH <= 49){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(164,40);
tft.print("FLOURISH:");
tft.print(CORRECAO_FLOURISH);
tft.print("%");
}
if (CORRECAO_FLOURISH <= 25){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(164,40);
tft.print("FLOURISH:");
tft.print(CORRECAO_FLOURISH);
tft.print("%");
}
if (CORRECAO_TRACE >= 50 & CORRECAO_TRACE <= 150){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,60);
tft.print("TRACE:");
tft.print(CORRECAO_TRACE);
tft.print("%");
}
if (CORRECAO_TRACE >= 26 & CORRECAO_TRACE <= 49){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(0,60);
tft.print("TRACE:");
tft.print(CORRECAO_TRACE);
tft.print("%");
}
if (CORRECAO_TRACE <=25){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(0,60);
tft.print("TRACE:");
tft.print(CORRECAO_TRACE);
tft.print("%");
}
if (CORRECAO_PRIME >= 50 & CORRECAO_PRIME <= 150){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(164,60);
tft.print("PRIME:");
tft.print(CORRECAO_PRIME);
tft.print("%");
}
if (CORRECAO_PRIME >= 26 & CORRECAO_PRIME <= 49){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(164,60);
tft.print("PRIME:");
tft.print(CORRECAO_PRIME);
tft.print("%");
}
if (CORRECAO_PRIME <=25){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(164,60);
tft.print("PRIME:");
tft.print(CORRECAO_PRIME);
tft.print("%");
}
//Temperatura e Humidade do Ar
if (SENSOR_AQUARIO >=28){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(0,80);
tft.print("AQUARIO:");
tft.print(SENSOR_AQUARIO);
tft.print(" C");
}
if (SENSOR_AQUARIO >=26 & SENSOR_AQUARIO <=27){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,80);
tft.print("AQUARIO:");
tft.print(SENSOR_AQUARIO);
tft.print(" C");
}
if (SENSOR_AQUARIO <=25){
tft.setTextColor(ILI9341_CYAN);
tft.setCursor(0,80);
tft.print("AQUARIO:");
tft.print(SENSOR_AQUARIO);
tft.print(" C");
}
if (SENSOR_COOLER >= 40){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(164,80);
tft.print("COOLER:");
tft.print(SENSOR_COOLER);
tft.print("C");
}
if (SENSOR_COOLER <=40 & SENSOR_COOLER >= 26){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(164,80);
tft.print("COOLER:");
tft.print(SENSOR_COOLER);
tft.print("C");
}
if (SENSOR_COOLER <= 26 ){
tft.setTextColor(ILI9341_CYAN);
tft.setCursor(164,80);
tft.print("COOLER:");
tft.print(SENSOR_COOLER);
tft.print("C");
}
if (SENSOR_AMBIENTE >= 29){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(0,100);
tft.print("AMBIENTE:");
tft.print(SENSOR_AMBIENTE);
tft.print("C");
}
if (SENSOR_AMBIENTE <=28 & SENSOR_AMBIENTE >=25){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,100);
tft.print("AMBIENTE:");
tft.print(SENSOR_AMBIENTE);
tft.print("C");
}
if (SENSOR_AMBIENTE <=24){
tft.setTextColor(ILI9341_CYAN);
tft.setCursor(0,100);
tft.print("AMBIENTE:");
tft.print(SENSOR_AMBIENTE);
tft.print("C");
}
if (HUMIDADE >=80){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(164,100);
tft.print("HUMIDADE:");
tft.print(HUMIDADE);
tft.print("%");
}
if (HUMIDADE <=80 & HUMIDADE >=45){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(164,100);
tft.print("HUMIDADE:");
tft.print(HUMIDADE);
tft.print("%");
}
if (HUMIDADE <=45 & HUMIDADE >=20){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(164,100);
tft.print("HUMIDADE:");
tft.print(HUMIDADE);
tft.print("%");
}
//Modulo TDS
if (tdsValue <=400 & tdsValue >=100){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,120);
tft.print("TDS:");
tft.print(tdsValue ,0);
}
if (tdsValue <=600 & tdsValue >=400){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(0,120);
tft.print("TDS:");
tft.print(tdsValue ,0);
}
if (tdsValue >= 601){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(0,120);
tft.print("TDS:");
tft.print(tdsValue ,0);
}
//Nivel Agua
if (NIVEL_SUMP <= 2 & NIVEL_AQUA >= 3){
ERRO = 1;
ERROS = 1.5;
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(164,120);
tft.print("Perlon Sujo");
}
if (NIVEL_SUMP <= 1.20 & NIVEL_AQUA <= 2){
ERRO = 1;
ERROS = 1.6;
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(164,120);
tft.print("Nivel Baixo");
}
if(NIVEL_SUMP >= 2.5 & NIVEL_AQUA >= 3){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(164,120);
tft.print("Nivel OK");
}
//Modulo PH
if (valor_pH >= 6.00 & valor_pH <=7.00){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,140);
tft.print("PH:");
tft.print(valor_pH ,2);
}
if (valor_pH >= 7.20){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(0,140);
tft.print("PH:");
tft.print(valor_pH ,2);
}
if (valor_pH <= 5.98){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(0,140);
tft.print("PH:");
tft.print(valor_pH ,2);
}
//CO2
if (RESULTADO_LEITURA_CO2 <= 10 & RESULTADO_LEITURA_CO2>=0){
tft.setTextColor(ILI9341_YELLOW);
tft.setCursor(164,140);
tft.print("Co2:");
tft.print(RESULTADO_LEITURA_CO2);
tft.print("ppm");
}
if (RESULTADO_LEITURA_CO2 <= 20 & RESULTADO_LEITURA_CO2 >=11){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(164,140);
tft.print("Co2:");
tft.print(RESULTADO_LEITURA_CO2);
tft.print("ppm");
}
if (RESULTADO_LEITURA_CO2 <= 32 & RESULTADO_LEITURA_CO2 >=21){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(164,140);
tft.print("Co2:");
tft.print(RESULTADO_LEITURA_CO2);
tft.print("ppm");
}
if (RESULTADO_LEITURA_CO2 >=33){
tft.setTextColor(ILI9341_MAGENTA);
tft.setCursor(164,140);
tft.print("Co2:");
tft.print(RESULTADO_LEITURA_CO2);
tft.print("ppm");
}
//Modulo Turbidez
if(TURBIDEZ <= 2 & TURBIDEZ >= 0){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,160);
tft.print("TURBIDEZ:");
tft.print(TURBIDEZ);
}
if(TURBIDEZ <= 4 & TURBIDEZ >= 3){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(0,160);
tft.print("TURBIDEZ:");
tft.print(TURBIDEZ);
}
if(TURBIDEZ >= 5){
tft.setTextColor(ILI9341_RED);
tft.setCursor(0,160);
tft.print("TURBIDEZ:");
tft.print(TURBIDEZ);
}
//Resultados Testes
//Iron
if(RESULTADO_TESTE_IRON <= 0.4 & RESULTADO_TESTE_IRON >= 0){
tft.setCursor(164,160);
tft.setTextColor(ILI9341_YELLOW);
tft.print("FERRO:");
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
}
if(RESULTADO_TESTE_IRON <= 1.0 & RESULTADO_TESTE_IRON >= 0.4){
tft.setCursor(164,160);
tft.setTextColor(ILI9341_ORANGE);
tft.print("FERRO:");
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
}
if(RESULTADO_TESTE_IRON <= 2.0 & RESULTADO_TESTE_IRON >= 1.5){
tft.setCursor(164,160);
tft.setTextColor(ILI9341_GREEN);
tft.print("FERRO:");
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
}
if(RESULTADO_TESTE_IRON >= 2.1){
tft.setCursor(164,160);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("FERRO:");
tft.print(RESULTADO_TESTE_IRON);
tft.print("ppm");
}
//Amonia
if(RESULTADO_TESTE_AMONIA <= 0.26 & RESULTADO_TESTE_AMONIA >= 0.00){
tft.setTextColor(ILI9341_GREEN);
tft.setCursor(0,180);
tft.print("NH3:");
tft.print(RESULTADO_TESTE_AMONIA);
tft.print("ppm");
}
if(RESULTADO_TESTE_AMONIA <= 0.49 & RESULTADO_TESTE_AMONIA >= 0.27){
tft.setTextColor(ILI9341_ORANGE);
tft.setCursor(0,180);
tft.print("NH3:");
tft.print(RESULTADO_TESTE_AMONIA);
tft.print("ppm");
}
if(RESULTADO_TESTE_AMONIA >= 0.50){
tft.setCursor(0,180);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("NH3:");
tft.print(RESULTADO_TESTE_AMONIA);
tft.print("ppm");
}
//Nitrito
if(RESULTADO_TESTE_NITRITO <= 0.26 & RESULTADO_TESTE_NITRITO >= 0.00){
tft.setCursor(164,180);
tft.setTextColor(ILI9341_GREEN);
tft.print("NO2:");
tft.print(RESULTADO_TESTE_NITRITO);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRITO <= 0.48 & RESULTADO_TESTE_NITRITO >= 0.27){
tft.setCursor(164,180);
tft.setTextColor(ILI9341_ORANGE);
tft.print("NO2:");
tft.print(RESULTADO_TESTE_NITRITO);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRITO >= 0.50){
tft.setCursor(164,180);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("NO2:");
tft.print(RESULTADO_TESTE_NITRITO);
tft.print("ppm");
}
//Nitrato
if(RESULTADO_TESTE_NITRATO <= 5.1 & RESULTADO_TESTE_NITRATO >= 0){
tft.setCursor(0,200);
tft.setTextColor(ILI9341_YELLOW);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRATO <= 7.60 & RESULTADO_TESTE_NITRATO >= 5.02){
tft.setCursor(0,200);
tft.setTextColor(ILI9341_ORANGE);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRATO <= 11.00 & RESULTADO_TESTE_NITRATO >= 7.61){
tft.setCursor(0,200);
tft.setTextColor(ILI9341_GREEN);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO ,0);
tft.print("ppm");
}
if(RESULTADO_TESTE_NITRATO >= 11.00){
tft.setCursor(0,200);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("NO3:");
tft.print(RESULTADO_TESTE_NITRATO);
tft.print("ppm");
}
//Fosfato
if(RESULTADO_TESTE_FOSFATO <= 0.61 & RESULTADO_TESTE_FOSFATO >= 0){
tft.setCursor(164,200);
tft.setTextColor(ILI9341_YELLOW);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO);
tft.print("ppm");
}
if(RESULTADO_TESTE_FOSFATO <= 1.0 & RESULTADO_TESTE_FOSFATO >= 0.62){
tft.setCursor(164,200);
tft.setTextColor(ILI9341_ORANGE);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO);
tft.print("ppm");
}
if(RESULTADO_TESTE_FOSFATO <= 1.50 & RESULTADO_TESTE_FOSFATO >= 1.10){
tft.setCursor(164,200);
tft.setTextColor(ILI9341_GREEN);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO ,0);
tft.print("ppm");
}
if(RESULTADO_TESTE_FOSFATO >= 1.60){
tft.setCursor(164,200);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("PO4:");
tft.print(RESULTADO_TESTE_FOSFATO);
tft.print("ppm");
}
//GH
if(RESULTADO_TESTE_GH <= 2 & RESULTADO_TESTE_GH >= 0){
tft.setCursor(0,220);
tft.setTextColor(ILI9341_YELLOW);
tft.print("GH:");
tft.print(RESULTADO_TESTE_GH);
tft.print(" ppm");
}
if(RESULTADO_TESTE_GH <= 4 & RESULTADO_TESTE_GH >= 2){
tft.setCursor(0,220);
tft.setTextColor(ILI9341_ORANGE);
tft.print("GH:");
tft.print(RESULTADO_TESTE_GH);
tft.print(" ppm");
}
if(RESULTADO_TESTE_GH <= 6 & RESULTADO_TESTE_GH >= 5){
tft.setCursor(0,220);
tft.setTextColor(ILI9341_GREEN);
tft.print("GH:");
tft.print(RESULTADO_TESTE_GH);
tft.print(" ppm");
}
if(RESULTADO_TESTE_GH >= 7){
tft.setCursor(0,220);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("GH:");
tft.print(RESULTADO_TESTE_GH);
tft.print(" ppm");
}
//KH
if(RESULTADO_TESTE_KH <= 1 & RESULTADO_TESTE_KH >= 0){
tft.setCursor(164,220);
tft.setTextColor(ILI9341_YELLOW);
tft.print("KH:");
tft.print(RESULTADO_TESTE_KH ,0);
tft.print(" ppm");
}
if(RESULTADO_TESTE_KH <= 3 & RESULTADO_TESTE_KH >= 2){
tft.setCursor(164,220);
tft.setTextColor(ILI9341_ORANGE);
tft.print("KH:");
tft.print(RESULTADO_TESTE_KH ,0);
tft.print(" ppm");
}
if(RESULTADO_TESTE_KH <= 5 & RESULTADO_TESTE_KH >= 4){
tft.setCursor(164,220);
tft.setTextColor(ILI9341_GREEN);
tft.print("KH:");
tft.print(RESULTADO_TESTE_KH ,0);
tft.print(" ppm");
}
if(RESULTADO_TESTE_KH >= 6){
tft.setCursor(164,220);
tft.setTextColor(ILI9341_MAGENTA);
tft.print("KH:");
tft.print(RESULTADO_TESTE_KH ,0);
tft.print(" ppm");
}
MILLIS_TFT_PRINT = millis();
}
if (millis() - MILLIS_MENU_PRINT >= 40000){
MENUS = 1;
RESULTADOS = 0;
tft.fillScreen(BLACK);
telainicial();
page=0;
}
}
//Modulo Menus
if (INICIALIZACAO_ARDUINO == 0 & TESTES == 0 & ERRO == 0 & RESULTADOS == 0 & MENUS == 1){
p.y = map(p.y, 320, 0, 320, 0);
p.x = map(p.x, 240, 0, 0, 240);
/*static unsigned long testest;
if(millis() - testest >= 300 ){
testest = millis();
// Print out the remapped (rotated) coordinates
Serial.print("("); Serial.print(p.x);
Serial.print(", "); Serial.print(p.y);
Serial.println(")");
}*/
if(page==0){
if (p.x > 44 & p.x < 196 & p.y > 44 & p.y < 276)
{
page=1;
telamenus();
}
if (millis() - MILLIS_TFT_PRINT >= 10000){
MENUS = 0;
ERRO = 1;
MILLIS_MENU_PRINT = millis();
}
}
else if(page==1){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315) //Voltar
{
telainicial();
page=0;
}
if (p.x > 62 & p.x < 91 & p.y > 6 & p.y < 124)
{
page=2;
telatestes();
}
if (p.x > 108 & p.x < 137 & p.y > 6 & p.y < 193)
{
page=3;
fertilizar();
}
if (p.x > 153 & p.x < 183 & p.y > 6 & p.y < 192)
{
page=4;
luminarias();
}
if (p.x > 201 & p.x < 233 & p.y > 6 & p.y < 210)
{
page=5;
alimentacao();
}
}
else if(page==2){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 63 & p.x < 90 & p.y > 6 & p.y < 140)
{
page=6;
telaamonia();
}
if (p.x > 107 & p.x < 138 & p.y > 6 & p.y < 140)
{
page=7;
telanitrito();
}
if (p.x > 153 & p.x < 181 & p.y > 6 & p.y < 140)
{
page=8;
telanitrato();
}
if (p.x > 199 & p.x < 230 & p.y > 6 & p.y < 140)
{
page=9;
telafosfato();
}
if (p.x > 63 & p.x < 90 & p.y > 175 & p.y < 294)
{
page=10;
telaferro();
}
if (p.x > 107 & p.x < 138 & p.y > 175 & p.y < 294)
{
page=11;
telagh();
}
if (p.x > 153 & p.x < 183 & p.y > 175 & p.y < 294)
{
page=12;
telakh();
}
}
else if(page==3){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 62 & p.x < 90 & p.y > 6 & p.y < 140)//EXCEL
{
page=13;
telaexcel();
}
if (p.x > 108 & p.x < 139 & p.y > 6 & p.y < 140)//FERRO
{
page=14;
ferttelaferro();
}
if (p.x > 150 & p.x < 182 & p.y > 6 & p.y < 170)//ADVANCED
{
page=15;
ferttelaadvanced();
}
if (p.x > 200 & p.x < 230 & p.y > 6 & p.y < 143)//TRACE
{
page=16;
ferttelatrace();
}
if (p.x > 62 & p.x < 94 & p.y > 152 & p.y < 312)//FLOURISH
{
page=17;
ferttelaflourish();
}
if (p.x > 106 & p.x < 138 & p.y > 173 & p.y < 295)//PRIME
{
page=18;
ferttelaprime();
}
}
else if(page==4){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
}
else if(page==6){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=2;
telatestes();
}
if (p.x > 100 & p.x < 135 & p.y > 9 & p.y < 310)
{
TESTES = 1;
MENUS = 0;
MENU_TESTA_AMONIA = 1;
}
}
else if(page==7){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=2;
telatestes();
}
if (p.x > 100 & p.x < 135 & p.y > 9 & p.y < 310)
{
TESTES = 1;
MENUS = 0;
MENU_TESTA_NITRITO = 1;
}
}
else if(page==8){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=2;
telatestes();
}
if (p.x > 100 & p.x < 135 & p.y > 9 & p.y < 310)
{
TESTES = 1;
MENUS = 0;
MENU_TESTA_NITRATO = 1;
}
}
else if(page==9){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=2;
telatestes();
}
if (p.x > 100 & p.x < 135 & p.y > 9 & p.y < 310)
{
TESTES = 1;
MENUS = 0;
MENU_TESTA_FOSFATO = 1;
}
}
else if(page==10){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=2;
telatestes();
}
if (p.x > 100 & p.x < 135 & p.y > 9 & p.y < 310)
{ TESTES = 1;
MENUS = 0;
MENU_TESTA_IRON = 1;
}
}
else if(page==11){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=2;
telatestes();
}
if (p.x > 100 & p.x < 135 & p.y > 9 & p.y < 310)
{
TESTES = 1;
MENUS = 0;
MENU_TESTA_GH = 1;
}
}
else if(page==12){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=2;
telatestes();
}
if (p.x > 100 & p.x < 135 & p.y > 9 & p.y < 310)
{
TESTES = 1;
MENUS = 0;
MENU_TESTA_KH = 1;
}
}
else if(page==13){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 103 & p.x < 136 & p.y > 4 & p.y <136)// Meia Dose
{
for (int i = 0; i <= SEGUNDOS_DOSA_EXCEL /2; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_EXCEL_VALOR_PWM);
ciWrite(DOSADORA_EXCEL_RELE_PIN, HIGH);
Serial.println(i);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_EXCEL_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
if (p.x > 105 & p.x < 136 & p.y > 155 & p.y <315)// Dose inteira
{
for (int i = 0; i <= SEGUNDOS_DOSA_EXCEL; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_EXCEL_VALOR_PWM);
ciWrite(DOSADORA_EXCEL_RELE_PIN, HIGH);
Serial.println(i);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_EXCEL_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
else if(page==14){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 103 & p.x < 136 & p.y > 4 & p.y <136)// Meia Dose
{
for (int i = 0; i <= SEGUNDOS_DOSA_IRON /2; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_IRON_VALOR_PWM);
ciWrite(DOSADORA_IRON_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_IRON_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
if (p.x > 105 & p.x < 136 & p.y > 155 & p.y <315)// Dose inteira
{
for (int i = 0; i <= SEGUNDOS_DOSA_IRON; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_IRON_VALOR_PWM);
ciWrite(DOSADORA_IRON_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_IRON_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
else if(page==15){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 103 & p.x < 136 & p.y > 4 & p.y <136)// Meia Dose
{
for (int i = 0; i <= SEGUNDOS_DOSA_ADVANCED /2; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_ADVANCED_VALOR_PWM);
ciWrite(DOSADORA_ADVANCED_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ADVANCED_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
if (p.x > 105 & p.x < 136 & p.y > 155 & p.y <315)// Dose inteira
{
for (int i = 0; i <= SEGUNDOS_DOSA_ADVANCED; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_ADVANCED_VALOR_PWM);
ciWrite(DOSADORA_ADVANCED_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_ADVANCED_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
else if(page==16){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 103 & p.x < 136 & p.y > 4 & p.y <136)// Meia Dose
{
for (int i = 0; i <= SEGUNDOS_DOSA_TRACE /2; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_TRACE_VALOR_PWM);
ciWrite(DOSADORA_TRACE_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TRACE_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
if (p.x > 105 & p.x < 136 & p.y > 155 & p.y <315)// Dose inteira
{
for (int i = 0; i <= SEGUNDOS_DOSA_TRACE; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_TRACE_VALOR_PWM);
ciWrite(DOSADORA_TRACE_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_TRACE_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
ciWrite(DOSADORA_TRACE_RELE_PIN, LOW);
}
}
else if(page==17){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 103 & p.x < 136 & p.y > 4 & p.y <136)// Meia Dose
{
for (int i = 0; i <= SEGUNDOS_DOSA_FLOURISH /2; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_FLOURISH_VALOR_PWM);
ciWrite(DOSADORA_FLOURISH_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_FLOURISH_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
if (p.x > 105 & p.x < 136 & p.y > 155 & p.y <315)// Dose inteira
{
for (int i = 0; i <= SEGUNDOS_DOSA_FLOURISH; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_FLOURISH_VALOR_PWM);
ciWrite(DOSADORA_FLOURISH_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
ciWrite(DOSADORA_FLOURISH_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
else if(page==18){
if (p.x > 217 & p.x < 234 & p.y > 239 & p.y < 315)//Voltar
{
page=1;
telamenus();
}
if (p.x > 103 & p.x < 136 & p.y > 4 & p.y <136)// Meia Dose
{
for (int i = 0; i <= SEGUNDOS_DOSA_PRIME /2; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_PRIME_VALOR_PWM);
digitalWrite(DOSADORA_PRIME_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
digitalWrite(DOSADORA_PRIME_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
if (p.x > 105 & p.x < 136 & p.y > 155 & p.y <315)// Dose inteira
{
for (int i = 0; i <= SEGUNDOS_DOSA_PRIME; i++){
ciWrite(F12V_DOSA_PIN, HIGH);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, HIGH);
ciWrite(DOSADORA_ON_PONTE_H_PIN, HIGH);
analogWrite(DOSADORA_VALOR_PWM_PIN, DOSADORA_PRIME_VALOR_PWM);
digitalWrite(DOSADORA_PRIME_RELE_PIN, HIGH);
}
analogWrite(DOSADORA_VALOR_PWM_PIN, 0);
digitalWrite(DOSADORA_PRIME_RELE_PIN, LOW);
ciWrite(FONTE_12V_DOSADORAS_RELE_PIN, LOW);
ciWrite(DOSADORA_ON_PONTE_H_PIN, LOW);
ciWrite(F12V_DOSA_PIN, LOW);
}
}
}
}
void telainicial(){
tft.fillScreen(WHITE);
tft.fillRoundRect(40,40,240,160,0,BLACK);
tft.fillRoundRect(45,44,230,150,0,BLUE);
tft.setCursor(100, 100);
tft.setTextColor(WHITE);
tft.setTextSize(5);
tft.print("MENU");
}
void telamenus(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(100,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("MENUS");
tft.fillRoundRect(5,60,123,34,0,BLACK);
tft.fillRoundRect(8,62,117,29,0,BLUE);
tft.setCursor(11,67);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTES");
tft.fillRoundRect(5,106,190,35,0,BLACK);
tft.fillRoundRect(8,108,185,30,0,BLUE);
tft.setCursor(11,113);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("FERTILIZAR");
tft.fillRoundRect(5,152,190,34,0,BLACK);
tft.fillRoundRect(8,154,185,29,0,BLUE);
tft.setCursor(11,158);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("LUMINARIAS");
tft.fillRoundRect(5,200,208,34,0,BLACK);
tft.fillRoundRect(8,202,203,29,0,BLUE);
tft.setCursor(11,206);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("ALIMENTACAO");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telatestes(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(90,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("TESTES");
tft.fillRoundRect(5,60,139,34,0,BLACK);
tft.fillRoundRect(8,62,134,29,0,BLUE);
tft.setCursor(22,67);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("AMONIA");
tft.fillRoundRect(5,106,139,35,0,BLACK);
tft.fillRoundRect(8,108,134,30,0,BLUE);
tft.setCursor(13,113);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("NITRITO");
tft.fillRoundRect(5,152,139,34,0,BLACK);
tft.fillRoundRect(8,154,134,29,0,BLUE);
tft.setCursor(13,158);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("NITRATO");
tft.fillRoundRect(5,199,139,34,0,BLACK);
tft.fillRoundRect(8,201,134,29,0,BLUE);
tft.setCursor(13,206);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("FOSFATO");
tft.fillRoundRect(175,60,123,34,0,BLACK);
tft.fillRoundRect(178,62,117,29,0,BLUE);
tft.setCursor(195,67);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("FERRO");
tft.fillRoundRect(175,106,123,34,0,BLACK);
tft.fillRoundRect(178,108,117,29,0,BLUE);
tft.setCursor(220,113);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("GH");
tft.fillRoundRect(175,152,123,34,0,BLACK);
tft.fillRoundRect(178,154,117,29,0,BLUE);
tft.setCursor(220,158);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("KH");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void fertilizar(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(45,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("FERTILIZAR");
tft.fillRoundRect(5,60,139,34,0,BLACK);
tft.fillRoundRect(8,62,134,29,0,BLUE);
tft.setCursor(32,67);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("EXCEL");
tft.fillRoundRect(5,106,139,35,0,BLACK);
tft.fillRoundRect(8,108,134,30,0,BLUE);
tft.setCursor(29,113);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("FERRO");
tft.fillRoundRect(5,152,165,34,0,BLACK);
tft.fillRoundRect(8,154,160,29,0,BLUE);
tft.setCursor(18,158);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("ADVANCED");
tft.fillRoundRect(5,199,139,34,0,BLACK);
tft.fillRoundRect(8,201,134,29,0,BLUE);
tft.setCursor(29,206);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TRACE");
tft.fillRoundRect(155,60,158,34,0,BLACK);
tft.fillRoundRect(158,62,153,29,0,BLUE);
tft.setCursor(163,67);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("FLOURISH");
tft.fillRoundRect(175,106,123,34,0,BLACK);
tft.fillRoundRect(178,108,117,29,0,BLUE);
tft.setCursor(190,113);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("PRIME");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void luminarias(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(8,7,304,35,0,BLUE);
tft.setCursor(38,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("LUMINARIAS");
tft.fillRoundRect(5,55,310,35,0,BLACK);
tft.fillRoundRect(8,57,304,30,0,BLUE);
tft.setCursor(60,61);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("LUMINARIA 1");
tft.fillRoundRect(5,95,50,35,0,BLACK);
tft.fillRoundRect(8,97,46,30,0,BLUE);
tft.setCursor(13,103);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("ON");
tft.fillRoundRect(60,95,47,35,0,BLACK);
tft.fillRoundRect(65,97,40,30,0,BLUE);
tft.setCursor(67,103);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("1h");
}
void alimentacao(){
tft.fillScreen(WHITE);
tft.fillRoundRect(50,55,220,40,0,BLACK);
tft.fillRoundRect(52,57,216,36,0,BLUE);
tft.setCursor(60,65);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("ALIMENTACAO");
}
void telaamonia(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(90,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("AMONIA");
tft.fillRoundRect(5,100,310,40,0,BLACK);
tft.fillRoundRect(9,102,304,35,0,BLUE);
tft.setCursor(30,110);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTAR AMONIA");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telanitrito(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(80,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("NITRITO");
tft.fillRoundRect(5,100,310,40,0,BLACK);
tft.fillRoundRect(9,102,304,35,0,BLUE);
tft.setCursor(30,110);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTAR NITRITO");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telanitrato(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(90,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("NITRATO");
tft.fillRoundRect(5,100,310,40,0,BLACK);
tft.fillRoundRect(9,102,304,35,0,BLUE);
tft.setCursor(30,110);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTAR NITRATO");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telafosfato(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(90,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("FOSFATO");
tft.fillRoundRect(5,100,310,40,0,BLACK);
tft.fillRoundRect(9,102,304,35,0,BLUE);
tft.setCursor(30,110);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTAR FOSFATO");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telaferro(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(105,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("FERRO");
tft.fillRoundRect(5,100,310,40,0,BLACK);
tft.fillRoundRect(9,102,304,35,0,BLUE);
tft.setCursor(45,110);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTAR FERRO");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telagh(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(125,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("GH");
tft.fillRoundRect(5,100,310,40,0,BLACK);
tft.fillRoundRect(9,102,304,35,0,BLUE);
tft.setCursor(65,110);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTAR GH");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telakh(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(125,12);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("KH");
tft.fillRoundRect(5,100,310,40,0,BLACK);
tft.fillRoundRect(9,102,304,35,0,BLUE);
tft.setCursor(65,110);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("TESTAR KH");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void telaexcel(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(32,11);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("DOSAR EXCEL");
tft.fillRoundRect(5,100,140,40,0,BLACK);
tft.fillRoundRect(9,104,130,30,0,BLUE);
tft.setCursor(20,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("MEIA DOSE");
tft.fillRoundRect(150,100,170,40,0,BLACK);
tft.fillRoundRect(156,104,160,30,0,BLUE);
tft.setCursor(159,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("DOSE COMPLETA");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void ferttelaferro(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(32,11);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("DOSAR FERRO");
tft.fillRoundRect(5,100,140,40,0,BLACK);
tft.fillRoundRect(9,104,130,30,0,BLUE);
tft.setCursor(20,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("MEIA DOSE");
tft.fillRoundRect(150,100,170,40,0,BLACK);
tft.fillRoundRect(156,104,160,30,0,BLUE);
tft.setCursor(159,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("DOSE COMPLETA");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void ferttelaadvanced(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(40,15);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("DOSAR ADVANCED");
tft.fillRoundRect(5,100,140,40,0,BLACK);
tft.fillRoundRect(9,104,130,30,0,BLUE);
tft.setCursor(20,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("MEIA DOSE");
tft.fillRoundRect(150,100,170,40,0,BLACK);
tft.fillRoundRect(156,104,160,30,0,BLUE);
tft.setCursor(159,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("DOSE COMPLETA");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void ferttelatrace(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(30,11);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("DOSAR TRACE");
tft.fillRoundRect(5,100,140,40,0,BLACK);
tft.fillRoundRect(9,104,130,30,0,BLUE);
tft.setCursor(20,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("MEIA DOSE");
tft.fillRoundRect(150,100,170,40,0,BLACK);
tft.fillRoundRect(156,104,160,30,0,BLUE);
tft.setCursor(159,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("DOSE COMPLETA");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void ferttelaflourish(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(35,15);
tft.setTextColor(WHITE);
tft.setTextSize(3);
tft.print("DOSAR FLOURISH");
tft.fillRoundRect(5,100,140,40,0,BLACK);
tft.fillRoundRect(9,104,130,30,0,BLUE);
tft.setCursor(20,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("MEIA DOSE");
tft.fillRoundRect(150,100,170,40,0,BLACK);
tft.fillRoundRect(156,104,160,30,0,BLUE);
tft.setCursor(159,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("DOSE COMPLETA");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void ferttelaprime(){
tft.fillScreen(WHITE);
tft.fillRoundRect(5,5,310,40,0,BLACK);
tft.fillRoundRect(9,7,304,35,0,BLUE);
tft.setCursor(30,11);
tft.setTextColor(WHITE);
tft.setTextSize(4);
tft.print("DOSAR PRIME");
tft.fillRoundRect(5,100,140,40,0,BLACK);
tft.fillRoundRect(9,104,130,30,0,BLUE);
tft.setCursor(20,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("MEIA DOSE");
tft.fillRoundRect(150,100,170,40,0,BLACK);
tft.fillRoundRect(156,104,160,30,0,BLUE);
tft.setCursor(159,112);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("DOSE COMPLETA");
tft.fillRoundRect(237,216,81,22,0,BLACK);
tft.fillRoundRect(240,218,76,17,0,BLUE);
tft.setCursor(243,220);
tft.setTextColor(WHITE);
tft.setTextSize(2);
tft.print("VOLTAR");
}
void ciWrite(byte pino, bool estado) {
static byte ciBuffer[qtdeCI];
bitWrite(ciBuffer[pino / 8], pino % 8, estado);
digitalWrite(pinST_CP, LOW); //Inicia a Transmissão
digitalWrite(pinDS, LOW); //Apaga Tudo para Preparar Transmissão
digitalWrite(pinSH_CP, LOW);
for (int nC = qtdeCI-1; nC >= 0; nC--) {
for (int nB = 7; nB >= 0; nB--) {
digitalWrite(pinSH_CP, LOW); //Baixa o Clock
digitalWrite(pinDS, bitRead(ciBuffer[nC], nB) ); //Escreve o BIT
digitalWrite(pinSH_CP, HIGH); //Eleva o Clock
digitalWrite(pinDS, LOW); //Baixa o Data para Previnir Vazamento
}
}
digitalWrite(pinST_CP, HIGH); //Finaliza a Transmissão
}Loading
ili9341-cap-touch
ili9341-cap-touch