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]
 
Hocam bilmiyorum ancak stackoverflow.com sitesinde bir araştırın belki vardır. Yoksa oraya da ingilizce olarak konu açmanızı tavsiye ederim.
 


Ş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:
Denemekten zararınız yoksa deneyin hocam
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…