|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
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
|
Objavljeno: Pon Okt 30, 2017 8:50 pm Naslov sporočila: Arduino UNO R3 - Gojenje rastlin v nadzorovanem okolju |
|
|
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!
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 |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.04
|
Objavljeno: Tor Okt 31, 2017 12:00 pm Naslov sporočila: |
|
|
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 |
|
|
Peter123 Član
Pridružen-a: Tor 13 Jan 2009 15:34 Prispevkov: 1366 Aktiv.: 7.34 Kraj: Lj.
|
Objavljeno: Tor Okt 31, 2017 1:59 pm Naslov sporočila: |
|
|
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 |
|
|
MatejK trgovec
Pridružen-a: Čet 16 Maj 2013 17:59 Prispevkov: 98 Aktiv.: 0.74 Kraj: Maribor-Radvanje
|
Objavljeno: Sre Nov 01, 2017 11:41 am Naslov sporočila: |
|
|
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 |
|
|
MatejK trgovec
Pridružen-a: Čet 16 Maj 2013 17:59 Prispevkov: 98 Aktiv.: 0.74 Kraj: Maribor-Radvanje
|
Objavljeno: Sre Nov 01, 2017 11:41 am Naslov sporočila: |
|
|
Vse ostalo pa se bo dopolnjevalo v prvi objavi! |
|
Nazaj na vrh |
|
|
thetilko Član
Pridružen-a: Sre 15 Jul 2009 16:03 Prispevkov: 175 Aktiv.: 0.97 Kraj: Celovec
|
Objavljeno: Čet Nov 02, 2017 9:46 am Naslov sporočila: |
|
|
Nujno dodati PID regulacijo ali pa kaksne casovnike, da se ti luc in grelec ne bosta preklapljala pri mejnih vrednostih. |
|
Nazaj na vrh |
|
|
MatejK trgovec
Pridružen-a: Čet 16 Maj 2013 17:59 Prispevkov: 98 Aktiv.: 0.74 Kraj: Maribor-Radvanje
|
Objavljeno: Čet Nov 02, 2017 10:53 am Naslov sporočila: |
|
|
Grelec in luči še niso niti v kodi dodani. Bo pa seveda vse podano zraven še pri razvoju |
|
Nazaj na vrh |
|
|
thetilko Član
Pridružen-a: Sre 15 Jul 2009 16:03 Prispevkov: 175 Aktiv.: 0.97 Kraj: Celovec
|
Objavljeno: Čet Nov 02, 2017 11:28 am Naslov sporočila: |
|
|
Samo iz radovednosti me zanima, kako se bo kontrolirala kolicina pretocene vode pri zalivanju? |
|
Nazaj na vrh |
|
|
MatejK trgovec
Pridružen-a: Čet 16 Maj 2013 17:59 Prispevkov: 98 Aktiv.: 0.74 Kraj: Maribor-Radvanje
|
Objavljeno: Čet Nov 02, 2017 5:48 pm Naslov sporočila: |
|
|
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 |
|
|
MadMax Član
Pridružen-a: Pet 09 Sep 2005 22:16 Prispevkov: 4743 Aktiv.: 21.27
|
Objavljeno: Čet Nov 02, 2017 9:52 pm Naslov sporočila: |
|
|
Sicer offtopic, a...
Meni se zdi tole enkratno zastavljena tema, pohvalno!
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 |
|
|
MatejK trgovec
Pridružen-a: Čet 16 Maj 2013 17:59 Prispevkov: 98 Aktiv.: 0.74 Kraj: Maribor-Radvanje
|
Objavljeno: Čet Nov 02, 2017 10:41 pm Naslov sporočila: |
|
|
MadMax je napisal/a: |
Sicer offtopic, a...
Meni se zdi tole enkratno zastavljena tema, pohvalno!
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 Bom upošteval nasvet 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 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 |
|
Nazaj na vrh |
|
|
MadMax Član
Pridružen-a: Pet 09 Sep 2005 22:16 Prispevkov: 4743 Aktiv.: 21.27
|
Objavljeno: Čet Nov 02, 2017 11:04 pm Naslov sporočila: |
|
|
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 |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.04
|
Objavljeno: Pet Nov 03, 2017 12:04 am Naslov sporočila: |
|
|
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 |
|
|
bferlic Član
Pridružen-a: Tor 09 Dec 2003 17:28 Prispevkov: 99 Aktiv.: 0.44 Kraj: Brezula, Rače
|
Objavljeno: Pet Nov 03, 2017 9:50 am Naslov sporočila: |
|
|
Zanimiv projekt
Mogoče dobiš kakšno idejo pri teh, uporabljajo senzor za merjenje vlage v zemlji: https://farmbot.io/
LP Boštjan |
|
Nazaj na vrh |
|
|
MatejK trgovec
Pridružen-a: Čet 16 Maj 2013 17:59 Prispevkov: 98 Aktiv.: 0.74 Kraj: Maribor-Radvanje
|
Objavljeno: Pet Nov 03, 2017 10:12 am Naslov sporočila: |
|
|
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 |
|
|
|
|
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: 75 dni
Powered by phpBB © 2001, 2005 phpBB Group
|