agaclar.net

Geri Dön   agaclar.net > Üretim, Bakım, Düzenleme, Temel Malzemeler > Topraksız Tarım
(https)




Reklam


Beğeni Düzeni70Beğeniler

Cevapla
 
Bookmark and Share Dış Bağlantılar Konu Araçları Mod Seç
Eski 03-06-2012, 15:24   #1
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Topraksız Tarım Kontrol Sistemleri

Topraksiz tarim toprakli tarima nazaran daha cok kontrol ve incelik istemektedir.Topraksiz tarimda kontrolun avantaji zaman ve kalite acisindan onemli rol oynar.

Topraksiz tarim ticari veya profesyonel yapilacaksa,Serada hava(CO2,O2) orani,nem,isi,isik,bitki icin sudaki besin orani,su asitligi,koklerdeki bakteriyel fonksiyonlarin kontrolu,nft'de suya karismis veya koklerdeki gereksiz gazlarin atilmasi ornegin (alkol),bocek,fungi,kimyasal,gibi kontrol mekanizmalari yetistirmede kaliteyi yukseltmekte zamani en alt seviyeye indirmektedir.

Bu sistemler topraksiz tarimin omurgasini olusturmaktadir.Hobi olarak basladigimda isin ilk olarak kontrolunden basladim.Evimde kullandigim kapali sera icin kurdugum eski sistemin ekran ve tuslar bolumune gelistirme ve yeni eklemeler yapmaktayim.

Video

Sera Kontrol Sistemleri/Gelistirme - YouTube


Eski sistemin programlaridan Ec/co2/ph kontrol Arduino bazli

Alıntı:
#include <LiquidCrystal.h>

#include <stdlib.h> // for itoa() call
#include <EEPROM.h>




/* Temperature/Thermistor Calibration
5v--100k_Therm--input--100k --gnd
y = bit value from input, x = Temperature Value
y = mx +c */
#define TEMPERATURE_M 20
#define TEMPERATURE_C -163

/* Carbon dioxide calibration
y = MLogn(x) + C
x = e^((y-C)/M)

where y is bit value and x is c02 concentration
C02 Bit Value
400 279.98

10000 -0.03
=-87*(LN(N25))+800
*/
#define Carbon_M 0.25//-87//-1.47 // was-87
#define Carbon_C 175//800 //1300 //was 800

/*PH calibration
y = MLogn(x) + C
x = e^((y-C)/M)

where y is bit value and x is c02 concentration
C02 Bit Value
400 279.98

10000 -0.03
=-87*(LN(N25))+800
*/
#define Ph_M 0.25//-87//-1.47 // was-87
#define Ph_C 175//800 //1300 //was 800

#define Ec_M 0.25//-87//-1.47 // was-87
#define Ec_C 175//800 //1300 //was 800
/***********************/
/* Interval Definitions*/
#define INTERVAL 30000 //Define ms INTERVAL in between trigerring
#define SENSOR_INTERVAL 400 // SENSOR INTERVAL
#define BACKLIGHT_TIME 180000 // 1 minute for backlight on after no keypress. NOT BEING USED NOW
#define EE_PROM_INTERVAL 600000 //write data to eeprom every 10minutes

/*******/
/*Define array size to be used for averaging. */
/*In The array, the max value and min value are taken out and the rest averaged*/
/* If 2 or less, it is just averaged*/
#define ARRAY_SIZE 10



/**********************/
/*Hysterisis Intervals*/
#define TEMP_LO 1
#define TEMP_HI 1
#define CO2_LO 10
#define CO2_HI 10
#define PH_LO 10
#define PH_HI 10
#define EC_LO 10
#define EC_HI 10
/**********************/
/* Define input Pins */
//Analog
#define THERM1 1 // Analog 1 Thermistor 1 voltage
#define CARBONDI3 2
#define PH 3
#define EC 4
/// Analog 3


/**********************/
/*Define output Pins */
//Digital
#define RELAY1 12
#define RELAY2 3
#define RELAY3 13
#define RELAY4 11
#define BACKLIGHT 10 //backlight Pin Value
//Can use pins 0 + 1 if serial not being used.. or use an analog pin.

/******Define Size of storage array for values*/
#define ARRAY_STORE 200 //how many lines to store in eeprom. ARRAY_STORE*4 <1k


/*****************************/
/*set Triggers *************/
int heatTrigger1 = 25;
int C02Trigger = 1000;
int PHTrigger = 1000;
int ECTrigger = 1000;
/***************************/
/* Sensor Value initialize */
int thermValue1 = 0;
int carbonDiVal = 0;
int PhVal = 0;
int EcVal = 0;

int therm1[ARRAY_SIZE];
int carbonD[ARRAY_SIZE];
int Ph[ARRAY_SIZE];
int Ec[ARRAY_SIZE];

int Whole, Fract;
int keypad_delay = 10;

/************************/
/*Set time check ms */
long last_check = millis();
long sensor_check = millis();
long backlight = millis();
int timing = millis();
long time_eeprom = millis();

/**************************/
/** LCD Shield */
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
char buf[5]; //used in conversion of int to char for lcd

int configure = 0; //use select as an on/off for configuring
int showReading = 0; //select which value to modify 0-3
int adc_key_in = 1024; //Start with -1 key value

int adc_key_val[5] = {
100, 160, 360, 770, 800 }; //Analog values from Keys on keypad shield


int NUM_KEYS = 5;
int key= -1;

char trigger_names[4][15] = {
"Temp Trigger 1",
"C02 Trigger",
"PH Trigger",
"EC Trigger" };

boolean Heat_on = false;
boolean CO2_on = false;
boolean Ph_on = false;
boolean Ec_on = false;
/* Set up index value for storing values in eeprom*/
int k=0;



void setup()
{
// declare pins as output
//pinMode(LEDPIN, OUTPUT);
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
pinMode(RELAY3, OUTPUT);
pinMode(RELAY4, OUTPUT);

//Setup averaging arrays
int i;


for(i=0; i< ARRAY_SIZE; i++)
{
therm1[i] = 512;
carbonD[i] = 700;
Ph[i] = 700;
Ec[i] = 700;
}
//pinMode(BACKLIGHT,OUTPUT); Backlight on all the time, so comment out this.

// lcd.init();
// lcd.clear();
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);

pinMode(BACKLIGHT, OUTPUT);
digitalWrite(BACKLIGHT,HIGH);
//Start serial comms with computer
Serial.begin(115200);

delay(100); //delay for sensor setup

}

void loop() {


key = get_key(adc_key_in); //In case

//reset sensor_check if millis() has overflowed
if( millis() < sensor_check ){ sensor_check = millis(); }

/* This is for backlight off delay.
if ( (millis() < backlight) || millis() > (backlight + BACKLIGHT_TIME))
{ digitalWrite(BACKLIGHT,LOW); }
*/


/*Read sensor only after delay of sensor_check*/
if(millis() - sensor_check > SENSOR_INTERVAL )
{
sensor_check = millis();

int i;

for (i=0; i < ARRAY_SIZE -1 ; i++) {
therm1[i] = therm1[i+1];
carbonD[i] = carbonD[i+1];
Ph[i] = Ph[i+1];
Ec[i] = Ec[i+1];
}



/*** Read in sensor values and change to fit actual temp/hum/ppm values*/
therm1[ARRAY_SIZE -1] = analogRead(THERM1);
int temp1 = mov_avg(therm1);
thermValue1 = (temp1 - TEMPERATURE_C)/TEMPERATURE_M; // x = (y-c)/m



int c_temp = analogRead(CARBONDI3);
Serial.print(c_temp);
/*if (( c_temp > 0 ) && (c_temp <300)) //stops unecessary calcs which grind arduino to a halt
{*/
carbonD[ARRAY_SIZE -1] = c_temp;
c_temp = mov_avg(carbonD);
Serial.print(":");
Serial.print(c_temp);
float c_float = c_temp - Carbon_C; // For ease of use in power function
c_float = c_float/Carbon_M;
Serial.print(":");
Serial.print(c_float);
carbonDiVal = pow(2.718,c_float);
//}
Serial.print(":");
Serial.println(carbonDiVal);

////PH////////***////////



int p_temp = analogRead(PH);
Serial.print(p_temp);
/*if (( c_temp > 0 ) && (c_temp <300)) //stops unecessary calcs which grind arduino to a halt
{*/
Ph[ARRAY_SIZE -1] = p_temp;
p_temp = mov_avg(Ph);
Serial.print(":");
Serial.print(p_temp);
float p_float = p_temp - Ph_C; // For ease of use in power function
p_float = p_float/Ph_M;
Serial.print(":");
Serial.print(p_float);
PhVal = pow(2.718,p_float);
//}
Serial.print(":");
Serial.println(PhVal);



int e_temp = analogRead(EC);
Serial.print(3_temp);
/*if (( c_temp > 0 ) && (c_temp <300)) //stops unecessary calcs which grind arduino to a halt
{*/
Ph[ARRAY_SIZE -1] = 3_temp;
3_temp = mov_avg(Ec);
Serial.print(":");
Serial.print(e_temp);
float e_float = e_temp - Ec_C; // For ease of use in power function
e_float = e_float/Ec_M;
Serial.print(":");
Serial.print(e_float);
EcVal = pow(2.718,e_float);
//}
Serial.print(":");
Serial.println(EcVal);
/**Add first line of Display**/
if (configure == 0)
{

lcd.setCursor(0,0);
lcd.print("ISI CO2 PH EC");
}
/**** Add second line of the Display *****/
if (configure == 0)
{
lcd.setCursor(0,1); //
itoa(thermValue1, buf, 10);
lcd.print(buf);

lcd.setCursor(4,1);
Whole = (carbonDiVal / 100); // separate off the whole and fractional portions
Fract = (carbonDiVal % 100);

if (Whole >= 10) {
Whole = 9;
}
lcd.print(Whole, DEC);
delay(keypad_delay);
lcd.print(".");
delay(keypad_delay);
if (Fract < 10){
lcd.print("0");
delay(keypad_delay);
}
lcd.print(Fract, DEC);
delay(keypad_delay);


lcd.setCursor(8,1);
Whole = (PhVal / 100); // separate off the whole and fractional portions
Fract = (PhVal % 100);

if (Whole >= 10) {
Whole = 9;
}
lcd.print(Whole, DEC);
delay(keypad_delay);
lcd.print(".");
delay(keypad_delay);
if (Fract < 10){
lcd.print("0");
delay(keypad_delay);
}
lcd.print(Fract, DEC);
delay(keypad_delay);

lcd.setCursor(11,1);
Whole = (EcVal / 100); // separate off the whole and fractional portions
Fract = (EcVal % 100);

if (Whole >= 10) {
Whole = 9;
}
lcd.print(Whole, DEC);
delay(keypad_delay);
lcd.print(".");
delay(keypad_delay);
if (Fract < 10){
lcd.print("0");
delay(keypad_delay);
}
lcd.print(Fract, DEC);
delay(keypad_delay);



}
//*************************TEST ICIN****************//

// Print Output Values*/

/*Serial.print(thermValue1);
Serial.print(":");
Serial.print(carbonDiVal);
Serial.println(":");

//PRINT ARRAYS THAT ARE AVERAGED
Serial.print("**Therm1*");
Serial.print(thermValue1);
Serial.print("*(");
for( i=0; i<ARRAY_SIZE; i++)
{
Serial.print(therm1[i]);
Serial.print(":");
}
Serial.print(")**carbonD*");
Serial.print(carbonDiVal);
Serial.print("*(");
for( i=0; i<ARRAY_SIZE; i++)
{
Serial.print(carbonD[i]);
Serial.print(":");
}
Serial.println(")");


}

/********************************************/
/*EEPROM STORAGE CODE *********************/
if(millis() < time_eeprom) { time_eeprom = millis(); }
/**Put values into eeprom*/
if(millis() - time_eeprom > EE_PROM_INTERVAL)
{
time_eeprom = millis();
EEPROM.write((k*4),(thermValue1));
EEPROM.write((k*4+1),(carbonDiVal/10));
EEPROM.write((k*4+2),(PhVal/10));
EEPROM.write((k*4+3),(EcVal/10));
k=k+1;
if(k>=ARRAY_STORE) { k=0; }
}/****************************************/


/************************************************** *****/
/*RELAY Changes and value checks, after time INTERVAL***/
if( millis() < last_check ) { last_check = millis(); }

if (millis() - last_check > INTERVAL)
{
last_check = millis(); //left out until final test, no wait 30sec

//Temperature 1 check and Relay Change
if (thermValue1 > (heatTrigger1 +TEMP_HI) ) {
digitalWrite(RELAY1, HIGH);
Heat_on = true;
}

if (thermValue1 < (heatTrigger1 -TEMP_LO) ) {
digitalWrite(RELAY1, LOW);
Heat_on = false;
}


//Carbon Dioxide check and Relay Change

if ( carbonDiVal < C02Trigger- CO2_LO ) {
digitalWrite(RELAY2,HIGH);
CO2_on = true; }
if ( carbonDiVal > C02Trigger+ CO2_HI ) {
digitalWrite(RELAY2, LOW);
CO2_on = false; }


//Carbon Dioxide check and Relay Change

if ( PhVal < PHTrigger- PH_LO ) {
digitalWrite(RELAY3,HIGH);
Ph_on = true; }
if ( PhVal > PHTrigger+ PH_HI ) {
digitalWrite(RELAY3, LOW);
Ph_on = false; }


//Carbon Dioxide check and Relay Change

if ( EcVal < ECTrigger- EC_LO ) {
digitalWrite(RELAY4,HIGH);
CO2_on = true; }
if ( EcVal > ECTrigger+ EC_HI ) {
digitalWrite(RELAY4, LOW);
CO2_on = false; }



/***************************/
/*KEYPAD CODE***************/
adc_key_in = analogRead(0);
key = get_key(adc_key_in); //convert into key press. key = 1-5. -1 for none

if ( (key != -1))
{
digitalWrite(BACKLIGHT,HIGH); //Backlight code taken out
backlight = millis();

if (configure ==1)
{ lcd.clear(); }
delay(20); //debounce
key = get_key(adc_key_in);
delay(200);

/****Select key****/
if ( key == 3 ) //Toggle the configure Key
{
lcd.clear();
if( configure == 1)
{
configure = 0;
lcd.clear();
delay(100);

}
else if ( configure == 0 )
{
configure = 1;
lcd.clear();
delay(100);
}
key = -1;
}
}

/***** Up Key Press ******/
if ( (key == 1) && ( configure == 1 ) )
{
lcd.setCursor(0,1);

switch(showReading)
{
case 0: //heatTrigger1
heatTrigger1 = heatTrigger1 +1;
itoa(heatTrigger1, buf, 10);
lcd.print(buf);
break;
case 1:
C02Trigger = C02Trigger + 100;
itoa(C02Trigger, buf, 10);
lcd.print(buf);
break;
case 2:
PHTrigger = PHTrigger + 100;
itoa(PHTrigger, buf, 10);
lcd.print(buf);
break;
case 3:
ECTrigger = ECTrigger + 100;
itoa(ECTrigger, buf, 10);
lcd.print(buf);
break;
}
}

/**** Keypress down ****/
if ( (key == 2) && ( configure == 1 ))
{
lcd.setCursor(0,1);

switch(showReading)
{
case 0: //heatTrigger1
heatTrigger1 = heatTrigger1 -1;
itoa(heatTrigger1, buf, 10);
lcd.print(buf);
break;
case 1:
C02Trigger = C02Trigger - 100;
itoa(C02Trigger, buf, 10);
lcd.print(buf);
break;
case 2:
PHTrigger = PHTrigger - 100;
itoa(PHTrigger, buf, 10);
lcd.print(buf);
break;
case 3:
ECTrigger = ECTrigger - 100;
itoa(ECTrigger, buf, 10);
lcd.print(buf);
break;
}

}

/***** Keypress Right ****/

if ( (key == 0) && (configure ==1) )
{
lcd.setCursor(0,1); //line 2 x =0

switch(showReading)
{
case 0: //heatTrigger1 to c02
showReading = 1;
itoa(C02Trigger, buf, 10);
lcd.print(buf);
break;
case 1: // C02Trigger to heatTrigger1
showReading = 2;
itoa(heatTrigger1, buf, 10);
lcd.print(buf);
break;
case 2: //heatTrigger2 to ph
showReading = 3;
itoa(PHTrigger, buf, 10);
lcd.print(buf);
break;
case 3: //PH to EC
showReading = 0;
itoa(ECTrigger, buf, 10);
lcd.print(buf);
break;

}
}
/******Dump to serial all EEPROM values if keypress right no config***/
if ( (key == 0) && (configure ==0) )
{
lcd.setCursor(0,0);
lcd.print("Upload");
char buf2[10];
lcd.setCursor(0,1);
lcd.print(" ");

lcd.setCursor(10,1);
lcd.setCursor(0,1);


Serial.println("");
Serial.print("Values end at:");
Serial.println(k+1);
for( k=0; k <=ARRAY_STORE; k++) //l=l+4

{
Serial.print(int(EEPROM.read(k*4)));
Serial.print(",");
Serial.print(int(EEPROM.read(k*4+1)));
Serial.print(",");
Serial.print(int(EEPROM.read(k*4+2)));
Serial.print(",");
Serial.println(int(EEPROM.read(k*4+3)));
}


}



/***** Add the first line of the display******/
lcd.setCursor(0,0); //line 1 x =0

if (configure == 1)
{
lcd.print(trigger_names[showReading]);

lcd.setCursor(0,1);
switch(showReading)
{
case 0:
itoa(heatTrigger1, buf, 10);
lcd.print(buf);
break;
case 1:
itoa(C02Trigger, buf, 10);
lcd.print(buf);
break;
case 2:
itoa(PHTrigger, buf, 10);
lcd.print(buf);
break;
case 3:
itoa(ECTrigger, buf, 10);
lcd.print(buf);
break;
}
}
lcd.setCursor(0,0);
if (Heat_on) {
lcd.print("*");
}
else {
lcd.print(" ");
}

lcd.setCursor(4,0);
if ( CO2_on ) {
lcd.print("*");
}
else {
lcd.print(" ");
}

lcd.setCursor(8,0);
if ( Ph_on ) {
lcd.print("*");
}
else {
lcd.print(" ");
}

lcd.setCursor(11,0);
if ( Ec_on ) {
lcd.print("*");
}
else {
lcd.print(" ");
}
}
}
//End Main loop

int get_key(unsigned int input)
{
int k;

for ( k=0; k < NUM_KEYS; k++)
{
if (input < adc_key_val[k] )
{
return k;
}
}

if ( k >= NUM_KEYS)
{
k = -1;
}
return k;
}

int mov_avg(int averages[ARRAY_SIZE])
{
int summation = averages[0];
int i=1;
for( i=1; i < ARRAY_SIZE; i++)
{
summation = averages[i] + summation;
}
if(ARRAY_SIZE >2)
{
summation = summation - max_array(averages) - min_array(averages);
summation = summation/(ARRAY_SIZE -2);
}
else
{
summation = summation/ARRAY_SIZE;
}
return summation;
}


int max_array(int array[ARRAY_SIZE])
{
int i=0;
int current= array[0];
for( i=1; i<ARRAY_SIZE; i++)
{
if (array[i] > current)
{
current = array[i];
}
}
return current;
}

int min_array(int array[ARRAY_SIZE])
{
int i=0;
int current= array[0];
for( i=1; i<ARRAY_SIZE; i++)
{
if (array[i] < current)
{
current = array[i];
}
}
return current;
}

 
Eklenen Resimler
     

Düzenleyen Potasyum : 09-01-2013 saat 12:38
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 03-06-2012, 22:25   #2
Ağaç Dostu
 
Giriş Tarihi: 02-02-2010
Şehir: ISTANBUL
Mesajlar: 139
Projenizi beyeni ile izledim.
Bende arduino ile bu işi yapabilme ile ilgili birkaç denemem olmuştu. Tabi benim denemelerim sizinkilerin yanında çok amatör kalır.
Tekrar tebrik ediyorum, çalışmalarınzda başarılar diliyorum.
Çalışmalarınızı buradan paylaşabilirseniz çok memnun olurum.

Kolay gelsin.

Hakan Öncü Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 03-06-2012, 23:36   #3
Yeni Üye
 
Giriş Tarihi: 20-09-2011
Şehir: İzmir
Mesajlar: 17
Sayın Potasyum,
Bir süredir bende Arduino ile ilgileniyorum. Henüz edinme şansım olmadı. Ancak topraksız tarımda kontrol kesinlikle çok önemli. Bizim gibi amatörler içinde bu konuda uygulama geliştirmek için sanırım Arduino çok uygun.Sistemde peristaltik pompaları EC ve Ph kontrolü için kullanmışsınız sanırım.

Topraksız tarım birden çok bilgi disiplinini içinde barındıran bir konu. Bu bilgi disiplinlerini kontrol etmenin yolu da otomasyondan geçiyor. Siz de bundan başlamışsın.

Çalışmalarınızı bizimle paylaşırsanız seviniriz.

Çok güzel bir çalışma olmuş. Ellerinize sağlık tebrik ederim.
Çalışmalarınızda başarılar dilerim.


Düzenleyen ayhan_oz : 04-06-2012 saat 00:10 Neden: ek
ayhan_oz Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 07-06-2012, 20:06   #4
Yeni Üye
 
Giriş Tarihi: 01-04-2012
Şehir: Antalya
Mesajlar: 4
Çok begendim, tebrikler.

Biraz keninizden ve projenizden bahsedermisiniz?
mesela, ticari amaçlamı yaptınız yoksa seracısınızda kendiniz içinmi gibi detaylardan

Thracian Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 10-06-2012, 19:15   #5
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Selam
Kotrol sistemini hobi amacli olarak seramda nft sisteme uyumlu yaptim.Ticari amacli kullanilabilir yapimi ucuz ve basit.Bu kontrol sistemini buyuk seralara denemedim uygulanabilir.Kullandigim sensorler hasas dijital sensorler,randimanli.6 aydir eklemeler yapiyorum su ana kadar bir sorun cikamadi.Buyuk seralara uygulanirsa haliyle endustriyel-daha buyuk akim ve guc kaldirabilen kontaktorlerle/rolelerle desteklenmeli.

Bu sistem 5 voltluk roleler ile 250V 10A ta kadar
Su pomasini,havalandirma fanlari,(cilekte ozellikle meyve suresinde)ozon makinasini spreyleri,nem emici(dehumadifier),dosaj makinasi,su isitici/sogutucu,lambalari kontrol etmekte.

Cilekleri tohumdan yetistirmekteyim+3 hafta.Seraya girdikten sonra 9 ila 10 hafta meyvelerin cogu hazir.

Son hali bu

Hidroponik Sera Kontrol/Gelistirme - YouTube


Geleceklte bu isi turkiyeye gelip yapmayi dusunuyorum.Bu is icin avusturalyadan bir okuldan sertifika icin online egitim almaktayim.Seneye bitecek insallah.Elimde bazi kaynaklar var,okuldan destek daha gelisik,profesyonel kisilerler ile soru,cevap,kaynak destek aliyorum.Hidroponik basit bir sistem uygulamasi sorumluluk ve kontrol gerektiren ince bir is.

Eklenen Resimler
   
SAGEN ve smnvrl beğendi.
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 10-06-2012, 20:29   #6
Ağaç Dostu
 
idris şenol's Avatar
 
Giriş Tarihi: 07-05-2009
Şehir: EDİRNE
Mesajlar: 1,533
Türkiye de sizin gibi çalışkan insanlara her zaman ihtiyaç var ,kapı sonuna kadar açık yeterki gelin hocam)
bitki yetiştirme lambaları konusunda arştırma yapıyorum
sizin aydınlatma konusunda bilginize ihtiyacımız var
hem hesaplı hem kullanışlı aydınlatmalar nelerdir ,led lambalar bu iş için nedkadar uygun
birde çilek tohumdan üretmeyi anlatırmısınız ,nasıl yapıyorsunuz

idris şenol Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 25-07-2012, 12:36   #7
Yeni Üye
 
Giriş Tarihi: 20-09-2011
Şehir: İzmir
Mesajlar: 17
Sayın Postasyum,
Hobi amaçlı bir süredir bende bu konuya merak saldım. Hangi Arduino ile başlamalıyım ve tabiiki programlama, bu konularda bilgi birikiminizden faydalanmak isterim. Programcılık konusunda temel bilgiye sahibim.Ancak bu tür kartlar devreler sensörler hakkında fazla bilgim yok. Arduino ve kullanımı ile ilgili olarak okuyorum şu sıralar.
Tavsiyelerinizi ve deneyimlerinizi paylaşmak isterseniz çok memnun olurum.

Çalışmalarınızda başarılar dilerim.

ayhan_oz Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 30-07-2012, 12:45   #8
Yeni Üye
 
Giriş Tarihi: 10-11-2011
Şehir: Adana
Mesajlar: 6
Ayakta alkışlıyorum çok ciddi emek verilmiş.

Arduino UNO R3 ile başlanabilir.

1nsane Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 30-07-2012, 15:15   #9
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Selam kullandigim malzemeler Arduino mega2560,mega shield x 2,3.2 inc tft dokunmatik fonksiyonlu lcd ekran,3.2" lcd ekran shield v1.1, Devami....>>

Eklenen Resimler
     
SAGEN beğendi.
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 30-07-2012, 15:21   #10
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
<<<<......Geri Kullandigim malzemelerin devami. 8 li 5 volt beslemeli role,ph kiti ve sensoru,dht22 nem ve isi sensoru sera icerisi icin,ds18b20 isi sensoru su icin,Devami.......>>

Eklenen Resimler
     
SAGEN beğendi.
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 30-07-2012, 15:30   #11
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Fan isinin durumuna gore hizini degistiriyor.Altaki roleler omron (japan) bunlar buyuk kontaktorleri yonlendirmek icin ideal,ben kullanmadim gerek duymadigim icin eger endustriyel yapilacaksa bunlar sart.

Selametle.

Eklenen Resimler
   
SAGEN, smnvrl ve zekzek03 beğendi.
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 30-07-2012, 15:32   #12
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Son hali

HYDROPONIK Sera Kontrol - YouTube

SAGEN ve kozel beğendi.
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 30-07-2012, 15:40   #13
Yeni Üye
 
Giriş Tarihi: 15-07-2012
Şehir: istanbul
Mesajlar: 23
Başarılı bir çalışma olmuş.Ellerine sağlık. Modulleri nereden temin ettin öğrenebilirmiyim ?

Dima Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 31-07-2012, 12:30   #14
Yeni Üye
 
Giriş Tarihi: 20-09-2011
Şehir: İzmir
Mesajlar: 17
Sayın Potasyum'un belirttiği ürünleri bu linkten bulmanız mümkündür.
Arduino Mega 2560 | eBay

Modülleri temin etmek işin en kolay kısmı sanırım. Modüllerin temininden sonra onların bir menü aracılığı ile kullanımının sağlanması. Belirlenen değerlerde çalıştırılması ve durdurulması , kontrol edilmesi , birbirleriyle etkileşimi ....
asıl iş burası.

Neticede 256 KB Flash Memory si var. Ne kadar kod yazılabilir bilemiyorum.
Sayın Potasyum'un videolarını izlediğimde arkada baya bir kod yazılmış gibi geldi bana. Ayrıca okunan bilgilerin depolanması vs. bir hayli zor geldi bana düşününce.
Ama bir yerden başlamak lazım sanırım.

Potasyum'a paylaşımları için teşekkür etmek isterim.

ayhan_oz Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 01-08-2012, 14:17   #15
Yeni Üye
 
Giriş Tarihi: 20-09-2011
Şehir: İzmir
Mesajlar: 17
Sayın Potasyum,
Aduino ile ilgili ürünler Çin de bulunan sitelerde çok daha ucuz.
Biz hobi amaçlı uğraşacağız. Bu ürünleri kullanmamızı önerir misiniz.

Ben başlangıçta Ph ve EC kontrolü yapabilmeyi istiyorum. Yapabilirsem tabiiki.

Örnek :
e-bay da Arduino Mega 2560 en düşük 65 $ iken
Wholesale - Buy China Wholesale Products from Chinese Wholesalers on DHgate.com Arduino Mega 256 23 $

ayhan_oz Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 07-08-2012, 11:34   #16
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Selam degerli Ayhan Oz

Ben de cogu malzemelerimi cinden aldim,Ph kiti haric,ph devre semalarini cinde bastirttim 10 adet ve kendim insaa ettim.Ec kitini amerikali birinden aldim o kadar randiman alamadim ec yi devre disi biraktim.Internette buldugum EC devre semalari bes para etmez.

Kullandigim kod su anda 100KB yer kaplamakta,su seviyesi kontrolu + ozon-uv kontrol + Ec kontrol + internet/web takip ve kontrol kodu dahil 195KB.Kodu arduino ve benzeri sitelerde arama, arastirma yaparak toplayabildim.Bana uzun bir zamana mal oldu.Sonucta istedigim yere getirebildim. Bazi eklemeler ve degisiklikler......

Eklenen Resimler
    
SAGEN beğendi.

Düzenleyen Potasyum : 07-08-2012 saat 12:11
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 07-08-2012, 23:30   #17
Yeni Üye
 
Giriş Tarihi: 10-11-2011
Şehir: Adana
Mesajlar: 6
Sayın Potasyum,

Serada O2 ölçmemiz neden gerekli?

Saygılarımla

1nsane Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 08-08-2012, 14:52   #18
Yeni Üye
 
Giriş Tarihi: 20-09-2011
Şehir: İzmir
Mesajlar: 17
Sayın Potasyum,
Atlas-Scientific Conductivity Bu adresi bir incelemenizi öneririm. Bana ciddi bir firma ve ürünleri kaliteli gibi geldi. Yavaş yavaş bende malzemeleri almaya başlayacağım. Başlangıçtaki hedefim EC-PH ve selenoid vana kontrolü olacak.
Arduino ile ilgili sitelere bir süredir bende bakıyorum. Henüz kod yazacak aşamaya gelemedim. Ancak bir an önce kartı alıp menü yazarak başlayacağım.

Çalışmalarınızda başarılar dilerim.

ayhan_oz Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 24-11-2012, 16:15   #19
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Selam

Atlas-Scientific Conductivity en ideali aslinda daha profosyonel,Ben denemedim. Su anki sistem bu sezon boyunca sorun cikarmadi ve su anki haliyle beni yeteri kadar tembel yapti bu iste,en azindan ec olayini manuela (not auto) yapiyorum,nede olsa aklin orda kaliyor,
Kod asamasi en guzeli bulmaca cozmek gibi birsey,eglenceli,zamani harcartan,Size basarilar diliyorum,umarim gormek nasib olur.

Buada sistemin uykuya gecisi .


Ekran koruyucu bolumu+ (ay pozisyonlari) - YouTube

SAGEN beğendi.
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 27-11-2012, 14:10   #20
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Selam


Sudaki o2 orani icin olcum yapiliyor,ornegin nft sistemde sudaki hava diger sistemlere nazaran daha zengin olmali.

Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 27-11-2012, 14:11   #21
Yeni Üye
 
Giriş Tarihi: 20-09-2011
Şehir: İzmir
Mesajlar: 17
Selam Potasyum,
Kodlama aşaması baya teknik bir konu. İnce detaylar olduğunu öğreniyorum. Zira elektronik kartlara yazılım yapmak kolay iş değil. Henüz arduino ile ilgili dokümanları okumaya devam ediyorum.
Umarım bir gün kod yazmaya başlarım.

Çalışmalarınızda başarılar dilerim sayın Potasyum..

ayhan_oz Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 27-11-2012, 18:58   #22
Ağaçsever
 
Giriş Tarihi: 24-01-2010
Şehir: istanbul
Mesajlar: 50
Sn Potasyum,
Oncelikle calismalarinizda basarilar dilerim.
Bende arduino ile benzer bir sistem kurmak uzere bir suredir calisiyorum.
Benimki sizinkine gore daha mutevazi bir sistem, atmega328 ve 2*16 lcd displayden ibaret.
Malesef fazla vakit ayiramam sebebi ile simdilik nem ve isi olcumunden ileriye gidemedim.
Aslinda benim planim, arduino ile gelistirecegim, cesitli sensorler icerecek uydular araciligi ile sadece olcum yapmak, bu veriyi bir bilgisayara aktarmak ve gerekli kontrol mantigini burada yurutmek.
Neyse, benim sizden ogrenmek istedigim konu ph olcumu ve kullandiginiz sensor.
kodunuzda anlayabildigim kadari ile bir loop icinde sureklli olarak ph olcumu yapiyorsunuz.
ph sensorleri bu durumda stabil degerler uretebiliyor mu?
yoksa kullandiginiz ozel bir sensor mu?
Cevabiniz icin simdiden tesekkur ederim.
Saygilarimla...

koyu yesil Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 29-11-2012, 16:38   #23
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Alıntı:
Orijinal Mesaj Sahibi koyu yesil Mesajı Göster
Sn Potasyum,
Oncelikle calismalarinizda basarilar dilerim.
Bende arduino ile benzer bir sistem kurmak uzere bir suredir calisiyorum.
Benimki sizinkine gore daha mutevazi bir sistem, atmega328 ve 2*16 lcd displayden ibaret.
Malesef fazla vakit ayiramam sebebi ile simdilik nem ve isi olcumunden ileriye gidemedim.
Aslinda benim planim, arduino ile gelistirecegim, cesitli sensorler icerecek uydular araciligi ile sadece olcum yapmak, bu veriyi bir bilgisayara aktarmak ve gerekli kontrol mantigini burada yurutmek.
Neyse, benim sizden ogrenmek istedigim konu ph olcumu ve kullandiginiz sensor.
kodunuzda anlayabildigim kadari ile bir loop icinde sureklli olarak ph olcumu yapiyorsunuz.
ph sensorleri bu durumda stabil degerler uretebiliyor mu?
yoksa kullandiginiz ozel bir sensor mu?
Cevabiniz icin simdiden tesekkur ederim.
Saygilarimla...
Selam

Bendeki sensoru cin mali 12sterlin maliyetinde , ebay marketten 0.05-+ kayma tolaransli yani ph 6.01 bi sonraki olcum 6.06 bunlarin 0.01+- toleranslilarida var,sonucta kaliteye gore degisiyor. Bendeki sensoru okuyan devre anolog ,1-5v arasinda dogru akimli voltaji kontrol devresine okutup degerleri ve kontrolleri saglatiyorum.

Ph'i hep ayni dongude (loop) aktif tutuyorum.Sistem,ph'i istedigim oranda sudaki degisime gore up ve down dozaj pompalarindan gerekli olani belli zaman surelerinde tetikleyerek ve keserek dengeyi tutuyor.

Sistem 6 ay suresince calisirken hemen hemen her gun, sabah ve aksam baslangiclarinda ph'i, sivi olcum ile kontrol ettim.Sabit isidaki suyumu ilk ay filtrelemedim.Sapmlari suyu sivi olcum sonuclari ile orantiladim ve ayarladim Sapmalar, Baslangicta ortalama 4 gunde bir 0.10 kayiyordu. Ph 6.10 olmasi gereken 4 gun sonra 6.20 ye sapiyordu .Filtreden sonra sapmlar hemen hemen 6 gunde bire kadar cikti.Bitkinin donemlerinde degisiklik gosterebilir.

Ayari,Bitki icin tanktaki suyun,sivi olcumlerin verdigi sonuc dogrultusunda, devrede bulunan iki ayar trimpotundan sadece T1 potunu kullanarak dengeliyordum.T2 potu her "yeni" sensor degisimde 1 kereye mahsus kullaniyordum.Ozel kalibrasyon sivilari kullanmadim (sensorun ilk ayari haric)Yeni sensor+gercek sivilarla yapilan kalibrasyon.(sabit ayar T2,),Sitemin,kontrol devresinin prosesteki ph programinda bir degisiklik yapmiyorum.Sensoru gerektiginde saf su ile temizliyorum.

Selametle


Düzenleyen Potasyum : 29-11-2012 saat 17:04 Neden: eksik kelime
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 19-12-2012, 20:28   #24
Ağaç Dostu
 
ekizilaslan's Avatar
 
Giriş Tarihi: 17-08-2012
Şehir: İstanbul Ataşehir
Mesajlar: 192
izlemedeyim ama pek üst seviyeymiş yahu

ekizilaslan Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 19-12-2012, 22:15   #25
Ağaç Dostu.
 
vetman996's Avatar
 
Giriş Tarihi: 21-08-2008
Şehir: Manisa-Salihli
Mesajlar: 772
Sayın Potasyum kardeş merhaba.
çalışmalarınızı ilgiyle takip ediyorum.288 metrekare çilek için deneme serası yaptık.(çalışma linki aşağıda) Ec ölçümü için Sayın Kudret hocamda sera bekçisi aldık. ama ısı-nem kontrol otomasyon sistemimiz eksik. bir süre manuel çalışacaktık ama bu bizi zorlayacak. sizin çalışmalarınızı bizim serada deneyebilirmiyiz acaba. biz masrafını karşılamaya hazırız. selamlar... saygılar...

vetman996/Ticari Topraksız Tarım Deneme Serası

vetman996 Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 20-12-2012, 08:11   #26
Ağaç Dostu
 
SAGEN's Avatar
 
Giriş Tarihi: 12-01-2011
Şehir: Üsküdar/İSTANBUL
Mesajlar: 499
Galeri: 26
Alıntı:
Orijinal Mesaj Sahibi Potasyum Mesajı Göster
Selam degerli Ayhan Oz

Ben de cogu malzemelerimi cinden aldim,Ph kiti haric,ph devre semalarini cinde bastirttim 10 adet ve kendim insaa ettim.Ec kitini amerikali birinden aldim o kadar randiman alamadim ec yi devre disi biraktim.Internette buldugum EC devre semalari bes para etmez.

Kullandigim kod su anda 100KB yer kaplamakta,su seviyesi kontrolu + ozon-uv kontrol + Ec kontrol + internet/web takip ve kontrol kodu dahil 195KB.Kodu arduino ve benzeri sitelerde arama, arastirma yaparak toplayabildim.Bana uzun bir zamana mal oldu.Sonucta istedigim yere getirebildim. Bazi eklemeler ve degisiklikler......
Sayın POTASYUM;

Konuya ortasından atladım ama heyecanımı mazur görün. Sistemi tamamen sizmi yaptınız?
Eğer öyle ise süper bir iş olmuş.

SAYGILARIMLA.


Düzenleyen SAGEN : 20-12-2012 saat 10:16
SAGEN Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 20-12-2012, 08:15   #27
Ağaç Dostu
 
SAGEN's Avatar
 
Giriş Tarihi: 12-01-2011
Şehir: Üsküdar/İSTANBUL
Mesajlar: 499
Galeri: 26
Alıntı:
Orijinal Mesaj Sahibi Potasyum Mesajı Göster
Selam

Atlas-Scientific Conductivity en ideali aslinda daha profosyonel,Ben denemedim. Su anki sistem bu sezon boyunca sorun cikarmadi ve su anki haliyle beni yeteri kadar tembel yapti bu iste,en azindan ec olayini manuela (not auto) yapiyorum,nede olsa aklin orda kaliyor,
Kod asamasi en guzeli bulmaca cozmek gibi birsey,eglenceli,zamani harcartan,Size basarilar diliyorum,umarim gormek nasib olur.

Buada sistemin uykuya gecisi .


Ekran koruyucu bolumu+ (ay pozisyonlari) - YouTube
Sayın POTASYUM;

http://www.agaclar.net/forum/orkide/28889.htm

Linkini verdiğim orkide sistemimde benimde böyle bir şey kullanma planım var. Güzel çalışma ellerinize sağlık.

SAYGILARIMLA.

SAGEN Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 24-12-2012, 18:37   #28
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Alıntı:
Orijinal Mesaj Sahibi vetman996 Mesajı Göster
Sayın Potasyum kardeş merhaba.
çalışmalarınızı ilgiyle takip ediyorum.288 metrekare çilek için deneme serası yaptık.(çalışma linki aşağıda) Ec ölçümü için Sayın Kudret hocamda sera bekçisi aldık. ama ısı-nem kontrol otomasyon sistemimiz eksik. bir süre manuel çalışacaktık ama bu bizi zorlayacak. sizin çalışmalarınızı bizim serada deneyebilirmiyiz acaba. biz masrafını karşılamaya hazırız. selamlar... saygılar...

vetman996/Ticari Topraksız Tarım Deneme Serası

Selam

Yaptigim bu sistemi sizin seranizda denemeyi cok isterim,lakin ben yurtdisinda yasamaktayim turkiyeye yaz tatillerinde gelmekteyim.Sistemi bir sekilde bir 20 X 20cm pvc kutunun icine yerlestirmem gerek,tasinmasi ve kurulmasi acisindan kolaylik,sonrasinda gerekirse kontaktorlerle donanimli panonun icine adapte edilebilsin.Mayis ayinda turkiyeye 2 haftaligina gelme ihtimalim var.Bu zamana ragmen isteginize gore gerekirse getirim ve detaylari ozelden konusuruz.

Kontroller Nem+isi+su isi+ co2+ph+pompalar+zaman ayarli priz (isiklar)
Saygilar.

Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 24-12-2012, 19:16   #29
Ağaç Dostu
 
Giriş Tarihi: 15-07-2012
Şehir: Antalya
Mesajlar: 553
Sayın potosyum,
İsmail Bey'e yazdığım mesajı yanlışlıkla size göndermişim. Onun için sildim. Kusura bakmayın.
Halil Balaban

Halil Balaban Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Eski 17-01-2013, 13:37   #30
Ağaçsever
 
Giriş Tarihi: 10-02-2012
Şehir: Glasgow
Mesajlar: 57
Selam

Sistem tanklardaki sivilarin seviyesini gostermekte.Internetten takip ozelligi kullanimi cok basit kalibrasyon ve intenete baglanma kolayligi Cosm.com dan uye olup bedava internetten takip edebilirsiniz.

Arduino uno,ethernet shield ve ultrasonic sensorler.Bu kitleri temin etmek kolay bu gunlerde.Sistemin resimlerini burya ekledim yapmak isteyen ilgilenen olursa kodlari email yolu ile gonderebilirim.

Eklenen Resimler
     
SAGEN ve smnvrl beğendi.
Potasyum Çevrimdışı   Alıntı Yaparak Cevapla Başa Dön
Cevapla

Konu Araçları
Mod Seç

Gönderme Kuralları
Yeni konu gönderemezsiniz
Konulara yanıt veremezsiniz
Ek dosya yükleyemezsiniz
Kendi gönderilerinizi düzenleyemezsiniz

BB code Açık
Smilies Açık
[IMG] Kodu Açık
HTML Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


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


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