This circuit integrates an Arduino UNO microcontroller with a PH Meter sensor. The Arduino UNO is responsible for reading the analog signal from the PH Meter and calculating the pH value of the solution being measured. The calculated pH value is then output to the serial monitor for observation. The circuit is powered by the 5V supply from the Arduino UNO, which is also used to power the PH Meter.
#define SensorPin A1 // the pH meter Analog output is connected with the Arduino’s Analog
unsigned long int avgValue; //Store the average value of the sensor feedback
float b;
int buf[10],temp;
void setup()
{
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial.println("Ready"); //Test the serial monitor
}
void loop()
{
for(int i=0;i<10;i++) //Get 10 sample value from the sensor for smooth the value
{
buf[i]=analogRead(SensorPin);
delay(10);
}
for(int i=0;i<9;i++) //sort the analog from small to large
{
for(int j=i+1;j<10;j++)
{
if(buf[i]>buf[j])
{
temp=buf[i];
buf[i]=buf[j];
buf[j]=temp;
}
}
}
avgValue=0;
for(int i=2;i<8;i++) //take the average value of 6 center sample
avgValue+=buf[i];
float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt
phValue=3.5*phValue; //convert the millivolt into pH value
Serial.print(" pH:");
Serial.print(phValue,2);
Serial.println(" ");
digitalWrite(13, HIGH);
delay(800);
digitalWrite(13, LOW);
}
Filename: sketch.ino
Description: This code is written for the Arduino UNO to read the analog signal from the PH Meter sensor. It takes 10 samples of the sensor output, sorts them, and then averages the middle six values to get a stable reading. This average is then converted into a pH value using a calibration factor and is printed to the serial monitor. Additionally, the onboard LED connected to pin 13 is blinked with each reading cycle.