Arduino & DFROBOT pH-meter

Το παρακάτω pH meter της DFROBOT (λεπτομέρειες στο https://www.dfrobot.com/product-1025.html), σχήμα 1, συνδέεται με το Arduino UNO με βάση την συνδεσμολογία που παρουσιάζεται στο σχήμα 2.

Σχήμα 1.

Σχήμα 2.

 

·        Το κόκκινο καλώδιο συνδέεται με τον ακροδέκτη της τάσης των 5 V

·        Το μαύρο συνδέεται με τη γείωση GND

·        Το μπλε με τον  αναλογικό ακροδέκτη εισόδου Α0 του Arduino, ο οποίος λαμβάνει την πρωτογενή μέτρηση.

 

Κώδικας

 

/*

# This sample codes is for testing the pH meter V1.0.

 # Editor : YouYou

 # Date   : 2013.10.12

 # Ver    : 0.1

 # Product: pH meter

 # SKU    : SEN0161

*/

 

#define SensorPin 0          //pH meter Analog output to Arduino Analog Input 0

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);

 

}