Commit 12aaaca7 authored by GATEAU Thibault's avatar GATEAU Thibault
Browse files

[admin] git migration 5

parent 2015b555
/*
# This sample code is used to test the pH meter V1.0.
# Editor : YouYou
# Ver : 1.0
# Product: analog pH meter
# SKU : SEN0161
*/
#define SensorPin A0 //pH meter Analog output to Arduino Analog Input 0
#define Offset 0.00 //deviation compensate
#define LED 13
#define samplingInterval 20
#define printInterval 800
#define ArrayLenth 40 //times of collection
int pHArray[ArrayLenth]; //Store the average value of the sensor feedback
int pHArrayIndex=0;
int volRead;
float actualVol;
float ph;
float offset = 0.35;
void setup(void)
{
pinMode(LED,OUTPUT);
Serial.begin(9600);
Serial.println("pH meter experiment!"); //Test the serial monitor
}
void loop(void)
{
volRead = analogRead(SensorPin);
actualVol = (volRead*0.0048828125); //*5/1024
ph = actualVol*2.8;
ph = ph + offset;
Serial.print(actualVol,3);
Serial.print(" pH ");
Serial.println(ph,3);
}
// static unsigned long samplingTime = millis();
// static unsigned long printTime = millis();
// static float pHValue,voltage;
// if(millis()-samplingTime > samplingInterval)
// {
// pHArray[pHArrayIndex++]=analogRead(SensorPin);
// if(pHArrayIndex==ArrayLenth)pHArrayIndex=0;
// voltage = avergearray(pHArray, ArrayLenth)*5.0/1024;
// pHValue = 3.5*voltage+Offset;
// samplingTime=millis();
// }
// if(millis() - printTime > printInterval) //Every 800 milliseconds, print a numerical, convert the state of the LED indicator
// {
// Serial.print("Voltage:");
// Serial.print(voltage,2);
// Serial.print(" pH value: ");
// Serial.println(pHValue,2);
// digitalWrite(LED,digitalRead(LED)^1);
// printTime=millis();
// }
//}
//double avergearray(int* arr, int number){
// int i;
// int max,min;
// double avg;
// long amount=0;
// if(number<=0){
// Serial.println("Error number for the array to avraging!/n");
// return 0;
// }
// if(number<5){ //less than 5, calculated directly statistics
// for(i=0;i<number;i++){
// amount+=arr[i];
// }
// avg = amount/number;
// return avg;
// }else{
// if(arr[0]<arr[1]){
// min = arr[0];max=arr[1];
// }
// else{
// min=arr[1];max=arr[0];
// }
// for(i=2;i<number;i++){
// if(arr[i]<min){
// amount+=min; //arr<min
// min=arr[i];
// }else {
// if(arr[i]>max){
// amount+=max; //arr>max
// max=arr[i];
// }else{
// amount+=arr[i]; //min<=arr<=max
// }
// }//if
// }//for
// avg = (double)amount/(number-2);
// }//if
// return avg;
//}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment