agaclar.net

agaclar.net (http://www.agaclar.net/forum/)
-   Topraksız Tarım (http://www.agaclar.net/forum/topraksiz-tarim/)
-   -   Ardunio ile Ec Metre ve Sıcaklık Ölçer Yapımı (http://www.agaclar.net/forum/topraksiz-tarim/40879.htm)

kahvelekesi 10-04-2017 23:42

Ardunio ile Ec Metre ve Sıcaklık Ölçer Yapımı
 
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ı?


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/...-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

3 Eklenti(ler)
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

Alıntı:

Orijinal Mesaj Sahibi elmahdi (Mesaj 1503792)
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


KOD
Alıntı:



#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");
}

;
Bu şekilde yapabilirim

kahvelekesi 26-04-2017 20:50

1 Eklenti(ler)
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

Farklı LCD uyumu
 
1 Eklenti(ler)
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.



Alıntı:

Orijinal Mesaj Sahibi kahvelekesi (Mesaj 1504816)
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?


Forum saati Türkiye saatine göredir. GMT +2. Şu an saat: 01:07.
(Türkiye için GMT +2 seçilmelidir.)

Forum vBulletin Version 3.8.5 Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0
agaclar.net © 2004 - 2024