#define BLYNK_TEMPLATE_ID "TMPL6LaC83MXy"
#define BLYNK_TEMPLATE_NAME "Quickstart template"
#define BLYNK_AUTH_TOKEN "BtsLxyojV9hIOR4_e58in8XgitI3XjCx"
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
float calibration_value = 21.34;
int phval = 0;
unsigned long int avgval;
int buffer_arr[10],temp;
char auth[] = BLYNK_AUTH_TOKEN ;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup()
{
Serial.begin(9600);
lcd.init();
lcd.begin(16, 2);
lcd.backlight();
lcd.setCursor(0, 0);
Blynk.begin(auth, ssid, pass);
}
void loop() {
int analogValue = analogRead(32);
for(int i=0;i<10;i++)
{
buffer_arr[i]=analogRead(32);
delay(30);
}
for(int i=0;i<9;i++)
{
for(int j=i+1;j<10;j++)
{
if(buffer_arr[i]>buffer_arr[j])
{
temp=buffer_arr[i];
buffer_arr[i]=buffer_arr[j];
buffer_arr[j]=temp;
}
}
}
avgval=0;
for(int i=2;i<8;i++)
avgval+=buffer_arr[i];
float volt=(float)avgval*5.0/4095/6;
float ph_act = -5.70 * volt + calibration_value;
lcd.setCursor(0, 0);
lcd.print(" PH =");
lcd.setCursor(9, 0);
lcd.print(ph_act);
delay(1000);
Blynk.run();
Blynk.virtualWrite(V2,ph_act);
}