//Sensor Test//
//*Sensor PH Air (5.5 6-7 7.5)(MSP340) Range Sensor 0-14 pH(potensial Hydrogen) Led Merah
//*Sensor TDS (Kadar Garam) ukuran Normal 150-180 (0-1000 NTU) Led Hijau
//*Sensor Suhu Air 27-29 drajat Celcius (DS18B20) Led Biru
//*Kekeruhan 2.5-5 ntu (rentang 0-100) (Turbidity Sensor SEN0189) Led Kuning
//*buzzer read 10 detik
//*salinitas 20-28ppt??
/////////////////////////////////////////////////////////////////////////////
//Library
//#include <LiquidCrystal_I2C.h>
//LCD
#include <WiFi.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 19, 3); //19kolom_3baris/row(semua tampilan dari 0)
byte Check[8] = {
0b00000,
0b00001,
0b00011,
0b10110,
0b11100,
0b01000,
0b00000,
0b00000
};
byte Degree[8] = {
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
byte Warning[8] = {
B00100,
B01110,
B01110,
B01110,
B11111,
B00100,
B00000,
B00000,
};
//Parameter Sensor PH
int ph = 36;
int nilaiPH;
//Parameter Sensor Kadar Garam (TDS)
int TDS = 39;
int nilaiTDS;
//Parameter Sensor Kekeruhan (Turbidity)
int TBD = 34;
int nilaiTBD;
//Parameter Sensor Suhu
int suhu = 35;
int nilaisuhu;
void setup() {
LCD.init();
LCD.backlight();
LCD.createChar(0, Check);
LCD.createChar(1, Degree);
LCD.createChar(3, Warning);
LCD.clear();
Serial.begin(115200);
pinMode(ph,INPUT);
pinMode(TDS,INPUT);
pinMode(TBD,INPUT);
pinMode(suhu,INPUT);
LCD.setCursor(0, 0);
LCD.print("Sensor_PH=1-14PH");
LCD.setCursor(0, 1);
LCD.print("Sensor_TDS=1-1000NTU");
LCD.setCursor(0, 2);
LCD.print("Sensor_TBD=1-100%");
LCD.setCursor(0, 3);
LCD.print("Sensor_Suhu=1-50");//°c
LCD.setCursor(17,3);
LCD.print("C");//°c
}
void loop() {
LCD.setCursor(19,0);
LCD.write(0);
LCD.setCursor(16,3);
LCD.write(1);
LCD.setCursor(17,3);
LCD.write(3);
nilaiPH = analogRead(ph);
Serial.println("Ph : " + String(nilaiPH));
Serial.println("Map : " + String(map(nilaiPH,0,1023,0,100)));
Serial.println("Peta : " + String(peta(nilaiPH,0,1023,0,100)));
Serial.println("Ph : " + String(nilaiPH/292.5)); //
Serial.println("");
delay(2000);
nilaiTDS = analogRead(TDS);
Serial.println("TDS : " + String(nilaiTDS));
delay(2000);
nilaiTBD = analogRead(TBD);
Serial.println("Kekeruhan : " + String(nilaiTBD));
delay(2000);
nilaisuhu = analogRead(suhu);
Serial.println("Suhu : " + String(nilaisuhu));
delay(2000);
}
// Formula Ketelitian dalam fungsi peta
float peta(float val, float min1, float max1, float min2, float max2){
float y;
y = (((max2-min2)/(max1-min1))*(val-min1)) + min2;
return y;
}