Sadržaj:
- Korak 1: Prikupite potrebne materijale
- Korak 2: Ožičite ploču i spojite je
- Korak 3: Kodirajte fotoelektrične i temperaturne senzore
- Korak 4: Kodirajte senzore za kišnicu i vlagu tla
- Korak 5: Kodiranje izlaza zvučnika i okvira za poruke
- Korak 6: Zaključak
Video: Niz senzora za poljoprivredu: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Projekt Jacksona Breakella, Tylera McCubbinsa i Jakoba Thalera za EF 230
Poljoprivreda je vitalni faktor proizvodnje u Sjedinjenim Državama. Usjevi se mogu koristiti u različite svrhe, od sirovina za proizvodnju odjeće, lijekova i aditiva za hranu do izravne potrošnje dijelova usjeva, najčešće klijajućeg voća. Većina usjeva u Sjedinjenim Državama uzgaja se na otvorenom, gdje se vremenski uvjeti niti temperatura ne mogu u velikoj mjeri kontrolirati. S obzirom na to koliko drastično nepovoljni vremenski uvjeti mogu utjecati na rast usjeva, što pak utječe na gospodarstvo Sjedinjenih Država, praćenje stanja polja usjeva postaje vitalno.
Naš uređaj, Poljoprivredni senzorski niz, omogućuje poljoprivrednicima da prate stanje unaprijed odabranih dijelova njihovog polja pomoću 4 senzora: senzora za kišnicu, osjetnika vlažnosti tla, osjetnika temperature i fotoelektričnog senzora. Kombinacija ovih senzora omogućuje poljoprivrednicima da na odgovarajući način planiraju godišnju proizvodnju usjeva, prilagode premalo ili previše kiše, bolje se nose s katastrofama koje mogu ubiti usjeve i uštedjeti vrijeme i probleme pri uzimanju uzoraka tla i korištenju skuplje senzorske opreme. U ovom Instructableu provest ćemo vas kroz ožičenje i kodiranje iza našeg niza senzora za poljoprivredu, tako da i vi možete napraviti svoj vlastiti.
Korak 1: Prikupite potrebne materijale
Ispod je popis potrebnih materijala koji će vam trebati za početak."
1. Arduino ploča, po mogućnosti Arduino Uno
2. Osnovna ploča
3. 1x 220 ohmski otpornik
4. Razne žice različitih boja
5. Mikro USB na USB kabel
6. Zvučnik koji se može montirati na ploču
7. Fotoelektrični senzor
8. Senzor temperature
9. Senzor kišnice
10. Senzor vlage tla
11. Računalo s instaliranim Matlab 2017 i Arduino paketom podrške (paket podrške nalazi se pod Dodaci)
Korak 2: Ožičite ploču i spojite je
Započnite ožičenjem ploče kao što je prikazano gore, ili na bilo koji drugi način koji vam najbolje odgovara. Postoje doslovno neograničeni načini na koje se ploča može ožičiti, pa točna konfiguracija doista ovisi o vama. Nakon što je ploča ožičena, počnite pričvršćivati senzore. Senzori za kišnicu, vlagu u tlu i fotoelektrični senzori analogni su izlazi, stoga provjerite jesu li spojeni na analogni dio Arduina. S druge strane, osjetnik temperature je digitalni izlaz, stoga provjerite je li spojen na dostupan digitalni ulaz na vašem Arduinu. Arduino bi trebao imati izlaze za 3.3v i 5v, stoga provjerite jesu li senzori spojeni na napone s kojima su kompatibilni.
Nakon što ste sigurni da je ploča ispravno ožičena, priključite mikro USB na USB kabel s računala u mikro USB priključak na računalu i uključite Arduino. Otvorite Matlab i, provjerite jeste li instalirali Arduino paket za podršku pod Dodaci, pokrenite naredbu "fopen (serial ('nada'))", bez ". Greška bi se trebala pojaviti, a pogreška bi trebala reći imate raspoloživo usporedbu s brojem. Pokrenite naredbu "a = arduino ('comx', 'uno')", gdje je x broj vašeg računa, za mapiranje vašeg Arduina na objekt. LED na Arduinu bi trebao brzo treptati kako bi pokazao da je spojen.
Korak 3: Kodirajte fotoelektrične i temperaturne senzore
Prije nego počnete kodirati, zabilježite gdje su vam senzori povezani na Arduinu, jer će to biti važno za naredbu readVoltage. Započnite svoj kôd postavljanjem varijable sunčeve svjetlosti jednake naredbi "readVoltage (a, 'X#')", gdje je X# port s kojim ste spojeni, a a jednostavno poziva Arduino koji ste mapirali na tu varijablu. Pokrenite if naredbu, i postavite prvi uvjet za sunčevu svjetlost <3. Postavite izlaz kao "info. TOD = 'noć" "kako biste prikazali doba dana kao strukturu, a zatim dodajte drugu naredbu s izlazom kao" info. TOD =' day '". Budući da je ovo drugi izraz, ne trebamo uvjet jer će raditi za sve ostale vrijednosti koje nisu definirane u if naredbi. Svakako dovršite if naredbu s krajem i prijeđite na programiranje senzor temperature.
Varijablu thermo postavite jednakom drugoj naredbi readVoltage, naredba je "readVoltage (a, 'X#')". U našem slučaju, temperatura je morala biti pretvorena iz jedinica napona u Celzijeve, pa je jednadžba "tempC = (termo-.5).*100" pretvorena iz napona u Celzijeve. Radi jednostavnosti, pretvorili smo temperaturu u Celzijevim stupnjevima u Fahrenheit, ali to je potpuno neobavezno.
Kôd za lijepljenje
sunčeva svjetlost = očitani napon (a, 'A1') ako je sunčeva svjetlost <3
info. TOD = 'noć'
drugo
info. TOD = 'dan'
kraj
thermo = readVoltage (a, 'A3');
tempC = (termo-.5).*100;
info.tempF = (9/5.*tempC) +32
Korak 4: Kodirajte senzore za kišnicu i vlagu tla
Kao što je navedeno u posljednjem koraku, pobrinite se da znate u koje su portove uključeni vaši senzori na Arduino ploči jer će ovaj korak učiniti manje frustrirajućim. Počnite s senzorom za kišnicu i pokrenite if naredbu. Postavite prvi uvjet za "readVoltage (a, 'X#')> 4", a izlaz postavite na "info. Rain = 'bez oborina". Dodajte elseif i postavite uvjet na naredbu readVoltage prije, ali postavite je> 2. Dodajte "&&" kako biste označili drugi uvjet koji mora biti ispunjen i postavite ga na naredbu readVoltage kao i prije te ga postavite na <= 4. Izlaz će biti "info. Rain = 'magljenje" ". Na kraju, dodajte još jedno i postavite izlaz na "info. Rain = 'downpour'". Možda ćete morati prilagoditi vrijednosti za uvjete na temelju vlažnosti okoline prostorije u kojoj radite.
Zatim započnite kôd senzora vlažnosti tla i počnite s if naredbom. Postavite uvjet if izraza na "readVoltage (a, 'X#')> 4 i dodajte izlaz" info.soil = 'dry' ". Dodajte elseif izraz i pomoću gornje naredbe readVoltage postavite ga za> 2. Dodajte "&&" i postavite drugu naredbu readVoltage za <= 4. Postavite njezin izlaz na "info.soil = 'optimalno zasićenje". Dodajte još jednu naredbu i postavite njezin izlaz na "info.soil =' flood" ", i ne zaboravite dodati kraj.
Kôd za lijepljenje
ako je očitanoVoltage (a, 'A0')> 4 info. Rain = 'bez oborina'
elseif readVoltage (a, 'A0')> 2 && readVoltage (a, 'A0') <= 4
info. Rain = 'zamagljivanje'
drugo
info. Rain = 'pljusak'
kraj
ako je readVoltage (a, 'A2')> 4
info.soil = 'suho'
elseif readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4
info.soil = 'optimalna zasićenost'
drugo
info.soil = 'poplava'
kraj
Korak 5: Kodiranje izlaza zvučnika i okvira za poruke
Izlazi za ovaj uređaj mogu se uvelike razlikovati, ali u ovom slučaju provest ćemo vas kroz izlaz zvučnika montiran izravno na uređaj i izlaz okvira za poruke koji se može vidjeti na udaljenom računalu. Naš zvučnik je dizajniran za emitiranje različitih frekvencija, što je lošije, za optimalnu temperaturu usjeva, sunčevu svjetlost, vlažnost tla i oborine. Započnite izlazni kod zvučnika s if naredbom i postavite njezin uvjet na naredbu "readVoltage (a, 'X#')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ". Dodajte istu naredbu playTone kao što je prikazano gore, ali promijenite 200 na 1000 kako biste proizveli viši, pozitivniji ton. Zatim dodajte još jedno i ponovno dodajte istu naredbu playTone, ali promijenite 1000 u 1500. Ovi različiti tonovi ukazuju na ozbiljnost situacije na terenu. Dodajte kraj kako biste dovršili if naredbu.
Naš posljednji odjeljak koda bit će izlaz koji proizvodi okvir s porukom. Izradite niz pomoću oznaka 'u zagradama i pretvorite dijelove svoje strukture u nizove pomoću naredbe "num2str (info.x)", gdje je x naziv podstrukture u info strukturi. Upotrijebite "string newline" za dodavanje novih redaka u okvir s porukom i upišite svoju poruku u tekst pod navodnicima, dodajući stvarnu vrijednost polja u niz pomoću gore spomenute naredbe num2str. Konačno, s definiranim nizom, upotrijebila je naredbu "msgbox (string)" za prikaz podataka kao okvira s porukama na vašem monitoru.
Kôd za lijepljenje
ako je readVoltage (a, 'A2')> 4 || info.tempF <32 playTone (a, 'D9', 200, 1)
inače, ako je sunčeva svjetlost> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4
playTone (a, 'D9', 1000, 3)
drugo
playTone (a, 'D9', 1500, 5)
kraj
string = ['Temp je (deg F)', num2str (info.tempF)]
string = [string newline 'Tlo je', num2str (info.soil)]
string = [string newline 'Vanjska količina oborina je', num2str (info. Kiša)]
string = [string newline 'Vrijeme dana je', num2str (info. TOD)]
msgbox (niz)
Korak 6: Zaključak
Dok se svijet i dalje sve više oslanja na sintetičke alternative proizvodima koji su prethodno ubrani iz usjeva, poljoprivreda će zasigurno dugo ostati relevantan i važan čimbenik gospodarstva. Odgovarajuće praćenje obradivog zemljišta ključno je za poljoprivrednika kako bi maksimalno iskoristio svoju žetvu, a pomoću našeg uređaja nije moguće samo daljinsko nadzirati cijelo poljoprivredno zemljište, već je to moguće učiniti na jeftin i jednostavan način instalaciju i pouzdan način. Nadamo se da se ovaj vodič pokazao informativnim i lakim za praćenje, te se nadamo da će se uređaj pokazati korisnim za sve što ga želite implementirati ili eksperimentirati.
Sretno kodiranje, Tim za niz poljoprivrednih senzora
Preporučeni:
DIY LED niz (pomoću Arduina): 7 koraka
DIY LED niz (pomoću Arduina): INTRO: Jeste li ikada poželjeli napraviti jednostavan projekt koji čini da se LED diode kreću? Ne? To je ono što sam mislio. Pa, ako ste ikada poželjeli napraviti nešto slično, na pravom ste mjestu
Niz pametnog kristalnog svjetla: 9 koraka (sa slikama)
Pametni niz svjetlosnih kristala: Kako se bliži Božić, a ja sam u potpunom istraživanju kućne automatizacije i pametnih objekata, ove sam godine odlučio pokušati napraviti pametnu, lijepo izgledajuću RGB svjetlosnu žicu. Puno sam istraživao o DIY rješenjima po webu, s jedne strane neke pr
Slanje podataka-of-IOT-bežičnog-senzora temperature i vlažnosti-senzora-u-MySQL: 41 korak
Slanje-IOT-bežičnih-senzora temperature-i-vlažnosti-osjetnika-za-slanje-u-MySQL: predstavljanje NCD-ovog dugoročnog IoT osjetnika temperature i vlažnosti. S rasponom do 28 milja i bežičnom mrežnom arhitekturom, ovaj senzor prenosi podatke o vlažnosti (± 1,7%) i temperaturi (± 0,3 ° C) u intervalima koje definira korisnik, spavajući
Metode otkrivanja razine vode Arduino pomoću ultrazvučnog senzora i Funduino senzora vode: 4 koraka
Metode otkrivanja razine vode Arduino pomoću ultrazvučnog senzora i senzora vode Funduino: U ovom projektu pokazat ću vam kako stvoriti jeftin detektor vode pomoću dvije metode: 1. Ultrazvučni senzor (HC-SR04) .2. Funduino senzor vode
(Ljetni) LED niz do svečanog (božićnog) LED niz!: 5 koraka (sa slikama)
(Ljetni) LED nizovi do svečanih (božićnih) LED nizovi !: Tako da sam još uvijek imao ove (ljetne) žice pune LED dioda koje su ležale od prošlog ljeta. Naravno, još uvijek izgledaju u redu, ali s dolaskom Božića … Pa sam odlučio transformirajte LEDs od prošlog ljeta u svečani niz šarenih LED dioda! Potrebne stvari