Bağlan

View Full Version : Ardunio ile Ec Metre ve Sıcaklık Ölçer Yapımı




kahvelekesi
10-04-2017, 23:42
Ardunio ile yaptığım bu ec ölçer basit ucuz ve sonuçlar güzel.Kalibrasyonu doğrumu yapmışım bilmiyorum ama şimdi bitirdim ve hemen paylaştım yorumlarınızı bekliyorum.İş yapar mı?

https://www.youtube.com/watch?v=JY5Z4RoZjKc




latif.07
10-04-2017, 23:50
Baya iyi olmuş çok kısa sürede tepki veriyor ama nasıl yaptığınızı, devre elemanlarını, pcb sini yazılımını da burada paylaşsaydınız belki bizde faydalanırdık şuan videoya bakara sadece calıştığını görebiliyoruz

kahvelekesi
11-04-2017, 00:20
https://www.element14.com/community/community/design-challenges/vertical-farming/blog/2015/09/03/automated-green-house-blog9--three-dollar-ec-ppm-meter-for-mcu

Kaynak burası yarın zamanım olursa detaylı video cekeceğim.

megbilgi
11-04-2017, 13:36
Merhaba

Güzel çalışma ancak EC ve SICAKLIK probları olarak ne kullanıldığını tam anlayamadım.
Hazır bir prob mu yoksa sizin tasarladığınız birşey mi ?

Kolay gelsin

kahvelekesi
11-04-2017, 19:47
Sıcaklık Arttıkça Elektriksel İletkenlik Azalıyor normal mi bu?

kahvelekesi
11-04-2017, 22:07
Arduino ec metre ihlastan aldığımız su arıtıcısının suyu 0.04 ölçtü.Direk bitkiye dökersem bitki sabahına sararıyordu.Acaba bu suya besin eriyiği koysam yine bitkilere zarar verirmi acaba?

kahvelekesi
11-04-2017, 22:23
Sayın Megbilgi yukarıdaki linkte var aslında ama tekrar sizin için resimleri ile birlikte paylaşıyorum.Sanırım linkte 4.7 k direnç yok ve sıcaklık ölçemezsiniz eklemeniz lazım.
DS18B20 Digital Su geçirmez ısı sensörü isminin uzun olduğuma bakma 10 tl civarı ve 4.7k direnç
Eski teyplerde olurdu.8 şekilli soket yuvası ve 1k direnç

MaynaVira
17-04-2017, 17:53
Merhabalar,
Öncelikle çalışmanızda başarılar diliyorum.

Ben de elimdeki (arduino, dirençler, multimetreye ait sıcaklık probe'ları vs.) malzemelerle benzer bir proje yapmayı düşünüyordum.
Başlığı gördüğüm iyi oldu. Üşenmez de bir gün işe koyulursam, ara sıra kopya çekerim belki. :p

Gelişmeleri paylaşmaya devam etmeniz dileğiyle...

bolivar
19-04-2017, 12:25
merhaba,

sizin kaynak aldığınız siteden esinlenerek bende aynısını yaptım. kalibrasyon önemli.
Ardionu uyumlu ph sensörü arıyorum. bildiğiniz uygun fiyatlı sensör var mı ?
5 volt çalışan yarım metreye su basabilen ufak motorlar buldum. bu motorlarla işleri yapmaya çalışacağım.

elmahdi
19-04-2017, 22:13
Selamlar, söz konusu linkteki ec metreyi bende yaptım, ancak kalibrasyon sorunu yaşıyorum sanırım. Elimde kalibrasyonu kesin bildiğim sıvı yok. 3-4 farklı marka su aldım. Üzerlerindeki ec değerlerine göre kalibre etmeye çalıştım ama olmadı. **** suların üzerindeki değerler yanlış. nerede yanlış yapmış olabilirim acaba.

bolivar
25-04-2017, 16:18
Selamlar, söz konusu linkteki ec metreyi bende yaptım, ancak kalibrasyon sorunu yaşıyorum sanırım. Elimde kalibrasyonu kesin bildiğim sıvı yok. 3-4 farklı marka su aldım. Üzerlerindeki ec değerlerine göre kalibre etmeye çalıştım ama olmadı. **** suların üzerindeki değerler yanlış. nerede yanlış yapmış olabilirim acaba.

dediğiniz gibi kalibrasyon problem olabilir.
benim elimde daha önce kullandığım bir ec metre vardı, ben onu doğru kabul edip kalibrasyonu yaptım. bence sizde bir yerden ec metre bulmaya çalışın. suların üzerindeki değerlerin doğru olacağını düşünmüyorum.

komple sistemi kurmama çok az kaldı. yakında fotoları paylaşacağım.

kahvelekesi
26-04-2017, 19:57
https://www.youtube.com/watch?v=R6V31rTlU4M

KOD



#include <OneWire.h>
#include <DallasTemperature.h>

#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
//#include <LCD5110_Basic.h>
//LCD5110 myGLCD(7,6,5,3,4);
//extern uint8_t SmallFont[];
//extern uint8_t MediumNumbers[];
//extern uint8_t BigNumbers[];

int role=11;
int R1= 1000;
int Ra=25; //Resistance of powering Pins
int ECPin= A0;
int ECGround=A1;
int ECPower =A4;

float PPMconversion=0.5;
float TemperatureCoef = 0.019;
float K=2.40 ;

#define ONE_WIRE_BUS 10 // Data wire For Temp Probe is plugged into pin 10 on the Arduino
const int TempProbePossitive =8; //Temp Probe power connected to pin 9
const int TempProbeNegative=9; //Temp Probe Negative connected to pin 8

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);// Pass our oneWire reference to Dallas Temperature.


float Temperature=10;
float EC=0;
float EC25 =0;
int ppm =0;


float raw= 0;
float Vin= 5;
float Vdrop= 0;
float Rc= 0;
float buffer=0;

void setup()
{

//myGLCD.InitLCD();
//myGLCD.setContrast(60);


pinMode(role, OUTPUT);
pinMode(TempProbeNegative , OUTPUT ); //seting ground pin as output for tmp probe
digitalWrite(TempProbeNegative , LOW );//Seting it to ground so it can sink current
pinMode(TempProbePossitive , OUTPUT );//ditto but for positive
digitalWrite(TempProbePossitive , HIGH );
pinMode(ECPin,INPUT);
pinMode(ECPower,OUTPUT);//Setting pin for sourcing current
pinMode(ECGround,OUTPUT);//setting pin for sinking current
digitalWrite(ECGround,LOW);//We can leave the ground connected permanantly

delay(100);// gives sensor time to settle
sensors.begin();
delay(100);
R1=(R1+Ra);// Taking into acount Powering Pin Resitance

};

void loop()
{
GetEC();
GetRole();
PrintReadings(); // Cals Print routine [below main loop]
delay(60000);

}

void GetEC(){
sensors.requestTemperatures();// Send the command to get temperatures
Temperature=sensors.getTempCByIndex(0); //Stores Value in Variable
digitalWrite(ECPower,HIGH);
raw= analogRead(ECPin);
raw= analogRead(ECPin);// This is not a mistake, First reading will be low beause if charged a capacitor
digitalWrite(ECPower,LOW);

Vdrop= (Vin*raw)/1024.0;
Rc=(Vdrop*R1)/(Vin-Vdrop);
Rc=Rc-Ra; //acounting for Digital Pin Resitance
EC = 1000/(Rc*K);

EC25 = EC/ (1+ TemperatureCoef*(Temperature-25.0));
ppm=(EC25)*(PPMconversion*1000);


}

void GetRole(){
if( EC25 < 0.20 )
{

digitalWrite(role, HIGH);
delay(3000);
digitalWrite(role, LOW);


}
}

void PrintReadings(){
Serial.begin(9600);
display.begin();
display.setContrast(60);
display.clearDisplay(); // clears the screen and buffer
display.setTextSize(2);
display.setTextColor(BLACK);
display.setCursor(0,0);
display.println(EC25);
display.setCursor(55,0);
display.print("EC");
display.setCursor(0,15);
display.println(ppm);
display.setCursor(45,15);
display.print("PPM");
display.setCursor(0,30);
display.println(Temperature);
display.setCursor(65,30);
display.print("C");
display.display();
//myGLCD.clrScr();
// myGLCD.setFont(MediumNumbers);
// myGLCD.printNumI(EC25,0,0);
//myGLCD.setFont(SmallFont);
//myGLCD.print("Simens",45,10);

// myGLCD.setFont(MediumNumbers);
//myGLCD.printNumI(ppm,0,20);
// myGLCD.setFont(SmallFont);
//myGLCD.print("Ppm",45,25);


//myGLCD.setFont(MediumNumbers);
// myGLCD.printNumI(Temperature,0,35);
// myGLCD.setFont(SmallFont);
//myGLCD.print("C",45,40);


//Serial.print(Rc);
//Serial.print(" EC: ");
Serial.print(EC25);
//Serial.print(" Simens ");
Serial.print(ppm);
//Serial.print(" ppm ");
Serial.print(Temperature);
// Serial.println(" *C ");
//Serial.print("Vdrop: ");
//Serial.println(Vdrop);
//Serial.print("Rc: ");
//Serial.println(Rc);
//Serial.print(EC);
//Serial.println("Siemens");
}

;


https://www.youtube.com/watch?v=wGjYwIdpRMw&index=5&t=123s&list=WL
Bu şekilde yapabilirim

kahvelekesi
26-04-2017, 20:50
resimdeki gibi ön yüzü sağ taraftan başladım yazmaya


1. soket - ismi vdd - arduino da 3.3v
2. soket - ismi sclk - arduino da 7
3. soket - ismi sdin - arduino da 6
4. soket - ismi dc - arduino da 5
5. soket - ismi sce - arduino da 4
6. soket - ismi gnd - arduino da gnd
7. soket - ismi vout - arduino da gnd ye 1 ile 10 uf arası farketmez kondanstor ile birlikte
8. soket - ismi re - arduino da 3

Taskin74
15-05-2017, 17:59
merakla takip ediyoruz ınsallah devamı gelir ve basarılı olur ..

bomsas
02-06-2017, 08:01
Sayın Kahvelekesi,
Aşağıdaki LCD yi adapte edebilir miyim. kodlarda nasıl bir değişiklik yapmam gerekir. Yardımcı olabilir misiniz. bir de dozlama ile ilgili bir gelişme oldu mu acaba? Varsa ve paylaşabilirseniz çok memnun olurum.

Teşekkürler.



resimdeki gibi ön yüzü sağ taraftan başladım yazmaya


1. soket - ismi vdd - arduino da 3.3v
2. soket - ismi sclk - arduino da 7
3. soket - ismi sdin - arduino da 6
4. soket - ismi dc - arduino da 5
5. soket - ismi sce - arduino da 4
6. soket - ismi gnd - arduino da gnd
7. soket - ismi vout - arduino da gnd ye 1 ile 10 uf arası farketmez kondanstor ile birlikte
8. soket - ismi re - arduino da 3

kahvelekesi
04-06-2017, 15:43
Deneyerek anlayabilirsin bir fikrim yok

fevziergin
14-06-2017, 00:31
kod hatalı ec uyuşmuyor

kahvelekesi
14-07-2017, 11:06
https://i.hizliresim.com/Q72EVZ.png

https://i.hizliresim.com/Q72EVZ.png

burakesk
08-08-2017, 14:03
elimde TES 3010 digital clamb meter var. normal dirençleri ölçebiliyorum fakat suyun direncini ölçemiyorum hep sonsuz gösteriyor. dijital ohm metre ile suyun direncini ölçmenin bir yolu varmı acaba?

megbilgi
08-08-2017, 17:57
Ölçersinizde ohmmeterin gücü suyun direncini ölçmeye yetmez.
Meger kullanmanız lazım.
.

shpejt34
28-12-2018, 12:47
Merhaba, emeğinize sağlık. bu sistemi ne kadara mal ettiniz?