Arduino - pH传感器
生活随笔
收集整理的這篇文章主要介紹了
Arduino - pH传感器
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
參考地址:
模擬PH計(jì) (Arduino兼容) 第一款A(yù)rduino兼容的pH傳感器
?
?
代碼:PH傳感器接模擬信號(hào)引腳
int pumpin = 13; #define sensorpin A2 void setup() {// put your setup code here, to run once:Serial.begin(9600);pinMode(13,OUTPUT);}void loop() {// put your main code here, to run repeatedly:float var = analogRead(sensorpin);float newdata = map(var,0,1023,0,14);Serial.println(newdata);Serial.println(var);delay(2000);}原實(shí)例代碼:
/*# 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 A2 //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; void setup(void) {pinMode(LED,OUTPUT); Serial.begin(9600); Serial.println("pH meter experiment!"); //Test the serial monitor } void loop(void) {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 statisticsfor(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<minmin=arr[i];}else {if(arr[i]>max){amount+=max; //arr>maxmax=arr[i];}else{amount+=arr[i]; //min<=arr<=max}}//if}//foravg = (double)amount/(number-2);}//ifreturn avg; }?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Arduino - pH传感器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FLYMCU之串口下载到stm32单片机
- 下一篇: maven常见面试题