Arduino TDS ölçer nasıl yapılır?

Mçınar

Kilopat
Katılım
5 Ağustos 2019
Mesajlar
461
Merhaba arkadaşlar. Tds ölçer yapmak istiyorum. Şu an elimde sıcaklık ölçer yok ama olmadan da yapılacağını gördüm. Uğraşıyorum o yüzden. Sıcaklık değerini sabit tutup suyun iletkenliğine göre ölçüm bulmaya çalışıyorum.
Yardımlarınızı bekliyorum... Burada istediğim suyun iletkenliğine göre voltajın yükselmesi. Bunu nasıl yapabiliriz?

[CODE title="tds"]//Water Conductivity Monitor
//Sketch for an Arduino gadget that measures the electrical
//conductivity of water.
//
const float ArduinoVoltage = 5.00; // CHANGE THIS FOR 3.3v Arduinos
const float ArduinoResolution = ArduinoVoltage / 1024;
const float resistorValue = 10000.0;
int threshold = 3;
int inputPin = A0;
int ouputPin = D2;
float temp;
int tempPin=A0; //A2
void setup()
{
Serial.begin(9600);
pinMode(ouputPin, OUTPUT);
pinMode(inputPin, INPUT);
pinMode(tempPin,INPUT);
}
void loop()
{
int analogValue=0;
int oldAnalogValue=1000;
float returnVoltage=0.0;
float resistance=0.0;
double Siemens;
float TDS=0.0;
temp=analogRead(inputPin);
//temp=temp 0.48828125;
temp=0.48828125;
Serial.print("Temperature:");
Serial.print(temp);
Serial.print("'C");
Serial.println();
delay(500);
while(((oldAnalogValue-analogValue)>threshold) || (oldAnalogValue<50))
{
oldAnalogValue = analogValue;
digitalWrite( ouputPin, HIGH );
delay(10); // allow ringing to stop
analogValue = analogRead( inputPin );
digitalWrite( ouputPin, LOW );
}
Serial.print("Return voltage = ");
returnVoltage = analogValue *ArduinoResolution;
Serial.print(returnVoltage);

Serial.println(" volts");
Serial.print("That works out to a resistance of ");
resistance = ((5.00 * resistorValue) / returnVoltage) - resistorValue;
Serial.print(resistance);
Serial.println(" Ohms.");
Serial.print("Which works out to a conductivity of ");
Siemens = 1.0/(resistance/1000000);
if(150<=Siemens & Siemens<=800)
Siemens=Siemens+120;
else if(801<=Siemens | Siemens>=1900)
Siemens=Siemens+300;
Serial.print(Siemens);
Serial.println(" microSiemens.");
Serial.print("Total Dissolved Solids are on the order of ");
TDS = 500 * (Siemens/1000);
Serial.print(TDS);
Serial.println(" PPM.");
if (returnVoltage>4.9) Serial.println("Are you sure this isn’t metal?");
delay(2000);
Serial.println("");
}

//and above t[/CODE]
 
Ekran Alısssssntısı.PNG


Şu anda aldığım çıktı değerleri budur, su değişimi yaptığımda voltajda artış çok olmuyor.(1.su çeşme suyu iken diğeri artılmış suyudur.)
Hocam bilmiyorum ancak stackoverflow.com sitesinde bir araştırın belki vardır. Yoksa oraya da İngilizce olarak konu açmanızı tavsiye ederim.


Bu linkteki gibi şöyle bir şey buldum kolay gibi duruyor ama sence işe yarar mı şu anda 9V pil yok onu alıp deneyeceğim. Önerilerinizi bekliyorum,




(______konu güncelllll ______)
 
Son düzenleme:
Eki Görüntüle 1347620

Şu anda aldığım çıktı değerleri budur, su değişimi yaptığımda voltajda artış çok olmuyor.(1.su çeşme suyu iken diğeri artılmış suyudur.)



Bu linkteki gibi şöyle bir şey buldum kolay gibi duruyor ama sence işe yarar mı şu anda 9V pil yok onu alıp deneyeceğim. Önerilerinizi bekliyorum,




(______konu güncelllll ______)
Denemekten zararınız yoksa deneyin hocam :)
 

Technopat Haberler

Geri
Yukarı