44
Tehničko Veleučilište u Zagrebu Stručni studij elektrotehnike Komunikacijska i računalna tehnika (KIRT) Sustav kontroliranog natapanja poljoprivrednog zemljišta Kolegij: Projektiranje i primjena ugradbenih računalnih sustava Mentor: Stipe Predanić, dipl.ing.elo Studenti: Roman Paurević Tihomir Puhalo Darko Topić Željko Vlahović Akademska godina: 2014/2015

Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

Tehničko Veleučilište u Zagrebu Stručni studij elektrotehnike

Komunikacijska i računalna tehnika (KIRT)

Sustav kontroliranog natapanja poljoprivrednog zemljišta

Kolegij: Projektiranje i primjena ugradbenih računalnih sustava Mentor: Stipe Predanić, dipl.ing.elo Studenti: Roman Paurević

Tihomir Puhalo Darko Topić Željko Vlahović

Akademska godina: 2014/2015

Page 2: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 1

Sadržaj: 1. Uvod ........................................................................................................................................................... 3

2. Arduino – Što je to ?................................................................................................................................... 4

2.1 Srce Arduino platforme ................................................................................................................................ 5

2.2 Instalacija Arduino softvera .................................................................................................................... 5

2.3 Primjer paljenja LED-ice .......................................................................................................................... 6

3. Korištene komponente u projektu ............................................................................................................. 7

3.1 Arduino Mega .......................................................................................................................................... 7

3.1.2 Analogni pinovi ................................................................................................................................. 8

3.1.3 Digitalni pinovi .................................................................................................................................. 9

3.1.4 Uporaba Arduina .............................................................................................................................. 9

3.1.5 Arduino – osnovne instrukcije .......................................................................................................... 9

3.2 LCD 16x2 ................................................................................................................................................ 10

3.2.1 Općenito o LCD-u ............................................................................................................................ 11

3.2.2 Pinovi na LCD-u ............................................................................................................................... 12

3.3 PiR senzor............................................................................................................................................... 13

3.3.1 Općenito o PiR senzoru: .................................................................................................................. 13

3.3.2 Princip rada PiR senzora ..................................................................................................................... 13

3.3.3 LHi 778 ............................................................................................................................................ 13

3.3.4 Dijelovi PiR senzora ......................................................................................................................... 14

3.3.5 Primjer rada PiR senzora na paljenju LED-ice pomoću Arduina: .................................................... 16

3.4. Seven - Segment Display ....................................................................................................................... 17

3.5 LED dioda ............................................................................................................................................... 18

3.6 MATRIX Tipkovnica ................................................................................................................................ 20

3.7 Piezo Buzzer ........................................................................................................................................... 21

3.7.1 Općenito o Piezo Buzzer-u .............................................................................................................. 21

3.7.2 Dijelovi od kojih se sastoji Piezo Buzzer .......................................................................................... 22

3.7.3 Način rada Piezo Buzzera ............................................................................................................... 22

3.7.4 Piezo „prsten“ (transduktor) .......................................................................................................... 24

3.8 DHT11 (Senzor temperature i vlage)................................................................................................. 24

3.8.1 Pinovi DHT11 senzora ..................................................................................................................... 24

3.9 Fotootpornik .......................................................................................................................................... 25

4. 3D printer i izgrađeno kućište pomoću 3D printera................................................................................. 26

4.1 3D printer .............................................................................................................................................. 26

4.1.1 Način rada 3D printera ................................................................................................................... 26

Page 3: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 2

4.2 Kućište izgrađeno pomoću 3D printera ................................................................................................. 27

5. Projekt: Sustav kontroliranog natapanja poljoprivrednog zemljišta ....................................................... 29

5.1 Shema projekta ...................................................................................................................................... 29

5.2 Dijagram toka ........................................................................................................................................ 30

5.3 Tiskana pločica (engl. PCB, Printed Circuit Board) ................................................................................ 31

5.4 Testiranje projekta ................................................................................................................................. 33

5.5 Način rada sklopa .................................................................................................................................. 33

5.6 Montiranje projekta u kućište................................................................................................................ 34

6. Programski kod ........................................................................................................................................ 35

7. Zaključak .................................................................................................................................................. 42

8. Literatura ................................................................................................................................................. 43

Page 4: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 3

1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta. To

može biti malen vrt pojedinca za uzgoj raznolike kulture za vlastitu konzumaciju ili pak za obrtnika koji ima

veliko poljoprivredno zemljište na kojem uzgaja količine koje služe za daljnju prodaju.

U današnje vrijeme brzog života gdje je vremena sve manje pokušava se raznim pomagalima, pretežno

elektroničkim, olakšati i usavršiti dodatne obveze s kojima se prosječna osoba susreće.

Upravo je nedostatak vremena u kojem bi se kvalitetno pratilo stanje sadnica uslijed promjena vremena,

došli smo do ideje o izradi sklopa kojim bi se moglo uštedjeti vrijeme i poboljšati krajnji rezultat odnosno

pravilno uzgojene sadnice i uspješna sjetva plodova.

Ovaj sustav primarno služi za kontrolu vlažnosti zemlje kako bi biljke imale konstantan priljev vlage u skladu

s potrebama. Budući da je vrijeme od bitne važnosti, ovim sustavom implementirana je kontrola vlage i to

na način da se kontinuirano provjerava postotak vlage u zraku te uspoređuje sa postotkom vlage u

površinskom sloju zemlje, u kojem se nalazi korijen biljke. Budući da ovo nije sustav koji je projektiran

primarno za jednu vrstu kulture, korisniku je omogućeno predefinirati količinu vlage potrebnu za određenu

kulturu, a i sklop je konstruiran na način da je po potrebi moguće isti proširiti za više biljaka, stoga korisnik

nema potrebu trpiti veće financijske troškove kupujući više istovjetnih sklopova, već se postojeći proširuje

po potrebi pojedinca.

Na način da korisnik sklopa predefinira količinu vlage u zraku, omogućuje mu se da vodu za natapanje

dovodi ovisno o promjeni vremenskih prilika, te nije potrebno svakodnevno trošiti vrijeme na zalijevanje, a i

izbjegava se prevelika količina vlage zbog prevelike količine vode uslijed neočekivanih padalina ili suho tlo

zbog nemogućnosti zalijevanja uslijed nepredviđenih situacija.

Također, budući da je sklop zamišljen za korisnika koji u kućanstvu obrađuje vrt za osobne potrebe, a

svjesni smo da su životinje uz vremenske neprilike veliki uzročnici uništavanja usjeva, sklop je proširen

senzorom pokreta te „zujalicom“ visoke frekvencije, koja će ukoliko se pojavi „štetočina“ proizvesti zvuk

koji će životinji biti neugodan te će se udaljiti od posjeda bez nepotrebnog ubijanja životinja, što također

pridonosi očuvanju flore i faune.

Page 5: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 4

2. Arduino – Što je to ? Arduino je open-source (znači da su sve sheme i izvorni kod programa besplatno dostupni svima za preuzimanje i modificiranje sa službene stranice Arduino okruženja: www.arduino.cc) platforma za kreiranje elektroničkih prototipova bazirana na sklopovlju i programskom paketu koji je fleksibilan i jednostavan za korištenje. Arduino je namijenjen svima koji su „zaljubljeni“ u elektroniku, tj. svima koji bi htjeli kreirati neki elektronički sklop i vidjeti da trud i volju koju su uložili u to da se isplatilo na kraju time da će sklop raditi, a uz to će steći i nova znanja. Možemo zato reći da je namijenjena svima koji žele to naučiti, npr. umjetnicima, dizajnerima, elektroničarima i svima koji su zainteresirani za elektroniku. Arduino platforma je skup elektroničkih i softverskih komponenti koje se mogu jednostavno povezati u složenije cjeline s ciljem izrade zabavnih i poučnih elektroničkih sklopova.

Slika 1. Arduino UNO

Najvažniji od Arduino platforme:

Arduino Uno

Arduino Mega

Arduino Leonardo

Arduino Nano

Arduino Due

Arduino Diecimila

Arduino Duemilanove

Page 6: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 5

2.1 Srce Arduino platforme Srce Arduina jesu mikrokontroleri. Mikrokontroler je „malo računalo“ sadržano na jednom integriranom sklopu. Arduino okruženje koristi 8-bitne mikrokontrolere koje proizvodi tvrtka ATMEL. Mikrokontroler za početak možemo zamisliti kao crnu kutiju koja ima određen broj izvoda kojima je moguće upravljati pomoću programa kojeg programer napiše na računalu i koji se onda izvodi na samom mikrokontroleru. U osnovi, sve Arduino kompatibilne pločice sastoje se od mikrokontrolera („srce“ Arduina), integriranog sklopa za komunikaciju s računalom, te perifernih elektroničkih dijelova za osiguravanje mogućnosti rada mikrokontrolera – stabilizator napona, kvarc kristal za generiranje frekvencije takta, itd.

2.2 Instalacija Arduino softvera

Slika 2. Instalacija Arduino softvera

Slika 3. Instalacija Arduino softvera

Slika 4. Instalacija Arduino softvera

Page 7: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 6

Slika 5. Instalacija Arduino softvera

Slika 6. Zavšetak instalacije Arduino softvera

2.3 Primjer paljenja LED-ice

Slika 7. Primjer paljenja LED-ice pomoću Arduina

Page 8: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 7

Slika 8. Programski kod

3. Korištene komponente u projektu

3.1 Arduino Mega

Arduino Mega 2560 je razvojna pločica koja se temelji na Atmega2560 mikroupravljaču. U ovom projektu se koristio Arduino Mega razvojno okruženje. Karakteristike Arduino Mega su navedene u tablici dolje:

Mikroupravljač Atmega2560

Radni napon 5V

Ulazni(preporučeni) napon 7-12V

Ulazni (granični) napon 6-20V

Digitalni ulazi/izlazi 54 (6 omogućuju PWM izlaz)

Analogni ulazi 16

DC struja po ulazu/izlazu 40mA

DC struja na 3.3V izlazu 50mA

Flash memorija 256KB od kojih je 8KB sačuvano za bootloadera

SRAM 8KB

EEPROM 4KB

Takt 16MHz

Tablica 1. Arduino Mega2560 karakteristike

Page 9: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 8

Sastoji se od 54 digitalnih ulaza i izlaza (eng. input/output) od kojih se 15 može upotrijebiti kao PWM izlaz, 16 analognih ulaza i 4 UART-a, 16 MHz kristalnog oscilatora koji daje radni takt mikroupravljaču, USB konekcija, konektora za napajanje, reset tipkala, dva pina za napajanje ostalih elemenata od 3,3 i 5V, tri pina za masu i AREF pin koji služi za referentni napon za analogne ulaze,4 pina za SPI komunikaciju, LED indikatora TX i RX koji služe za prikazivanje komunikacije između računala i Arduina, ON koji prikazuje stanje Arduina – ima li napajanja i LED indikatora koji je spojen sa digitalnim izlazom 13 koji služi najčešće za ispitivanje ispravnosti.

Slika 9. Arduino MEGA

Atmega2560 sadrži 256KB memorije od kojih se 8KB koristi za bootloader. Upravljački program se nalazi u flash memoriji. SRAM memorija služi za spremanje varijabli tokom rada mikroupravljača i sadrži 8KB. Mikroupravljač Atmega2560 sadrži 4KB EEPROM memorije koje su trajno pohranjene. Svaki od 54 digitalnih pinova može biti upotrebljen za ulaz ili izlaz. Rade na 5V i maksimalno 40mA te imaju interni pull-up otpor vrijednosti 20-50k Ω koje je potrebno prije korištenja uključiti. Neki od pinova imaju specijalne funkcije poput vanjskih prekida koji se mogu konfigurirati da rade na padajući ili rastući brid, tj promijeniti vrijednost. Digitalni izlazi PWM 2-13 and 44-46 omogućavaju 8-bitni PWM.

3.1.2 Analogni pinovi

Arduino ima 10-bitni AD pretvornik. To znači da će se, koristeći funkciju analogRead(), ulazni napon podijeliti između 0 i 5V u integer vrijednosti između 0 i 1023. Funkcija analogRead() prima broj pina sa kojega želimo čitati, a vraća integer vrijednosti između 0 i 1023. Ovime se dobije da je korak kvanzitacije: 5V / 1024 = 0.0049V (4.9 mV). Da bi se pročitalo sa analognog ulaza potrebno je 100us, pa je najviša brzina čitanja 10 000 puta u sekundi.

Page 10: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 9

3.1.3 Digitalni pinovi

Funkcija digitalRead() čita vrijednosti sa određenog pina i vraća HIGH ili LOW, dok funkcija digitalWrite() upisuje vrijednost HIGH ili LOW na odabrani pin. Funkcija analogWrite() daje analognu vrijednost (PWM signal) na PWM digitalne pinove. Može se koristiti za promjenu brzine motora ili za promjenu jačine osvjetljenja LED diode.

3.1.4 Uporaba Arduina

Kako bi se koristila Arduino platforma potreba je Arduino ili Arduino kompatibilna pločica,USB kabel i Arduino softver dostupan na : http://arduino.cc/en/Main/Software. Nakon što se Arduino pločica spoji sa računalom potrebno je otvoriti Arduino softver te odabrati svoju pločicu na sljedeći način: Tools/Board Svaki Arduino program mora se sastojati od minimalno dvije funkcije. Bez te dvije funkcije Arduino program ne može raditi . Prva osnovna funkcija je void setup() . Pod tom funkcijom piše se program koji se ponovi samo jednom i to kada se upali ili resetira Arduino pločica. U njoj se obično definiraju modovi nožica Arduino pločice te neki kodovi koji su potrebni za ispravan rad napisanoga koda. Druga osnovna funkcija je void loop(). Pod tom funkcijom piše se program koji će se vrtjeti dok god se ne prekine napajanje Arduino pločice ili se ista resetira. Upload programa na Arduino vrši se pritiskom na tipku "Upload" nakon čega se program kompajlira te prenese na Arduino pločicu. Kompajliranje je proces prevođenja, pretvorbe iz nekog jezičnog koda (izvornog koda) (C, Basic, Pascal ili sl.) u izvršni (mašinski) kod.

3.1.5 Arduino – osnovne instrukcije

Komentari su linije u programu koje služe kako bi se korisnici lakše snalazili. U njima se može napisati način na koji radi program, upisati razlog postojanja neke linije koda i slično. Komentari su ignorirani prilikom kompajliranja kako bi ubrzali rad mikroprocesora i smanjili veličinu programa. Jedina svrha komentara je da pomognu pri razumijevanju koda i preporučuje se što veća njihova uporaba. Komentari se mogu pisati na 2 načina. Prvi je da se prije komentara napiše "//". To znači da je taj komentar samo u jednoj liniji koda, a drugi je da se komentar stavi između "/*" i "*/". U drugoj metodi komentar je jedino između toga dvoje, te komentar može biti u više linija. #include se koristi kako bi se pridodale vanjske knjižnice u program. Ova naredba daje programu pristup velikoj grupi standardnih C knjižnica(grupa unaprijed napravljenih funkcija), te knjižnica napisanih posebno za Arduino. pinMode() je funkcija koja konfigurira odabranu nožicu kao "ulaz" ili "izlaz". Koristi se tako da se napiše pinMode() i unutar zagrade ciljana nožica i zarezom odvojena njen način rada. Primjer : pinMode(1, INPUT); Načini rada nožica mogu biti :INPUT i OUTPUT.

Page 11: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 10

INPUT je način rada neke nožice definiran kao ulaz koji se može konfigurirati naredbom pinMode(). Nožica definirana tim načinom rada prelazi u stanje velike impedancije (oko 100 MΩ). To stanje nožice korisno je za čitanje senzora pošto je potrebna vrlo mala struja kako bi se promijenilo stanje ulaza. Tipično se na nožice spaja otpornik (oko 10 kΩ) kako bi se nožica "povukla" na zemlju ili na +5 ili +3.3 V (ovisno o pločici koja se koristi). To se radi kako bi se izbjeglo ne određeno stanje nožice. OUTPUT je način rada neke nožice definiran kao izlaz koji se može konfigurirati naredbom pinMode(). Nožica definirana tim načinom rada prelazi u stanje niske impedancije. To znači da tada nožica može dostaviti struju u električni krug. ATmega mikroprocesori mogu dostaviti do 40 mA struje, te mogu napajati trošila manje potrošnje. Trošila koja zahtijevaju struju veću od 40 mA mogu se spojiti preko tranzistora ili releja. digitalWrite() je funkcija koja određuje stanje ulaza/izlaza. Ako je nožica postavljena kao izlaz njen napon bit ce postavljen na 5V ili 3.3V kada se unese HIGH ili „1“ i na 0V ili zemlju kada se unese LOW ili „0“. Koristi se tako da se napiše digitalWrite() i unutar zagrade ciljana nožica i zarezom odvojena njeno stanje. Primjer : digitalWrite (1, HIGH); digitalRead() je funkcija koja čita stanje ulaza neke nožice. Ako je nožica spojena na 0V ili zemlju digitalRead() ce davati „0“ ili LOW, ako je spojena na +5V ili + 3.3V davati ce HIGH ili „1“. Koristi se tako da se unutar zgrade napiše nožica čije stanje želimo očitati. analogRead() je funkcija koja čita napon na određenoj nožici. Arduino pločice sadrže 6 do 16 kanalni, 10 bitni analogno-digitalni pretvarač. To znaci da mogu napone između 0 i 5V pretvarati u broj vrijednosti između 0 i 1023. Potrebno je oko 100 mikrosekundi da se pročita analogni ulaz pa je maksimalna brzina čitanja oko 10 000 puta u sekundi. delay() je funkcija koja pauzira program na određeno vrijeme definirano u milisekundama. delayMicroseconds() je funkcija koja pauzira program na određeno vrijeme definirano u mikrosekundama. Maksimalan broj mikrosekunda na koje se može pauzirati program je 16383. Ako se paragram želi pauzirati na duže vrijeme potrebno je koristiti funkciju delay(). millis() je funkcija koja vrača broj milisekundi otkako je Arduino pločica počela vrtjeti trenutačni program. Ovaj broj ponovno ce brojati od nule nakon otprilike 50 dana.

3.2 LCD 16x2

LCD (Liquid Crystal Display) se koristi u svim elektroničkim projektima za prikaz statusa procesa koji želimo prikazati. Model 16x2 je danas najčešće korišten među LCD-ovima. Uz model 16x2 ima još više tipova LCD-a koji su dostupni na tržištu. Razlog zbog kojeg se koristi LCD u odnosu na druge komponente zaslona :

niska cijena

jednostavno programiranje

veliki broj prikaza karaktera, itd.

Page 12: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 11

Slika 10. LCD 16x2

3.2.1 Općenito o LCD-u 16x2 LCD ima 2 horizontalne linije koje sadrže prostor od 16 prikaza karaktera. Ima ugrađene dvije vrste registara, to su:

registar naredbe

registar podataka Registar naredbe se koristi za unos specijalnih komandi u LCD. Dok se registar podataka koristi za unos podataka u LCD. Naredba je poseban set podataka koji se koristi za davanje unutarnjih naredba za LCD kao "brisanje zaslona", prebaci na poziciju (1,1), postavljanje pokazivača i sl.

Page 13: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 12

3.2.2 Pinovi na LCD-u

Slika 11. Pinovi na LCD-u 16x2

PiN 1 (GND): To je zajednička točka, minus, tj. "masa" PiN 2 (VCC): Pin za napajanje LCD-a PiN 3 (VEE): Ovo je pin za namještanje kontrasta LCD-a, na ovaj pin se spaja promjenjivi otpornik (potenciometar) gdje jedan kraj spajamo na pin "VEE" a drugi pin na zajedničku točku ("masa") PiN 4 (RS): RS je pin zadužen za odabir registra (Register Select), Ovaj pin se koristi za odabir između dva registra: registar naredbe/registar podataka PiN 5 (R/W): R/W ili Read/Write (Pročitaj/Zapiši). Ovaj pin se koristi za operacije Read/Write.

Ako je R/W = 0, tada je aktivna operacija Write, tj. izvodi se operacija Write ("Zapiši")

Ako je R/W = 1, tada je aktivna operacija Read, tj. izvodi se operacija Read ("Pročitaj") PiN 6 (EN): Pin EN ili Enable signal ("Omogući signal"). Kada je taj pin aktivan moguće je read/write ("čitati/pisati) podatke na LCD. PiN 7-14 (DB0-DB7): Preko tih 8 pinova šaljemo podatke na LCD PiN 15 (LED+ ili A): Ovaj pin se koristi sa pinom 16 (LED- ili K) za uključenje pozadinskog osvjetljenja PiN 16 (LED- ili K): Ovaj pin se koristi sa pinom 15 (LED+ ili A) za uključenje pozadinskog osvjetljenja

Page 14: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 13

3.3 PiR senzor

PiR senzor (Passive infrared sensor) je elektronički senzor koji mjeri infracrveno (engl. infrared (IR)) zračenje od objekta koji mu se nalazi u vidljivom područku. Obično se koriste u detekciji pokreta.

Slika 12. Detektor pokreta

3.3.1 Općenito o PiR senzoru: Svi objekti sa temperaturom većom od apsolutne nule emitiraju toplinsku energiju u vidu zračenja. To zračenje najčešće nije vidljivo ljudskom oku zbog valne duljine, ali može biti detektirano od strane elektroničkog sklopa (PiR senzor). Riječ pasivan dolazi od toga da PIR sklop ne zrači nikakvu energiju radi detekcije. Rad se bazira isključivo na detekciji energije predane od drugih objekata. PIR senzor ne mjeri "toplinu" već detektira infracrveno zračenje emitirano ili reflektirano od objekta.

3.3.2 Princip rada PiR senzora Radi na principu razlike infracrvenog zračenja. Kada čovjek uđe u radijus PIR senzora, a u pozadini imamo zid, temperatura u tom trenutku poraste sa sobne temperature na temperaturu čovjeka. Senzor tada konvertira promjenu infracrvenog zračenja u vidu promjene napona (slično kao i fotootpornik) te aktivira detekciju. Često dolaze sa raznim zrcalima ili Fresnelovim lećama radi boljeg prijama infracrvenog zračenja.

3.3.3 LHi 778

Lhi 778 je zapravo fototranzistor koji radi na način:

Kada detektira pokret pošalje se signal na upravljačku elektrodu „Gate“ (G) i tranzistor provede, tj. na svojem izlazu (između Drain-a (D) i Source-a (S)) daje logičku jedinicu („1“).

Page 15: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 14

Slika 15. LHi778

Slika 16. LHI 778 senzor

3.3.4 Dijelovi PiR senzora

Slika 17. Pogled sa gornje strane

Slika 18. Prikaz sa donje strane

Delay time To je promjenjivi otpornik pomoću kojeg namještavamo koliko dugo će izlaz biti u "1", tj. namještavamo stanje u kojem će senzor na izlazu davati +3,3V. Kad se nakon 3 sekunde ponovno vrati u "0" opet je mogućnosti detektirati promjenu "topline"

Page 16: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 15

Range Pomoću ovog promjenjivog otpornika možemo podešavati osjetljivost senzora. Prema datasheet-u domet mu je od 3m-7m

Continuous trigger: Kada je ovaj "jumper" spojen (u tom položaju) izlaz će biti u "1" dok se objekt nalazi u blizini senzora. Jednom kada se objekt "makne" iz dometa senzora trigger će se prebaciti iz "1" u "0".

Signle trigger: Trigger će biti u "1" kada se detektira pokret u zoni detekcije i prebacit će se ponovno u "0" nakon 2,5 sekunde. Nakon toga će se proces ponovno početi ponavljati. Senzor neće kontinuirano pratiti kretanje u ovom načinu rada.

VCC:

Pin za napajanje senzora, na taj pin dovodimo napon +5V

GND:

Zajednička točka ("masa")

Signal:

Ovaj pin će na izlazu davati 3,3V kada je detektiran pokret, a kada pokret nije detektiran na izlazu će davati "0".

Page 17: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 16

Slika 19. Shema modula (PiR senzora-SR501)

3.3.5 Primjer rada PiR senzora na paljenju LED-ice pomoću Arduina: U ovom primjeru je pokazan način na koji radi PiR senzor. U primjeru su korišteni Arduino UNO, LED-ica i otpornik od 330Ω. Princip rada je vrlo jednostavan: Kada PiR senzor detektira pokret poslati će se signal na Arduino, te će Arduino poslati logičku jedinicu „1“ na koju je spojena dioda preko otpornika, tj. kada PiR senzor detektira pokret LED-ica će se upaliti.

Slika 20. Programski kod za primjer kako radi PiR senzor

U void setup () smo definirali pinove:

LED-ica nam je spojena na pin 13 (OUTPUT) na Arduinu zato što Arduino na taj pin šalje signal kada dobije signal sa PiR senzora

PiR sensor je spojen na Arduino na pin 2 (INPUT) i on šalje signal na Arduino kada detektira pokret

Page 18: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 17

U void loop () smo definirali:

Kada PiR senzor (pin 2) pošalje logičku „1“ na Arduino, Arduino će poslati logičku jedinicu „1“ na pin 13 (LED-ica) i LED-ica će se upaliti.

Slika 21. Primjer korištenja PiR senzora pomoću Arduina (Paljenje LED-ice)

3.4. Seven - Segment Display

7 segmentni displej je vrsta električnog sklopa za prikazivanje znamenki (za to se najčešće koriste). Sastoji

se od 7 segmentata raspoređenih tako da njihove kombinacije daju brojeve 0-9. Dodatno imamo osmi

segment koji je zapravo decimalna točka.

Sastoji se od 10 pinova (nožica), 8 za segmente a, b, c, d, e, f, dp, te 2 nožice za GND ili VCC. GND ili VCC

ovise o tipu displeja, zajednička katoda ili zajednička anoda. U prijevodu jedne palimo s pomoću „0“, a

druge s pomoću „1“.

U ovom projektu imamo dva 7 segmentna displeja čiji su pinovi za segmente a-f spojeni

paralelno (jedan s drugim). GND pinovi su posebno spojeni na digitalne pinove Arduina,

pomoću njih kontroliramo koji će segment svjetliti.

Slika 22. 7 - Segment Display

Page 19: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 18

Tablica 2. Prikaz stanja ("Zajednička katoda")

3.5 LED dioda

LED (Light-emitting diode) ili svijetleća dioda je posebna vrsta diode koja emitira svijetlost kada je propusno

polarizirana. Jako je zastupljena u elektronici, koristi se za zabavu, indikatore, npr. u semaforima i slično.

Troši puno manje struje nego prijašnje žarulje sa žarnim nitima, duži vijek trajanja, manje se grije, manjih

dimenzija.

Samih LED dioda ima jako puno vrsta, ovisno o namjeni, dolaze u raznim veličinama, bojama, jačinama i sl.

Kada se spaja na Arduino, LED-ica se obavezno mora spojiti preko otpornika!. Ako hoćemo spojiti više LED-ica na Arduino, da ne rabimo više pinova, koristimo tranzistor koji nam osigurava da Arduino ne pregori od prevelikog opterećenja.

broj a b c d e f g

0 1 1 1 1 1 1 0

1 0 1 1 0 0 0 0

2 1 1 0 1 1 0 1

3 1 1 1 1 0 0 1

4 0 1 1 0 0 1 1

5 1 0 1 1 0 1 1

6 1 0 1 1 1 1 1

7 1 1 1 0 0 0 0

8 1 1 1 1 1 1 1

9 1 1 1 0 0 1 1

Slika 24. Znamenke koje možemo prikazati

Slika 23. Spoj zajedničke anode i zajedničke katode

Page 20: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 19

Slika 25. LED-ica

Slika 26. Ulazna karakteristika LED-ice

Na slici 26. su detaljno prikazane ulazne karateristike za više LED-ica. Imamo različite LED-ice, dijelimo ih po bojama i svaka ima različit napon koljena (napon kod koje „provede“ i počne emitirati svjetlost).

Page 21: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 20

3.6 MATRIX Tipkovnica

Matrix tipkovnice se naveliko koriste u većinu uređaja gdje imamo potrebu za većim brojem tipkala. Njihova glavna prednost je ušteda pinova koji bi išli od svih tipaka prema arduinu. Za 16 obicnih tipaka nam treba 16 pinova na arduinu, a za matrix tipkovnicu 4x4 samo 10 pinova. Napravili smo znatnu uštedu od 6 pinova, što nije malo s obzirom na ograničeni broj pinova.

Slika 27. MATRiX tipkovnica

Slika 28. Način rada MATRiX tipkovnice

Princip rada je dosta jednostavan, princip možemo usporediti sa igrom „potapljanje brodova)“, gdje tražimo metu po x i y koordinati. Neke tipkovnice dolaze s ugrađenim kontrolorima pa na izlazu dobivamo informaciju o pritisnutoj tipki. U ovom projektu imamo čistu tipkovnicu s tipkama, na nama je bilo da programski riješimo prepoznavanje pritisnute tipke. Za pomoć smo pozvali gotov library za matričnu tipkovnicu te pozvali potrebne funkcije.

Page 22: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 21

3.7 Piezo Buzzer

3.7.1 Općenito o Piezo Buzzer-u

Piezo buzzer je elektronički uređaj koji se obično koristi za proizvodnju zvuka. Lagan, jednostavna konstrukcija i niska cijena, čine ga upotrebljivim u raznim projektima kao štu su indikator, zvono i slično. Piezo buzzer se temelji na inverznom principu piezo elektriciteta kojeg su 1880. godine otkrio Jacques i Pierre liCurie. To je princip generiranja elektriciteta kada imamo mehanički pritisak na određeni materijal. Takvi materijali se nazivaju piezo električni materijali. Piezo električni materijali su dostupni u prirodi ili izrađeni od strane čovjeka. Piezo keramika je materijal napravljen od strane čovjeka, posjeduje piezoelektrični efekt. Najčešče se koristi da bi se izradio disk, što je srce piezo buzzer-a. Kada je podvrgnut promjenjivom električnom polju diskovi se protežu ili stisnu i na taj način proizvode signal, tj. u skladu sa frekvencijom signala prozivode zvuk.

Slika 29. Piezo Buzzer

Slika 30. Pogled sa donje strane

Page 23: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 22

3.7.2 Dijelovi od kojih se sastoji Piezo Buzzer

Slika 31. Komponente od kojih se sastoji Piezo Buzzer

Ovo je druga strana PCB-a, koja na sebi ima potrebne komponente da bi piezo radio. Komponente su: otpornik, NPN tranzistor i zavojnica. Na zavojnicu dovodimo mali DC signal, iako nam za dobivanje zvuka trebaju oscilacije (titraji) na većem naponu da bi piezo keramički disk jače titrao. Tranzistor u kombinaciji sa otpornikom radi kao oscilator za dobivanje male amplitude oscilacija iz napajanja. Zatim je ta veličina oscilacija pojačana sa indukcijom zavojnice.

3.7.3 Način rada Piezo Buzzera

Slika 32. Shema Piezo Buzzera (način rada)

Ova shema opisuje kako Piezo Buzzer radi na vrlo jednostavan način. Ovaj krug radi drugačije nego ubičajena RC mreža. Umjesto kondenzatora imamo iniduktivnu pobudu za traženu osilaciju. Tranzistor T1 skupa sa zavojnicom tvori srce ovog strujnog kruga. Općenito se zavojnica zove buzzer zavojnica. Ona pojačava stvorene oscilacije.

Page 24: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 23

Kada sklop priključimo na napajanje, tranzistor provede te kontrolira piezo element preko zavojnice. Baza tranzistora je preko otpornika R2 spojena na središnji izvod piezo elementa. To automatski isključuje tranzistor i piezo element, otpušta bazu tranzistora i tranzistor prestaje vodit. Tranzistor se vraća u početno stanje, te se krug ponavlja, generirajući oscilacije, tj. traženi buzz efekt. Središnji izvod piezo elementa ima važnu ulogu u stvaranju oscilacija te stoga trebamo 3 izvoda. Oscilacije proizvedene na kolektoru tranzistora djeluju na samu zavojnicu te se stvara, magnetsko polje oko zavojnice i magnetska indukcija zavojnice odlazi u zasićenje. Zavojnica vraća uskladištenu energiju tijekom oscijalacija, pojačavajući generirani izmjenični signal. Ovaj pojačani izmjenični signal dolazi preko tranzistora na piezo element, koji počinje vibrirati ovisno o frekvenciji, generirajući visoki ton. Kako bismo postigli zvuk maksimalnog intenziteta, piezo "prsten" mora biti dobro sastavljen unutar svog kućišta. Za ovaj posebni slučaj piezo element mora biti montiran na podlogu kućišta sa rupom u sredini. Piezo element nemože biti montiran direktno na kućište, već između mora dolaziti gumeni prsten čiji je promjer manji 30% od piezo "prstena". Tek tada ćemo imati dobar ton koji nije ugušen.

Slika 33. Dijelovi od kojih se Piezo Buzzer sastoji (unutrašnjost)

Page 25: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 24

3.7.4 Piezo „prsten“ (transduktor)

Transduktor ("Prsten", "Pretvarač") je uređaj koji konvertira energiju iz jednog oblika u drugi.

Piezoelektrični tranduktor ("prsten") je tip elektroakustičnog transduktora ("prstena") koji konvertira električne naboje u energiju.

3.8 DHT11 (Senzor temperature i vlage)

DHT11 je senzor koji mjeri temperaturu i vlažnost. Dolazi u plastičnom pakiranju sa 4 izvoda, radi sa naponima od 3 do 5,5V. Možete mjeriti temperaturu od 50°C sa točnošću od ±2°C te vlaažnost od 20-95% sa točnošću od ±5%. Koristimo 3 pina od njih 4, 2 za napajanje te jedan za očitivanje vrijednosti.

Slika 34. DHT_11

3.8.1 Pinovi DHT11 senzora

VCC (Power supply) – na ovaj pin dovodimo napajanje od 3 do 5,5V

Data (Serial Data Output) – sa njega smo dovodili signal na Arduino (pin sa kojeg smo očitavali vrijednost DHT11 senzora)

NC (Not Connected) – pin koji se ne spaja na ništa

GND (Ground) – zajednička točka („masa“)

Page 26: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 25

Slika 35. Pinovi DHT11 senzora

3.9 Fotootpornik

Fotootpornik (eng. photoresistor ili light dependent resistor - LDR) je otpornik, čiji se električni otpor smanjuje s povećanjem intenziteta ulazne svjetlosti. Fotootpornik se izrađuje od poluvodiča sa velikim električnim otporom. Ako svjetlo padne na fotootpornik, sa dovoljno velikom frekvencijom (granična frekvencija), poluvodič ce upiti fotone svjetlosti i izbaciti elektrone, koji stvaraju električnu struju, u zatvorenom strujnom krugu. Poluvodič može biti sa primjesama ili bez. Poluvodiči bez primjesa imaju svoje vlastite nosioce naboja i nisu učinkoviti poluvodiči, kao na primjer silicij. Poluvodiči bez primjesa imaju dostupne elektrone samo u određenom energetskom području i zato fotoni moraju imati dovoljno energije da pobude elektrone u cijelom spektru. Poluvodiči sa primjesama imaju nečistoce u sebi ili primjese, koji povećavaju provodljivost elektrona, tako da fotoni mogu izbaciti elektrone i sa nižom energijom. Siliciju se obično dodaje fosfor, za povećanje električne provodljivosti.

Slika 36. Fotootpornik

Page 27: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 26

4. 3D printer i izgrađeno kućište pomoću 3D printera

4.1 3D printer Trodimenzionalni ispis (engl. 3D printing) način je brze izrade prototipa kojim se uređajima zasnovanima na patentiranoj 3D tehnologiji Massachusetts Institute of Technology (MIT) „ispisuju”, tj. direktno iz 3D CAD programa izrađuju fizički predmeti u prostoru. Trodimenzionalni ispis, a naročito ispis u boji daje inženjerima razvoja i dizajnerima mogućnost jasnog uvida u tijek postupka dizajniranja, mogućnost isticanja raznih parametara, mogućnost lakog i ranog uočavanja mogućih grešaka i njihovog brzog i učinkovitog ispravljanja. Koristeći se ovim mogućnostima 3D-pisača znatno se skraćuje vrijeme izrade i povisuje razina kvalitete modela i prototipa.

4.1.1 Način rada 3D printera

3D-pisači su mini sustavi s numeričkim upravljanjem (NC) u tri osi (x, y i z). Sistemski softver najprije konvertira 3D CAD nacrt u u poprečne presjeke, odnosno tanke slojeve debljine 0,089–0,203 mm, što se bira ovisno o točnosti koja se želi postići. Nakon toga se predmet (model) izrađuje na taj način da se u radnom prostoru u programiranim tankim slojevima nanosi specijalni prah i učvršćuje vezivnim sredstvom koje se nanosi na prah („ispisuje”) standardnim komponentama HP-ovog pisača počevši s najdonjim slojem. Takav „ispis” može biti u monokromatski ili u boji. Odabirom vrste praha i punjenjem modela različitim komponentama (učvršćivačima) korisnici mogu kreirati predmete različitih svojstava ovisno o tehničkim zahtjevima koje model treba zadovoljiti (čvrstoća, elastičnost, temperaturna izdržljivost, i sl.)

Page 28: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 27

4.2 Kućište izgrađeno pomoću 3D printera

Slika 37. Podloga kućišta

Slika 38. Kućište (kutija) u izradi

Page 29: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 28

Slika 39. Kućište (kutija) u izradi

Slika 40. Prednja strana lućišta

Page 30: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 29

5. Projekt: Sustav kontroliranog natapanja poljoprivrednog zemljišta

5.1 Shema projekta Shema projekta je rađena u programu Eagle.

Slika 41. Shema projekta

Page 31: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 30

5.2 Dijagram toka

Slika 42. Dijagram toka

Page 32: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 31

5.3 Tiskana pločica (engl. PCB, Printed Circuit Board)

PCB je rađena u programu Sprint Layout.

Slika 43. Pogled sa gornje strane

Slika 44. Pogled sa donje strane

Bijela žica sa donje strane prikazuje kratkospojnik, tj. kako nismo nikako mogli u programu spojiti te dvije točke, nakon što smo napravili pločicu ručno smo spojili točke žicom

Page 33: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 32

Slika 45. Prednja strana pločice nakon izrade

Slika 46. Stražnja strana pločice nakon izrade

Page 34: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 33

5.4 Testiranje projekta

Slika 47. Testiranje projekta

5.5 Način rada sklopa

Kada sklop priključimo na napajanje na LCD-u i 7 seg. display-u se ispiše trenutna vrijednost temperature i vlage. Nakon toga 5 sekundi provjeravamo dali je pritisnuta tipka '*' ili '0', ako ništa nije pritisnuto vraćamo se na ponovni ispit podataka. Ukoliko je pritisnuta tipka '0' pokrećemo Reset Arduina, a ukoliko '*' ulazimo u namještanje parametara. Kada smo ušli u funkciju namještavanje parametra imamo 3 odabira: '1', '3' ili '#'. S pomoću '1' smanjujemo temperaturu, s '3' povećavamo temperaturu, a s '#' izlazimo iz funkcije namještavanje parametra. Tada program opet osvježavanja vrijednosti te ih ispisuje. Tokom osvježavanja vrijednosti program također nadgleda količinu sjvetlosti putem fotootpornika i uspoređuje ih s namještenim parametrima. Ukoliko je stvarna temperatura manja ili jednaka namještenoj i ukoliko je pao mrak pumpa za vodu se pali, u protivnom stoji ugašena. Sklop je osmišljen na način da natapa zemlju kad vani nije prevruće i kad nema sunca. Također pored ove funkcije sklop pomoću PIR senzora prati dali se netko ili nešto miče po vrtu (referiramo se na životinje/štetočine). Ukoliko detektira prisustvo pali buzzer koji bi ih trebao otjerati.

Page 35: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 34

5.6 Montiranje projekta u kućište

Slika 48. Prikaz elektronike unutar kutije

Slika 49. Projekt montiran u kućištu

Page 36: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 35

Slika 50. Projekt u kučištu tijekom rada

6. Programski kod #include <Keypad.h> //library za matrix tipkovnicu #include <LiquidCrystal.h> //library za LCD display #include "DHT.h" //library za DHT senzor LiquidCrystal lcd(43, 45, 47, 49, 52, 53);//definiramo gdje su spojeni pinovi za LCD #define DHTTYPE DHT11 // DHT 11 tip senzora #define DHTPIN A0 // DHT spojen na A0 #define LD1 13 #define LD2 12 #define BUZZ 11 const int pbIn = 5; //potrebno za definiranje interrupt volatile int state = LOW; //potrebno za definiranje interrupt DHT dht(DHTPIN, DHTTYPE); // Initialize DHT sensor for normal 16mhz Arduino byte digit0 = 38; // prvi 7 seg byte digit1 = 36; // drugi 7 seg byte sevenSegmentPins[] = 22, 24, 26, 28, 30, 32, 34; //potrebno definirati gdje su spojeni segmenti a-g bez dp byte sevenSegment[12][7] =

Page 37: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 36

1, 1, 1, 1, 1, 1, 0 , // = 0 0, 1, 1, 0, 0, 0, 0 , // = 1 1, 1, 0, 1, 1, 0, 1 , // = 2 1, 1, 1, 1, 0, 0, 1 , // = 3 0, 1, 1, 0, 0, 1, 1 , // = 4 1, 0, 1, 1, 0, 1, 1 , // = 5 1, 0, 1, 1, 1, 1, 1 , // = 6 1, 1, 1, 0, 0, 0, 0 , // = 7 1, 1, 1, 1, 1, 1, 1 , // = 8 1, 1, 1, 0, 0, 1, 1 , // = 9 0, 1, 1, 0, 1, 1, 1 , // = H 0, 0, 0, 1, 1, 0, 1 // = c ;//kombinacije za ispis brojeva 0-9 te slova H i c int temp = 20; //referentan temp const byte ROWS = 4; //4 reda const byte COLS = 4; //4 stupca char keys[ROWS][COLS] = '1', '2', '3', 'A', //model tipkovnice '4', '5', '6', 'B', //model tipkovnice '7', '8', '9', 'C', //model tipkovnice '*', '0', '#', 'D' //model tipkovnice ; byte rowPins[ROWS] = 10, 9, 8, 7; //redovi 0 do 4 byte colPins[COLS] = 6, 5, 4, 3; //stupci 0 to 4 //moguce je spojiti tipkovnicu 4x4, iako koristimo 4x3 //razlika je u jednoj žici više koja je zadužena za zadnji stupac(A-D) te ukoliko koristimo 4x4 tu zicu //spojimo na pin 3 float t, h, f, hi; long ocitajVrijeme; int RES_PHOTO; Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //potrebno za definiranje tipkovnica void setup() Serial.begin(9600); //ispisivanje na monitoru PC-a dht.begin();//"pokretanje" DHT senzora pinMode (LD1, OUTPUT);//definiranje LD1 kao "izlaza" pinMode (LD2, OUTPUT);//definiranje LD2 kao "izlaza" pinMode (BUZZ, OUTPUT);//definiranje LD1 kao "izlaza" lcd.begin(16, 2);//bez ove naredbe LCD nece nista ispisivati, zaduzeno za "pokretanje" LCD-a lcd.clear(); //opreza radi brisemo sve sa LCD-a pinMode(digit0, OUTPUT);//definiranje digit0 kao "izlaza" pinMode(digit1, OUTPUT);//definiranje digit1 kao "izlaza" for (int i = 0; i < 7; i++) //za rad 7 segment displaya pinMode(sevenSegmentPins[i], OUTPUT);

Page 38: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 37

//keypad.addEventListener(keypadEvent); attachInterrupt(pbIn, IRsenzor1, HIGH); // interupt ocitajVrijeme = 0; void IRsenzor1() //funkcija za IR senzor, inform. sa senzora se šalje na pin 2(tu je definiran inter 0 za MEGA) //kada na pin dode promjena stanja state = !state;//detektira promjenu stanja (0>1) digitalWrite(BUZZ, state);//upali led/buzz kada vidis promjenu na IR senzoru void segmentWrite(byte digit) //dodatna funkcija za ispis na 7 seg display //definiramo koji ce se od segmenata upaliti a-g byte pin = 22; for (byte i = 0; i < 7; ++i) digitalWrite(pin, sevenSegment[digit][i]); pin = pin + 2; void twoSegmentWrite(int digit) //dodatna funkcija za ispis na 7 seg display //odabiremo koji ce se 7 seg display upaliti int digit_1 = digit / 10; int digit_2 = digit % 10; digitalWrite(digit0, LOW); //enable digit0 segmentWrite(digit_1); delay(10); digitalWrite(digit0, HIGH); //disable digit0 digitalWrite(digit1, LOW); //enable digit1 segmentWrite(digit_2); delay(10); digitalWrite(digit1, HIGH); //disable digit1 void twoSegmentWriteWord (int digit) //dodatna funkcija za ispis na 7 seg display digitalWrite(digit0, HIGH); //disable digit0 digitalWrite(digit1, LOW); //enable digit1

Page 39: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 38

segmentWrite(digit); delay(10); digitalWrite(digit1, LOW); //enable digit1 void IspisSeg(float h, float ta) //glavna funkcija za ispis na 7 seg display twoSegmentWriteWord(10);//ispisuje slovo H for (int t = 0; t <= 99; t++) //ispisujemo vise puta za redom kako bi bilo oku vidljivo, inace bi se tolko brzo //izvrsila naredba da mi to nebi niti primjetili twoSegmentWriteWord(10); twoSegmentWrite(h);//ispisuje vlaznost for (int t = 0; t <= 99; t++) //ispisujemo vise puta za redom kako bi bilo oku vidljivo, inace bi se tolko brzo //izvrsila naredba da mi to nebi niti primjetili twoSegmentWrite(h); twoSegmentWriteWord(11);//ispisuje slovo c for (int t = 0; t <= 99; t++) //ispisujemo vise puta za redom kako bi bilo oku vidljivo, inace bi se tolko brzo //izvrsila naredba da mi to nebi niti primjetili twoSegmentWriteWord(11); twoSegmentWrite(ta);//ispisuje temperaturu for (int t = 0; t <= 99; t++) //ispisujemo vise puta za redom kako bi bilo oku vidljivo, inace bi se tolko brzo //izvrsila naredba da mi to nebi niti primjetili twoSegmentWrite(ta); void ispisNaLCD(float h, float t) //funkcija za ispis temp i vlage na LCD lcd.setCursor (0, 0);//pozicioniramo se na koordinate 0,0 lcd.print ("Temp: "); lcd.print(t); lcd.print("'"); lcd.setCursor (0, 1);//pozicioniramo se na koordinate 0,1 lcd.print ("Vlaga: ");

Page 40: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 39

lcd.print(h); lcd.print("%"); /* void keypadEvent(KeypadEvent eKey) //funkcija za posebne dogadaje na tipkovnici switch (keypad.getState()) case PRESSED: Serial.print("Pressed: "); Serial.println(eKey); switch (eKey) // case '*': namjestiParam(); // case '#': break; //default: ; */ void namjestiParam() //funkcija za namjestanje temperature Serial.println ("namjestite temperaturu"); lcd.clear(); lcd.setCursor (0, 0); lcd.print ("Ref. temp. je:"); lcd.print (temp); lcd.setCursor (0, 1); lcd.print("Namjestite temp:"); delay(2000); while (keypad.getKey() != '#') //ulazak u do while petlju if (keypad.getKey () == '1') //ako pritisnemo 1, temperatura se smanjuje temp--; //smanjuje se temperatura za jedan dolje lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp je: "); lcd.print (temp); lcd.print ("'"); lcd.setCursor (0, 1); lcd.print ("# za kraj!"); Serial.println ("Temperatura je: "); //ispis na Monitoru Serial.println (temp); //varijabla u koju se sprema podatak o temperaturi i ispisuje se na ekranu else if (keypad.getKey() == '3') //ako pritisnemo broj 3, temperatura raste temp++; //temperatura se povećava, za jedan gore lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp je: "); lcd.print (temp); lcd.print ("'"); lcd.setCursor (0, 1); lcd.print ("# za kraj!"); Serial.println ("Temperatura je: "); //ispis vrijednosti temperature na monitoru

Page 41: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 40

Serial.println (temp); //varijabla u koju se sprema podatak o temperaturi i ispisuje se na ekranu //kraj do while petlje, ispituje se uvjet, ako je na tipkovnici pritisnuto #, petlja se prekida i program izlazi iz petlje Serial.println ("Namjestena temperatura je "); //ispisuje se na ekranu vrijednost temperature koju smo zadnju podesili Serial.println (temp); //ispisuje se vrijednost temperature koju smo u varijabli temp zadnju podesili lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Namj. temp je: "); lcd.setCursor (0, 1); lcd.print (temp); lcd.print ("'"); delay (2000); lcd.clear(); return; void fotoR(int RES_PHOTO) //funkcija za provjeru razine svjetlosti(LUX), podatak dobivamo od fotootpornika koji je spojen na analogni ulaz if (t >= temp && RES_PHOTO <= 100) //ako je ocitana temp veca ili jednaka od namjestene temp i ako je LUX manji ili jednak od 100 digitalWrite (LD1, HIGH); digitalWrite (LD2, LOW); else if (t <= temp && RES_PHOTO <= 100) //ako je ocitana temp manja ili jednaka od namjestene temp i ako je LUX manji ili jednak od 100 digitalWrite (LD1, LOW); digitalWrite (LD2, HIGH); else //ako nista od prijasnjih uvjeta nije istina ona ugasi LD1 i LD2 digitalWrite (LD1, LOW); digitalWrite (LD2, LOW); void ispisNaSerialM(float t, float h, float hi, int RES_PHOTO) //funkcija za ispis parametara na SeralMonitor, vidljivo na racunalu uz USB konekciju Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("Heat index: "); Serial.print(hi); Serial.print(" *F\t");

Page 42: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 41

Serial.print("LUX: "); Serial.println(RES_PHOTO); void loop() //to je void main kod C-a, glavni program :) if (millis() > ocitajVrijeme) h = dht.readHumidity();//spremamo ocitanu vlaznost t = dht.readTemperature();//spremamo ocitanu temp f = dht.readTemperature(true); hi = dht.computeHeatIndex(f, h);//spremamo heat index RES_PHOTO = analogRead(A1); //Fotootpornik na portu Analog_1; ispisNaSerialM(t, h, hi, RES_PHOTO); //ispisuje podatke na Serial port, vidljivo na racunalu //pozivanje funkcija za ispis na 7 seg, LCD, ocitanje fototpornika IspisSeg(h, t); ispisNaLCD(h, t); fotoR(RES_PHOTO); ocitajVrijeme = millis() + 5000;//svakih 5 sec ulazimo u ovaj if uvjet if (keypad.getKey() == '*') //ukoliko pritisnemo '*' na tipkovnici pozovi "namjestiParam()" funkciju namjestiParam();

Page 43: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 42

7. Zaključak Cilj samog projekta bila je zabava i kroz zabavu je izrađeno nešto korisno, što uvelike može pomoći poljoprivredniku i svakom tko ima vlastiti vrt. Kako se vrt mora natapati u sušnim mjesecima, potrebno je navodnjavanje, ovim sklopom oslobođen je poljoprivrednik brige o navodnjavanju. Projekt je napravljen na način, da korisnik unese vrijednost temperature iznad i ispod koje se pale / gase motori za navodnjavanje vrta. Korisnik bi imao real-time prikaz vlage i temperature i sklop bi obavljao sve umjesto njega što se tiče navodnjavanja vrta. Također je dodana zujalica i „senzor pokreta“ (PiR senzor) kako bi izbjegli štete od raznih nametnika. Zašto smo se odlučili za ovu temu projekta? Poljoprivrednika smo oslobodili nepotrebnih djelatnosti i time mu uštedjeli vrijeme. Drugi razlog je novac, sklop nije skup i lako je realiziran pomoću Arduino platforme uz dodatnu elektroniku. U projektu smo koristili Arduino radi njegove jednostavnosti i dostupnih kodova. Osnovna ideja sklopa je napravljena, ima mjesta da se sklop poboljša, dodaju još neke stvari (ovisno o ideji) i da se sklop sam po sebi nadogradi. Projekt nas je potaknuo da iskoristimo prijašnja znanja koja smo stekli tijekom studiranja i primjenimo na konkretnom primjeru. Uz malu modifikaciju projekt bi se mogao naći na tržištu. Iskušali smo se u radu u timu, naučili kako raspodijeliti podjednako obaveze i stvorili korisnu stvar.

Page 44: Sustav kontroliranog natapanja poljoprivrednog zemljišta · PPURS 2014/2015 3 1. Uvod Projekt se bavi izradom jednostavnog sklopa kojim se kontrolira natapanje poljoprivrednog zemljišta

PPURS 2014/2015 43

8. Literatura http://hr.wikipedia.org/wiki/Trodimenzionalni_ispis http://hr.wikipedia.org/wiki/Fotootpornik http://pcbheaven.com/wikipages/How_Key_Matrices_Works/ http://www.engineersgarage.com/insight/how-piezo-buzzer-works?page=6 http://www.electronics.dit.ie/staff/tscarff/DT089_Physical_Computing_1/LEDS/Leds.htm http://www.homemade-circuits.com/2011/12/how-to-make-simple-piezo-buzzer-circuit.html http://e-elektro.blogspot.com/2014/06/sto-je-arduino.html http://electronica4u.blogspot.com/2012/03/how-16x2-alphanumeric-lcd-works.html http://www.microcontroller-project.com/16x2-lcd-working.html http://embedded-lab.com/blog/?p=5453 http://en.wikipedia.org/wiki/Seven-segment_display http://www.electrodragon.com/w/index.php?title=HC-SR501_PIR_Motion_Sensor_(Passive_Infrared_Sensor) https://tanglingtech.wordpress.com/2013/05/03/hc-sr501-passive-infrared-sensor/ http://www.mysensors.org/build/motion http://en.wikipedia.org/wiki/Passive_infrared_sensor http://www.excelitas.com/downloads/dts_lhi778_lhi878_pyd1388.pdf