#include <SoftwareSerial.h>
SoftwareSerial serial(10,11);
#include<DFRobotHighTemperatureSensor.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 16, 2);
const float voltageRef = 4.0; //2.785;
DFRobotHighTemperature PT100 = DFRobotHighTemperature(voltageRef); //Define an PT100 object
float temperature[10];
int rata_temperature;
#define pinSuhu A0
#define pinTur A1
#define pinPh A2
#define pinTds A3
float teg[10];
byte tur;
float rata_rata;
float total;
float teg1[10];
float konduktifitas;
int tds;
float rata_rata_teg;
float total_tds;
float voltage;
byte pHValue;
int adcPH;
void setup() {
// put your setup code here, to run once:
lcd.begin();
lcd.backlight();
Serial.begin(38400);
serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
turbidity();
baca_suhu();
baca_tds();
ph();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("T");
lcd.print(rata_temperature);
lcd.print((char)223);
lcd.setCursor(5,0);
lcd.print("P");
lcd.print(pHValue);
lcd.setCursor(9,0);
lcd.print("Cn");
lcd.print(konduktifitas);
lcd.setCursor(1,1);
lcd.print("Tr");
lcd.print(tur);
lcd.setCursor(8,1);
lcd.print("Td");
lcd.print(tds);
Serial.println("Temp pH Cond Turb TDS ");
Serial.print(rata_temperature);Serial.print(" ");Serial.print(pHValue);Serial.print(" ");Serial.print(konduktifitas);Serial.print(" ");Serial.print(tur);Serial.print(" ");Serial.println(tds);
serial.println("Temp pH Cond Turb TDS ");
serial.print(rata_temperature);serial.print(" ");serial.print(pHValue);serial.print(" ");serial.print(konduktifitas);serial.print(" ");serial.print(tur);serial.print(" ");serial.println(tds);
delay(500);
}
void turbidity (){
for ( int i=0; i<10; i++){
int val = analogRead(pinTur);
teg[i] = val * (5.0/1023);
}
rata_rata = (teg[0] + teg[1] + teg[2] + teg[3] + teg[4] + teg[5] + teg[6] + teg[7] + teg[8] + teg[9])/10 ;
tur = (-1340.4762 * rata_rata) + 3495.1071;
}
void baca_tds(){
for ( int i=0; i<10; i++){
int val = analogRead(pinTds);
teg[i] = val * (5.0/1023);
}
rata_rata_teg = (teg[0] + teg[1] + teg[2] + teg[3] + teg[4] + teg[5] + teg[6] + teg[7] + teg[8] + teg[9])/10 ;
delay(1000);
lcd.clear();
tds = (211.2254 * rata_rata_teg) - 144.1466;
konduktifitas = (0.3442 * rata_rata_teg) - 0.253;
}
void ph(){
adcPH = analogRead(pinPh);
voltage = adcPH *5.0/1022;
pHValue = (6.4516*voltage)-5.7742;
}
void baca_suhu(){
for (int i=0; i<10; i++){
temperature[i] = PT100.readTemperature(pinSuhu);
}
rata_temperature = (temperature[0]+temperature[1]+temperature[2]+temperature[3]+temperature[4]+temperature[5]+temperature[6]+temperature[7]+temperature[8]+temperature[9])/10;
}