Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

Päikeseelekter kasvuhoonet monitoorima

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    #61
    Vs: Päikeseelekter kasvuhoonet monitoorima

    Esmalt postitatud insippo poolt Vaata postitust
    ... Luuk kinni asendisse saab panna magneti ja herkoni. Kuhu aga panna need siis kui ta lahti luugi veab ?
    Kas tross ei jää kuskil piisavas pikkuses sirgelt näha/liikuma. Magnet trossi külge ja herkonid sobivatesse kohtadesse.

    Comment


      #62
      Vs: Päikeseelekter kasvuhoonet monitoorima

      Luugi külge on kindel panna.Kas on sellist herkonit kus on variant kolme klemmiga,et ilma magnetita on 1 kontakt lahti ja teine kinni ? Vist saab arduino analoog pin-e ka kasutada kui saab aga vist ei saa. Mul softis mingid viivitused.

      Kust odavaid rulluisu rattaid saab koos laagritega.Nendega hea trossi juhtida.Jooksevad libedalt.Tuleb soon sisse treida rattasse või käiata (lihtsam variant).

      Comment


        #63
        Vs: Päikeseelekter kasvuhoonet monitoorima

        Täitsa olemas hind on väikse asja kohta suur.
        Emal oli kolm poega, kaks olid normaalsed ja kolmas oli elektroonik.

        Comment


          #64
          Vs: Päikeseelekter kasvuhoonet monitoorima

          Tavalise herkoni taha saab panna ka teise relee, ümberlülitava.
          Akna liikuva raami külge mingi pulk sissepoole rippu läbi liikumatu raami küljes oleva suunaja. Pulga külge kaks magnetit eri pooltele, kinni ja lahti asendile. Suunaja külge kaks herkonit, kummagile magnetile oma. Võib ka mitu tk panna, saab vahepealseid asendeid progeda.
          Laagritega trossi rullikuid saab suuremat sorti koopiamasinate seest, seal veetakse seda peeglitega kelku trossidega edasitagasi.

          Comment


            #65
            Vs: Päikeseelekter kasvuhoonet monitoorima

            Sellise asja tahaks kasvuhoone keskelt ülevalt ajada ülesse.Otsast tuleb välja 4 trossi mis lähevad luukide külge.Vahel on laagrid mis teevad trossi jooksu kergemaks.Peaks olema suuremad tegelikult.Alla tuleb kojamehe mootor pooliga kuhu kerib trossi peale.Toru sees on need 4 trossi ühe küljes.Ole näha kuidas töötab.Teoreetiliselt peaks toimima.
            Click image for larger version

Name:	leiutis nr.1.jpg
Views:	1
Size:	27,8 KB
ID:	867416

            Keevitus on kole aga peaks töötama.

            Comment


              #66
              Vs: Päikeseelekter kasvuhoonet monitoorima

              Idee hea, aga ei suuda suuruseid pildiabil hinnata ja tekkis küsimus, et kas tross laagri ja seinavahele pugema ei taha hakata?

              Comment


                #67
                Vs: Päikeseelekter kasvuhoonet monitoorima

                See oli katse nr.1. Leidsin Maximast rulluisud 10€. Sealt saab rattad.Lõikan trossi jaoks soone sisse ja peaks olema parem variant kui see mis tehtud.?

                Mul on olemas ka Gertboard. Kas seda poleks mõtet kasutada ?
                viimati muutis kasutaja insippo; 18 May 2013, 18:08.

                Comment


                  #68
                  Vs: Päikeseelekter kasvuhoonet monitoorima

                  Niiskust näitab lcd-l aga temperatuuri ei oska panna.


                  #include <OneWire.h>
                  #include <DallasTemperature.h>
                  #include <LiquidCrystal.h>
                  /*
                  0 - 232 rxd
                  1 - 232 txd
                  2 - rw (LCD) pin 4
                  3 - enable (LCD) pin 6
                  4 - sd card 9 (ETHERNET SHIELD)
                  5 - lcd d4 (LCD)
                  6 - lcd d5 (LCD)
                  7 - lcd d6 (LCD)
                  8 - lcd d7 (LCD)
                  9 - DS18B20
                  10 - w5100 select(ETHERNET SHIELD)
                  11 - SPI MOSI (ETHERNET SHIELD)
                  12 - SPI MISO (ETHERNET SHIELD)
                  13 - SPI CLK (ETHERNET SHIELD)


                  ANALOG
                  0 - MOISTURE in (analog) moisture_input 0
                  1 - moisture (digital) divider_top 2
                  2 - moisture 1 (digital) divider_bottom 3
                  3 - window open (digital)
                  4 - window close (digital)
                  5 - water pump (digital)


                  Moisture

                  Connect two nails and a resistor as shown


                  analog 1---* #define divider_top A1
                  |
                  \
                  /
                  \ R1
                  /
                  |
                  |
                  analog 0----* #define moisture_input A0
                  |
                  |
                  *----> nail 1

                  *----> nail 2
                  |
                  |
                  |
                  analog 2---* #define divider_bottom A2


                  */














                  // initialize the library with the numbers of the interface pins
                  LiquidCrystal lcd(2, 3, 5, 6, 7, 8);

                  // Data wire is plugged into pin 9 on the Arduino
                  #define ONE_WIRE_BUS 9

                  // Setup a oneWire instance to communicate with any OneWire devices
                  OneWire oneWire(ONE_WIRE_BUS);

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

                  // Assign the addresses of your 1-Wire temp sensors.
                  // See the tutorial on how to obtain these addresses:
                  // http://www.hacktronics.com/Tutorials...ss-finder.html

                  DeviceAddress insideThermometer = { 0x28, 0x2B, 0xE6, 0xDA, 0x02, 0x00, 0x00, 0x43 };
                  DeviceAddress outsideThermometer = { 0x28, 0x6B, 0xDF, 0xDF, 0x02, 0x00, 0x00, 0xC0 };
                  DeviceAddress groundThermometer = { 0x28, 0x59, 0xBE, 0xDF, 0x02, 0x00, 0x00, 0x9F };

                  #define moisture_input 0 // analog pin 0, nail 1
                  #define divider_top 1 // resistor analog pin 1
                  #define divider_bottom 2 // nail 2 analog pin 2
                  int waterPump =A5; // water pump analog pin 5
                  int moisture;
                  int Koguprotsent;
                  int tempHigh =A3; // window open relay
                  int tempLow =A4; //window close relay

                  int X=0;

                  void setup(void)
                  {

                  pinMode (tempLow, OUTPUT);
                  pinMode (tempHigh, OUTPUT);
                  pinMode (waterPump, OUTPUT);
                  digitalWrite(waterPump, LOW);
                  digitalWrite (tempLow, LOW);
                  digitalWrite (tempHigh, LOW);

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

                  // start serial port
                  Serial.begin(9600);

                  // Start up the library
                  sensors.begin();

                  // set the resolution to 10 bit (good enough?) maybe 9 bit better
                  sensors.setResolution(insideThermometer, 9);
                  // sensors.setResolution(outsideThermometer, 9);
                  // sensors.setResolution(dogHouseThermometer, 9);
                  }

                  void printTemperature(DeviceAddress deviceAddress)
                  {
                  float tempC = sensors.getTempC(deviceAddress);
                  if (tempC == -127.00) {
                  Serial.print("Error getting temperature");
                  } else {
                  Serial.print("C: ");
                  Serial.print(tempC);
                  //-- panin koodi siia..
                  }

                  if (tempC >= 27 && X ==0){
                  digitalWrite(tempHigh, HIGH);
                  delay(6000);
                  digitalWrite(tempHigh, LOW);
                  X = 1;
                  }

                  if (tempC <= 24 && X ==1){
                  //luuk alla
                  X = 0;

                  digitalWrite(tempLow, HIGH);
                  delay(6000);
                  digitalWrite(tempLow, LOW);
                  }




                  }

                  void loop(void)
                  {

                  //---- soil

                  // Serial.print("Getting Soil Moisture...\n\r");
                  moisture=SoilMoisture(); // soilmoister as variable
                  Koguprotsent = ((moisture*100)/970); // mina sain max väärtuseks 950
                  Serial.print("Niiskuse absoluut arv: ");
                  Serial.println(moisture);
                  lcd.setCursor(0, 0);
                  lcd.print("Muld:");
                  lcd.print(moisture);
                  delay(2000);




                  Serial.print("Mullas on niiskust ");
                  Serial.print(Koguprotsent);
                  Serial.print(" % ");
                  lcd.setCursor(9, 0);
                  lcd.print(",");
                  lcd.print(Koguprotsent);
                  lcd.print("%");

                  Serial.println();


                  delay(1000); // tuleks sättida endale sobivaks.



                  if (Koguprotsent >= 90){

                  digitalWrite(waterPump, LOW);

                  }
                  if (Koguprotsent <= 75){

                  digitalWrite(waterPump, LOW);
                  delay(1000); //pumba töö aeg.Katsetamise käigus selgub palju oleks normaalne aeg pumba tööks,et ei tekiks uputust.
                  digitalWrite(waterPump, HIGH);


                  }

                  //---------- temp
                  delay(1000);
                  Serial.print("Getting temperatures...\n\r");
                  sensors.requestTemperatures();

                  Serial.print("Inside temperature is: ");
                  printTemperature(insideThermometer);
                  Serial.print("\n\r");
                  lcd.setCursor(0, 1);
                  lcd.print("T.In:");
                  printTemperature(insideThermometer);
                  lcd.print("\n\r");

                  Serial.print("Outside temperature is: ");
                  printTemperature(outsideThermometer);
                  Serial.print("\n\r");
                  Serial.print("Ground temperature is: ");
                  printTemperature(groundThermometer);
                  Serial.print("\n\r");



                  //lcd.print("In:");
                  //lcd.print(outsideThermometer);
                  //lcd.print("G:");
                  //lcd.print(groundThermometer);
                  }




                  int SoilMoisture(){
                  int reading;
                  // set driver pins to outputs
                  pinMode(divider_top,OUTPUT);
                  pinMode(divider_bottom,OUTPUT);

                  // drive a current through the divider in one direction
                  digitalWrite(divider_top,LOW);
                  digitalWrite(divider_bottom,HIGH);

                  // wait a moment for capacitance effects to settle
                  delay(1000);

                  // take a reading
                  reading=analogRead(moisture_input);

                  // reverse the current
                  digitalWrite(divider_top,HIGH);
                  digitalWrite(divider_bottom,LOW);

                  // give as much time in 'reverse' as in 'forward'
                  delay(1000);

                  // stop the current
                  digitalWrite(divider_bottom,LOW);

                  return reading;

                  //relays for temp
                  pinMode(tempHigh,OUTPUT);





                  }

                  Comment


                    #69
                    Vs: Päikeseelekter kasvuhoonet monitoorima

                    Mina tegin mitme anduriga nii:

                    DeviceAddress AURUSTI = { 0x28, 0x58, 0xBA, 0xA0, 0x04, 0x00, 0x00, 0x54 };
                    DeviceAddress KAPP = { 0x28, 0xF9, 0x04, 0xA1, 0x04, 0x00, 0x00, 0x5D };
                    .
                    .
                    .
                    float temp = sensors.getTempC(AURUSTI);
                    float temp1 = sensors.getTempC(KAPP);
                    .
                    .
                    .
                    lcd.print (temp);
                    lcd.print (temp1);

                    Comment


                      #70
                      Vs: Päikeseelekter kasvuhoonet monitoorima

                      Tegin nii. Midagi saaks lihtsamini vast.


                      // initialize the library with the numbers of the interface pins
                      LiquidCrystal lcd(2, 3, 5, 6, 7, 8);

                      // Data wire is plugged into pin 9 on the Arduino
                      #define ONE_WIRE_BUS 9

                      // Setup a oneWire instance to communicate with any OneWire devices
                      OneWire oneWire(ONE_WIRE_BUS);

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

                      // Assign the addresses of your 1-Wire temp sensors.
                      // See the tutorial on how to obtain these addresses:
                      // http://www.hacktronics.com/Tutorials...ss-finder.html

                      DeviceAddress insideThermometer = { 0x28, 0x2B, 0xE6, 0xDA, 0x02, 0x00, 0x00, 0x43 };
                      DeviceAddress outsideThermometer = { 0x28, 0x6B, 0xDF, 0xDF, 0x02, 0x00, 0x00, 0xC0 };
                      DeviceAddress groundThermometer = { 0x28, 0x59, 0xBE, 0xDF, 0x02, 0x00, 0x00, 0x9F };

                      #define moisture_input 0 // analog pin 0, nail 1
                      #define divider_top 1 // resistor analog pin 1
                      #define divider_bottom 2 // nail 2 analog pin 2
                      int waterPump =A5; // water pump analog pin 5
                      int moisture;
                      int Koguprotsent;
                      int tempHigh =A3; // window open relay
                      int tempLow =A4; //window close relay

                      int X=0;

                      void setup(void)
                      {

                      pinMode (tempLow, OUTPUT);
                      pinMode (tempHigh, OUTPUT);
                      pinMode (waterPump, OUTPUT);
                      digitalWrite(waterPump, LOW);
                      digitalWrite (tempLow, LOW);
                      digitalWrite (tempHigh, LOW);

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

                      // start serial port
                      Serial.begin(9600);

                      // Start up the library
                      sensors.begin();

                      // set the resolution to 10 bit (good enough?)
                      sensors.setResolution(insideThermometer, 12);
                      sensors.setResolution(outsideThermometer, 12);
                      sensors.setResolution(groundThermometer, 12);
                      }

                      void printTemperature(DeviceAddress deviceAddress)
                      {
                      float tempC = sensors.getTempC(deviceAddress);
                      if (tempC == -127.00) {
                      Serial.print("Error getting temperature");
                      } else {
                      Serial.print("C: ");
                      Serial.print(tempC);
                      lcd.print(tempC,0);
                      //-- panin koodi siia..
                      }

                      if (tempC >= 27 && X ==0){
                      digitalWrite(tempHigh, HIGH);
                      delay(6000);
                      digitalWrite(tempHigh, LOW);
                      X = 1;
                      }

                      if (tempC <= 24 && X ==1){
                      //luuk alla
                      X = 0;

                      digitalWrite(tempLow, HIGH);
                      delay(6000);
                      digitalWrite(tempLow, LOW);
                      }




                      }

                      void loop(void)
                      {

                      //---- soil

                      // Serial.print("Getting Soil Moisture...\n\r");
                      moisture=SoilMoisture(); // soilmoister as variable
                      Koguprotsent = ((moisture*100)/970); // mina sain max väärtuseks 950
                      Serial.print("Niiskust mullas: ");
                      Serial.println(moisture);
                      lcd.setCursor(0, 0);
                      lcd.print("Muld:");
                      lcd.print(moisture);
                      //delay(2000);




                      Serial.print("Mullas on niiskust ");
                      Serial.print(Koguprotsent);
                      Serial.print(" % ");
                      lcd.setCursor(9, 0);
                      lcd.print("- ");
                      lcd.print(Koguprotsent);
                      lcd.print("%");

                      //Serial.println();


                      delay(2000); // tuleks sättida endale sobivaks.



                      if (Koguprotsent >= 90){

                      digitalWrite(waterPump, LOW);
                      lcd.clear();
                      lcd.print(" Pump stop");
                      lcd.setCursor(1,0);
                      lcd.print("Muld on niiske");

                      }
                      if (Koguprotsent <= 75){

                      digitalWrite(waterPump, LOW);
                      lcd.clear();
                      lcd.print(" Pump start");
                      delay(1000);
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print(" 1");
                      delay(1000);
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print(" 2");
                      delay(1000);
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print(" 3");
                      delay(1000);
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print(" 4");
                      delay(1000);
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print(" 5");
                      delay(1000);
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print(" 6");
                      delay(1000);
                      lcd.clear();
                      //pumba töö aeg.Katsetamise käigus selgub palju oleks normaalne aeg pumba tööks,et ei tekiks uputust.
                      digitalWrite(waterPump, HIGH);
                      lcd.print(" Pump stop");
                      delay(2000);


                      }

                      //---------- temp
                      float Out = sensors.getTempC(outsideThermometer);
                      float In = sensors.getTempC(insideThermometer);
                      float G = sensors.getTempC(groundThermometer);
                      //delay(1000);
                      Serial.print("Getting temperatures...\n\r");
                      sensors.requestTemperatures();

                      Serial.print("Inside temperature is: ");
                      printTemperature(insideThermometer);
                      Serial.print("\n\r");
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print("Inside temp:");
                      lcd.print(In,1);
                      delay(2000);

                      Serial.print("Outside temperature is: ");
                      printTemperature(outsideThermometer);
                      Serial.print("\n\r");
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print("Outside temp:");
                      lcd.print(Out,1);
                      delay(2000);

                      Serial.print("Ground temperature is: ");
                      printTemperature(groundThermometer);
                      Serial.print("\n\r");
                      lcd.clear();
                      lcd.setCursor(0,1);
                      lcd.print("Ground temp:");
                      lcd.print(G,1);
                      delay(2000);
                      lcd.clear();



                      }




                      int SoilMoisture(){
                      int reading;
                      // set driver pins to outputs
                      pinMode(divider_top,OUTPUT);
                      pinMode(divider_bottom,OUTPUT);

                      // drive a current through the divider in one direction
                      digitalWrite(divider_top,LOW);
                      digitalWrite(divider_bottom,HIGH);

                      // wait a moment for capacitance effects to settle
                      delay(1000);

                      // take a reading
                      reading=analogRead(moisture_input);

                      // reverse the current
                      digitalWrite(divider_top,HIGH);
                      digitalWrite(divider_bottom,LOW);

                      // give as much time in 'reverse' as in 'forward'
                      delay(1000);

                      // stop the current
                      digitalWrite(divider_bottom,LOW);

                      return reading;

                      //relays for temp
                      pinMode(tempHigh,OUTPUT);





                      }

                      Arduinot kasvuhoonesse ei julge jätta. Mul on kaabli kõri miski 30 m. Kaevan maasse ja putkani.Sinna on raskem sisse pääseda.Akud ja muu kola jääks sinna.Kasuhooneni voolu kaabel ja võrgukaabel. Kasvuhoonesse jäävad siis ainult releed
                      viimati muutis kasutaja insippo; 19 May 2013, 15:33.

                      Comment


                        #71
                        Vs: Päikeseelekter kasvuhoonet monitoorima

                        0,75 mm2 kaabel sobiks releedele ja kojamehe mootorile ?

                        Comment


                          #72
                          Vs: Päikeseelekter kasvuhoonet monitoorima

                          Releede mähiste jaoks on 0,75 mm2 ok, aga kojamehe mootorile paneks 2,5 mm2, kui rasket vedu ning mootori kinnipoomise ohtu pole, siis lühikese juhtme hädaga 1,5 mm2. Kaitsmed vahele.
                          73lpiC3kCzI 1hz9KtdUAoU FHo6rXLHNTU
                          ATiP1pN4XeM

                          Comment


                            #73
                            Vs: Päikeseelekter kasvuhoonet monitoorima

                            Kojamehe mootor võttis tühikäigul 0.5A. Juhe tuleb mul pikk.20m umbes.Releedele tahtsin panna üldse cat 5-e.
                            Kui aga panna kojamehe mootori juurde väike aku.Näiteks see :Aku Ultracell 12V 1.3Ah http://www.oomipood.ee/product/ul 1....3ah-97-43-52mm.

                            Vahele relee,et ei tekiks juhtmes suurt pinget.Kui mootor käivitub siis lülitab ennast ainult selle väikse aku peale.See aku laeb ennast suuremast akust mis asub eemal selle 0,75mm2 kaabli otsas
                            viimati muutis kasutaja insippo; 21 May 2013, 07:53.

                            Comment


                              #74
                              Vs: Päikeseelekter kasvuhoonet monitoorima

                              Isegi see 0,5A vool on nii pika ja peenikese kaabli puhul 0,9V pinge langu.

                              Kui sa pandes seda 0,75mm kaablit kaks kõrvuti, siis ehk hädapärast veaks ilma akuta ka välja ja oleks mootor ülekoormamisest kaitstud, sest 5A voolu juures oleks pingelang kusagil 4,5V ja siis läheb ka mootoril tarbimine piisavalt väikeseks, et elus püsida. Selliselt mootorit säästa proovida oleks muidugi narr. Eriti kui energia ammutamine on niigi kriitiline. Miski 22W läheks kaablisse kaotsi selliselt. Aga kui sellest kahju ei ole, siis enam midagi otseselt maha ei tohiks põleda.

                              Aku aitab hädast välja oluliselt kindlamatl ja on ka mootori jõuvaru suurem.

                              Comment


                                #75
                                Vs: Päikeseelekter kasvuhoonet monitoorima

                                Ma panen siis 2x0,75mm2 kaablit mootorile.Seda on parem läbi kaabli kõri tõmmata kui suur ja jämedat 2,5mm2.
                                Mul on ikkagi küsimärgi all see,et kui suure aku ma peaks panema ?

                                Comment

                                Working...
                                X