#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
float calibration_value = 21.34;
int phval = 0;
unsigned long int avgval;
int buffer_arr[10],temp;
byte LEITOYRGIA=1;
void setup() {
LCD_DAT(); //--Συνάρτηση Χρήστη--
}
void loop() {
Read_A0(); //--Συνάρτηση Χρήστη--
if (LEITOYRGIA==0){
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/1024/6;
float ph_act = -5.70 * volt + calibration_value;
lcd.setCursor(0, 0);
lcd.print("pH Val:");
lcd.setCursor(8, 0);
lcd.print(ph_act);
delay(1000);
}
if (LEITOYRGIA==1) {
//Serial.print("NO FORMAT");
key_board();
//LCD_DAT();
}
}
//---------Συναρτήσεις-----------
//-----LCD_DAT()=Αρχικό μήνυμα------
void LCD_DAT(){
int delay_dat=4000;
Serial.begin(9600);
lcd.init();
lcd.begin(20, 2);
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(" Welcome Ph ");
lcd.setCursor(0, 3);
lcd.print("meter-Controller");
delay(delay_dat);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" Model PhCn-100");
lcd.setCursor(0, 1);
lcd.print("Range=0-14");
delay(delay_dat);
lcd.clear();
}
//---------
int Read_A0(){
for(int i=0;i<10;i++)
{
buffer_arr[i]=analogRead(A0);
delay(30);
}
}
int key_board(){
// pinMode(A0, INPUT);
int sensorValue = analogRead(A0);
//Serial.begin(9600);
Serial.println("sensorValue");
//Serial.print("NO FORMAT---");
}