www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Arduino UNO R3 - Gojenje rastlin v nadzorovanem okolju
Pojdi na stran 1, 2  Naslednja
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
MatejK
trgovec



Pridružen-a: Čet 16 Maj 2013 17:59
Prispevkov: 98
Aktiv.: 0.74
Kraj: Maribor-Radvanje

PrispevekObjavljeno: Pon Okt 30, 2017 8:50 pm    Naslov sporočila:  Arduino UNO R3 - Gojenje rastlin v nadzorovanem okolju Odgovori s citatom

Pozdravljeni,

ta tema se bo nanašala na razvoj in programiranje Arduino-ta za potrebe vzgoje rastlin v nadzorovanem okolju. Sem na tem področju popoln začetnik. Se pa hitro učim in me te stvari veselijo, prav tako imam pomoč dveh prijateljev, ki se spoznata na te stvari bolj kot jaz, je pa tako, da seveda več glav več ve, in je prav tako vsaka pomoč dobrodošla! Zakaj rastline? Sem diplomiran botanik!Mr. Green Wink

Ideja je narediti box, ki je popolnoma neodvisen od človeškega faktorja v naprej nastavljenih programih ali pa popolna kontrola na vsemi parametri v nadaljnji fazi razvoja projekta preko aplikacije na PC ali mobilni napravi.

Se pravi:

Kontrola LED luči;
(imitacija sončnega dneva 24H -vzhod,jutro,opoldne,popoldne,zahod,noč- z DIMM funkcijo in 2 različni barvi LED modulov -2200K-4400K-, prav tako z UV LED modulom) Prilagojeno glede na območje v katerem želimo da rastlina raste - ekvator ali proti severu))

Kontrola vlage;
(ozračje, zemlja), možnost imitacije različnih pogojev glede na podnebje v katero postavimo rastlino, avtomatsko zalivanje zemlje, pršenje))

Kontrola temperature;
Imitacija temperature različnih regij(povprečna vrednost) ali pa enostavno ročno nastavljanje temperature in vzdrževanje le te z pomočjo termostata.

Kontrola zračenja;
Kontrola ventilatorjev za dovod svežega zraka in odvod starega(popolno avtomatsko glede na določene parametre ali pa popolnoma ročno)

Seveda je še veliko drugih stvari,ki bom jih dodajal sproti in bodo vplivale na rast rastlin in skrbeli za najboljše možne pogoje, vendar je za začetek že to dovolj.

KAJ TRENUTNO UPORABLJAM


HARDWARE, KI BO UPORABLJEN ZA VES PROJEKT
    2x DHT22Digital temperature&Humidity sensor
    1x 400 Tie Soldering Board
    20x 10W LED Panel, 6x 50W LED Panel 4800K, 6x 50W LED Panel 2200K, 6x 50W UV LED Panel
    8x Double side copper PCB Board
    2x Nano-Uno multi-purpose expansion board
    2x IR Remote and reciver
    2x MQ-135 Air(gas) Sensor
    4x Soil HGumidity sensor
    4x DC-DC 2A Power Booster 3V to MAX 24V
    6x Ventilator 40x40mm, 4x 80x80mm, 4x 120x120mm, 4x 160x160mm
    100x RGB LED diodes
    2x 16x2 LCD with IIC/I2C Adapter module
    50x 6x6x4mm Push button
    3x DS1302 Real time clock module
    2x W1209 DC 12V Thermostat switch
    4x Arduino NANO R3
    2x ESP8266 WIFI modul
    2x OLED LCD 128x64 LED Display
    500x Different resistors and capacitors
    4x Micro SD Expansion Board
    4x 5V-4 Channel Relay module
    20x PCB Matrix Circuit Board 5x7cm
    2x Arduino Nano V3
    2x 2.4Mhz Ultrasonic Fogger
    2x 12V Water pump 1-30L/min


Koda se bo sproti dopolnjevala in objavljala!

KODA 30.10.17
Ta del kode bere samo senzor za temperature in nam vrača signal!

Koda:
#include <LiquidCrystal.h>         

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Digitalni pini na keterega smo vezali LCD
const int inPin = 0;                   // A0 je povezan senzor
void setup()
{
  lcd.begin(16,2);
}
void loop()
{
  int value = analogRead(inPin); // Bere vrednost sezorja
  lcd.setCursor(0,1);
  float millivolts = (value / 1024.0) * 5000;
  float celsius = (millivolts-500) / 10;
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print(celsius);
  lcd.print(" STOPINJ JE");
  lcd.setCursor(0,1);
  lcd.print("V GROW BOXU");
  delay(5000);
}

VEZAVA NA KODI 30.10.17


UPDATE KODE 1.11.2017
Koda je zmožna nastavitev MIN in MAX temperature, katera pa sproži pri previsoki temperaturi dodaten ventilator za ohlajanje prostora, ter ga lahko spet izklopi, ko doseže temperatura določeno nastavljeno vrednost! Pri prenizki temperaturi lahko sproži grelec da ogreje prostor, dodana RGB LED dioda za prikaz temperature.

Koda:
//Library
#include <LiquidCrystal.h>

//Constant output/input pins
const int pinDig=13,pinRed=10,pinBlue=9,pinGreen=8,inPin=0,rs=12,re=11,db4=5,db5=4,db6=3,db7=2;
const int buttonPin=1;
//State
int buttonState = 0;

const int MAX=33,MIN=24;//Min and Max constant for temperature

LiquidCrystal lcd(rs,re,db4,db5,db6,db7); //LCD connection
void startUP(char* top,char* bottom, int seconds){
  lcd.setCursor(0,0);
  lcd.print(top);
  lcd.setCursor(0,1);
  lcd.print(bottom);
  delay(seconds*1000);
}
void setup() {
  //Input/output pins
  lcd.begin(16,2);
  pinMode(pinDig,OUTPUT);
  pinMode(pinGreen,OUTPUT);
  pinMode(pinRed,OUTPUT);
  pinMode(pinBlue,OUTPUT);
  pinMode(buttonPin,INPUT);
  startUP(" GROW BOX ALPHA","START UP SEQUENCE",2);
}

//Function for temperature reading
float tempC()
{
  int value = analogRead(inPin);
  lcd.setCursor(0,1);
  float millivolts = (value / 1024.0) * 5000;
  float celsius = (millivolts-500) / 10;
  return celsius;
}
void loop() {
if(digitalRead(buttonPin)==1){ //Switch state on button press
    if(buttonState==1)
          buttonState = 0;
    else
          buttonState = 1;
  }
  float temp = tempC();
  lcd.clear();
  if(buttonState==0){ // Show temp. readings if state=0
    lcd.setCursor(0,0);
    lcd.print(temp);
    lcd.print("'C");
    lcd.setCursor(0,1);
   //TODO:: Add heather code!!
    if(temp > MAX){ //ventilation ON(untill further change) and RGB led glows RED
      digitalWrite(pinDig,HIGH);
      digitalWrite(pinRed,1);
      digitalWrite(pinBlue,0);
      digitalWrite(pinGreen,0);
      lcd.print("TEMP:HIGH");
    }
    else if(temp < MIN){ //ventilation OFF(untill further change) and RGB led glows BLUE and heather turns on untill min temp. is reached
      digitalWrite(pinDig,LOW);
      digitalWrite(pinBlue,1);
      digitalWrite(pinRed,0);
      digitalWrite(pinGreen,0);
      lcd.print("TEMP:LOW");
    }
    else{ //RGB led glows GREEN and heather turns off
      digitalWrite(pinGreen,1);
      digitalWrite(pinBlue,0);
      digitalWrite(pinRed,0);
      lcd.print("TEMP:NORM");
    }
  }
  //Add humidity sensor code
  else{ //If state is 1 show humidity readings on LCD
    lcd.setCursor(0,0);
      lcd.print("HUMIDITY");
    lcd.setCursor(0,1);
    lcd.print("Sensor???");
  }
  delay(500);
}

VEZAVA NA KODI 1.11.17


To je zaenkrat vse. Sproti bom pa seveda dopolnjeval stvari.


Nazadnje urejal/a MatejK Sre Nov 01, 2017 12:01 pm; skupaj popravljeno 4 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Tor Okt 31, 2017 12:00 pm    Naslov sporočila:   Odgovori s citatom

Najprej množenje, potem deljenje.
float milivolts = (value * 5000.0) / 1024.0

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Peter123
Član
Član



Pridružen-a: Tor 13 Jan 2009 15:34
Prispevkov: 1364
Aktiv.: 7.37
Kraj: Lj.

PrispevekObjavljeno: Tor Okt 31, 2017 1:59 pm    Naslov sporočila:   Odgovori s citatom

Sam sem realiziral zadevo malo drugače.
Dodal sem še krmiljenje gretja, ko so luči ugasnjene se lahko temperatura tudi spusti.
Opcija različne temperature v temi in pod prižgano lučjo.

Dodal sem tudi avtomatsko zalivanje:
-zajem vlage substrata
-krmiljenje motorčkov oziroma ventilov.

Kar se je kasneje izkazalo za ne najbolj pametno: če uporabljaš gnojila za hidroponiko le te rade začnejo izločati soli če so zmešane stojijo dalj časa.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MatejK
trgovec



Pridružen-a: Čet 16 Maj 2013 17:59
Prispevkov: 98
Aktiv.: 0.74
Kraj: Maribor-Radvanje

PrispevekObjavljeno: Sre Nov 01, 2017 11:41 am    Naslov sporočila:   Odgovori s citatom

Peter123 je napisal/a:
Sam sem realiziral zadevo malo drugače.
Dodal sem še krmiljenje gretja, ko so luči ugasnjene se lahko temperatura tudi spusti.
Opcija različne temperature v temi in pod prižgano lučjo.

Dodal sem tudi avtomatsko zalivanje:
-zajem vlage substrata
-krmiljenje motorčkov oziroma ventilov.


Vse še pride narejeno, tako kot si opisal! Za določene stvari bom uporabim Arduino Nano, saj je še v planu, da se naredi ločen box kot Nursery(box od faze vzklitja do presaditve) ali pa celo v enem kosu kompleten box z ločenimi prostori.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MatejK
trgovec



Pridružen-a: Čet 16 Maj 2013 17:59
Prispevkov: 98
Aktiv.: 0.74
Kraj: Maribor-Radvanje

PrispevekObjavljeno: Sre Nov 01, 2017 11:41 am    Naslov sporočila:   Odgovori s citatom

Vse ostalo pa se bo dopolnjevalo v prvi objavi!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
thetilko
Član
Član



Pridružen-a: Sre 15 Jul 2009 16:03
Prispevkov: 175
Aktiv.: 0.98
Kraj: Celovec

PrispevekObjavljeno: Čet Nov 02, 2017 9:46 am    Naslov sporočila:   Odgovori s citatom

Nujno dodati PID regulacijo ali pa kaksne casovnike, da se ti luc in grelec ne bosta preklapljala pri mejnih vrednostih.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MatejK
trgovec



Pridružen-a: Čet 16 Maj 2013 17:59
Prispevkov: 98
Aktiv.: 0.74
Kraj: Maribor-Radvanje

PrispevekObjavljeno: Čet Nov 02, 2017 10:53 am    Naslov sporočila:   Odgovori s citatom

Grelec in luči še niso niti v kodi dodani. Bo pa seveda vse podano zraven še pri razvoju Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
thetilko
Član
Član



Pridružen-a: Sre 15 Jul 2009 16:03
Prispevkov: 175
Aktiv.: 0.98
Kraj: Celovec

PrispevekObjavljeno: Čet Nov 02, 2017 11:28 am    Naslov sporočila:   Odgovori s citatom

Samo iz radovednosti me zanima, kako se bo kontrolirala kolicina pretocene vode pri zalivanju?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MatejK
trgovec



Pridružen-a: Čet 16 Maj 2013 17:59
Prispevkov: 98
Aktiv.: 0.74
Kraj: Maribor-Radvanje

PrispevekObjavljeno: Čet Nov 02, 2017 5:48 pm    Naslov sporočila:   Odgovori s citatom

thetilko je napisal/a:
Samo iz radovednosti me zanima, kako se bo kontrolirala kolicina pretocene vode pri zalivanju?


Nevem se tocno, se razmisljam. V mislih sem imel senzor vlage za v zemljo. Videl sem tudi da obstaja senzor za dež in količino le te tega. Malo se bom igral glede tega se.


Nazadnje urejal/a MatejK Čet Nov 02, 2017 10:36 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 21.36

PrispevekObjavljeno: Čet Nov 02, 2017 9:52 pm    Naslov sporočila:   Odgovori s citatom

Sicer offtopic, a...
Meni se zdi tole enkratno zastavljena tema, pohvalno! Applause
Predlagam pa, da se še slike postavijo direkt na forum, sicer bi znale iz slikomatika izginiti, s tem pa bi zanamcem tudi tema izgubila na vrednosti.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
MatejK
trgovec



Pridružen-a: Čet 16 Maj 2013 17:59
Prispevkov: 98
Aktiv.: 0.74
Kraj: Maribor-Radvanje

PrispevekObjavljeno: Čet Nov 02, 2017 10:41 pm    Naslov sporočila:   Odgovori s citatom

MadMax je napisal/a:
Sicer offtopic, a...
Meni se zdi tole enkratno zastavljena tema, pohvalno! Applause
Predlagam pa, da se še slike postavijo direkt na forum, sicer bi znale iz slikomatika izginiti, s tem pa bi zanamcem tudi tema izgubila na vrednosti.


Najlepša hvala Smile Bom upošteval nasvet Smile Zanima pa me, ali bi mi del senzorjev, luči in modulov, kot so modul za zatemnitev luči(načrt in projekt pride še opisan v to objavo), itd, bil zmožen gnat kakšen PC napajalnik? Razmišljam o 800-1000W, predvsem zaradi LED luči Smile Ali imate kakšen boljši predlog? Kaj bol namenskega za to zadeva? Problem je v tem, da mora zadeva v končni fazi izgledati nevpadljiva, a kljub temu še dokaj moderna in lična Wink
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MadMax
Član
Član



Pridružen-a: Pet 09 Sep 2005 22:16
Prispevkov: 4743
Aktiv.: 21.36

PrispevekObjavljeno: Čet Nov 02, 2017 11:04 pm    Naslov sporočila:   Odgovori s citatom

PC napajalnik je dober za 5/3.3V, pri 12 pa ima večina njih težavo: ni regulirano, posledično odvisno (včasih kar pogojeno) z obremenitvijo 5/3.3 linij.
Za sproti se malo učit in spoznavat njihove slabosti so ok.
Za končno verzijo pa bi jaz raje posegel po čem preverjeno bolj primernem, recimo teh. Sigurno najdeš kaj ustreznega, tako po moči kot obliki in še vedno dosegljivi (ne zlatarski) ceni.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3638
Aktiv.: 17.11

PrispevekObjavljeno: Pet Nov 03, 2017 12:04 am    Naslov sporočila:   Odgovori s citatom

Umakni tipko s TX. RX in TX pelji na čip MAX485 oziroma pusti prostor zanj. Pa na jumper in 120 ohm terminacijski upor ne pozabi.

SCL, SDA in še dva pina si rezerviraj za razširitev števila izhodov (74HC595) in vhodov (74HC165). Si šele na začetku in si že na tesnem s pini.

PWM ~ pine lahko koristneje uporabiš, zato LCD priklopi na manj pomembne pine.

Zelena barva ni na PWM pinu?

Zaenkrat imaš eno RGB ledico. Ko jih boš imel več, bo moral imeti vsak kanal svoj močnostni tranzistor MosFet ali Darlington z vsaj nekaj A tokovne zmogljivosti.
Tudi analognih vhodov ne troši po nepotrebnem.

Zakaj je pod TMP senzorjem en 1k upor med GND in LCD ter tisto desno škatlo in Npn tranzistorjem?

Uporabi dva napajalnika. Enega malega 5V/250mA za pamet, vhode, male izhode (baze tranzistorjev,...) in osvetlitev LCD, močnostni napajalnik boš pa kupil, ko boš seštel tokove vseh močnostnih komponent (črpalke, ventilatorji, luči, ...). Prednost ima 24 V oziroma najprej primerjaj cene 12 V in 24 V močnostnih komponent.
(-) sponki iz obeh napajalnikov združi v ozemljeni GND zbiralki in od tam potem vlečeš (-).

Ne delaj PWM anten. (+) do porabnika in (-) od porabnika vodi po kablu od zvočnikov, ki ga pri napeljevanju sukaš okrog vzdolžne osi. Tako bo nastala "parica", ki seva najmanj motenj v okolico.
Tudi za vhodne in izhodne signale naj bodo površine zank čim manjše. Spet je najboljša parica ali tanek kabel. Ena žila tja, povratna pa pol metra stran, je recept za glavobol.
Nasploh naj ima vsak (+) iz tiskanine čim bolj ob sebi svoj povratni (-) in obratno, da se ne tvorijo zanke velikim presekom.

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
bferlic
Član
Član



Pridružen-a: Tor 09 Dec 2003 17:28
Prispevkov: 99
Aktiv.: 0.45
Kraj: Brezula, Rače

PrispevekObjavljeno: Pet Nov 03, 2017 9:50 am    Naslov sporočila:   Odgovori s citatom

Zanimiv projekt Very Happy

Mogoče dobiš kakšno idejo pri teh, uporabljajo senzor za merjenje vlage v zemlji: https://farmbot.io/

LP Boštjan
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
MatejK
trgovec



Pridružen-a: Čet 16 Maj 2013 17:59
Prispevkov: 98
Aktiv.: 0.74
Kraj: Maribor-Radvanje

PrispevekObjavljeno: Pet Nov 03, 2017 10:12 am    Naslov sporočila:   Odgovori s citatom

igo je napisal/a:
Umakni tipko s TX. RX in TX pelji na čip MAX485 oziroma pusti prostor zanj. Pa na jumper in 120 ohm terminacijski upor ne pozabi.

SCL, SDA in še dva pina si rezerviraj za razširitev števila izhodov (74HC595) in vhodov (74HC165). Si šele na začetku in si že na tesnem s pini.

PWM ~ pine lahko koristneje uporabiš, zato LCD priklopi na manj pomembne pine.

Zelena barva ni na PWM pinu?

Zaenkrat imaš eno RGB ledico. Ko jih boš imel več, bo moral imeti vsak kanal svoj močnostni tranzistor MosFet ali Darlington z vsaj nekaj A tokovne zmogljivosti.
Tudi analognih vhodov ne troši po nepotrebnem.

Zakaj je pod TMP senzorjem en 1k upor med GND in LCD ter tisto desno škatlo in Npn tranzistorjem?

Uporabi dva napajalnika. Enega malega 5V/250mA za pamet, vhode, male izhode (baze tranzistorjev,...) in osvetlitev LCD, močnostni napajalnik boš pa kupil, ko boš seštel tokove vseh močnostnih komponent (črpalke, ventilatorji, luči, ...). Prednost ima 24 V oziroma najprej primerjaj cene 12 V in 24 V močnostnih komponent.
(-) sponki iz obeh napajalnikov združi v ozemljeni GND zbiralki in od tam potem vlečeš (-).

Ne delaj PWM anten. (+) do porabnika in (-) od porabnika vodi po kablu od zvočnikov, ki ga pri napeljevanju sukaš okrog vzdolžne osi. Tako bo nastala "parica", ki seva najmanj motenj v okolico.
Tudi za vhodne in izhodne signale naj bodo površine zank čim manjše. Spet je najboljša parica ali tanek kabel. Ena žila tja, povratna pa pol metra stran, je recept za glavobol.
Nasploh naj ima vsak (+) iz tiskanine čim bolj ob sebi svoj povratni (-) in obratno, da se ne tvorijo zanke velikim presekom.


Hvala za vse koristne informacije. Vse skupaj je trenutno se v razvoju in je novo za mene to. Vecinoma sem delal bolj kot ne po navodilih iz spletnih vodnikov, se pravi step-by-step. Sicer mi [slovenščina je zame španska vas] brat pomaga, ki se malce spozna na elektroniko, je pa bol doma v kodah. Bi pa bilo lepo imeti nekoga z taksnim znanjem kot si ti v ekipi, ce ne druga, da ga vsaj malo povprasamo za nasvet. Danes se dobimo z ekipo(Brat, prijatelj in jaz) in bomo sli malo skozi shemo in nacrte. Imamo okoli ze 50 zbranih podobnih projektov iz katerih bomo izluščli najbolše.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran 1, 2  Naslednja
Stran 1 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 48 dni


Powered by phpBB © 2001, 2005 phpBB Group