Turinys:

Žemės ūkio jutiklių rinkinys: 6 žingsniai
Žemės ūkio jutiklių rinkinys: 6 žingsniai

Video: Žemės ūkio jutiklių rinkinys: 6 žingsniai

Video: Žemės ūkio jutiklių rinkinys: 6 žingsniai
Video: Очаровательный заброшенный замок 17 века во Франции (полностью замороженный во времени на 26 лет) 2024, Liepa
Anonim
Žemės ūkio jutiklių masyvas
Žemės ūkio jutiklių masyvas

Jackson Breakell, Tyler McCubbins ir Jakob Thaler projektas EF 230

Žemės ūkis yra gyvybiškai svarbus JAV gamybos veiksnys. Augalai gali būti naudojami įvairiems tikslams, pradedant drabužių, farmacijos ir maisto priedų gamybos žaliavomis, baigiant tiesioginiu pasėlių dalių, dažniausiai daiginančių vaisių, vartojimu. Dauguma pasėlių JAV auginami lauke, kur oro sąlygų ar temperatūros negalima plačiai kontroliuoti. Atsižvelgiant į tai, kaip drastiškai nepalankios oro sąlygos gali paveikti pasėlių augimą, o tai savo ruožtu daro įtaką Jungtinių Valstijų ekonomikai, labai svarbu stebėti pasėlių lauko sąlygas.

Mūsų prietaisas, žemės ūkio jutiklių rinkinys, leidžia ūkininkams stebėti iš anksto parinktų savo lauko dalių būklę, naudojant 4 jutiklius: lietaus vandens jutiklį, dirvožemio drėgmės jutiklį, temperatūros jutiklį ir fotoelektrinį jutiklį. Šių jutiklių derinys leidžia ūkininkui tinkamai suplanuoti sezono derlių, prisitaikyti prie per mažo ar per didelio lietaus, geriau susidoroti su nelaimėmis, kurios gali nužudyti pasėlius, ir sutaupyti laiko bei rūpesčių imant dirvožemio mėginius ir naudojant brangesnę jutiklių įrangą. Šioje instrukcijoje mes supažindinsime jus su laidais ir kodavimu, esančiu už mūsų žemės ūkio jutiklių masyvo, kad ir jūs galėtumėte sukurti savo.

1 žingsnis: surinkite reikalingas medžiagas

Surinkite reikalingas medžiagas
Surinkite reikalingas medžiagas

Žemiau yra reikalingų medžiagų, kurių jums reikės norint pradėti, sąrašas"

1. „Arduino Board“, geriausia „Arduino Uno“

2. Pagrindinė duonos lenta

3. 1x 220 omų rezistorius

4. Įvairių spalvų laidai

5. Micro USB - USB kabelis

6. Prie lentos montuojamas garsiakalbis

7. Fotoelektrinis jutiklis

8. Temperatūros jutiklis

9. Lietaus vandens jutiklis

10. Dirvožemio drėgmės jutiklis

11. Kompiuteris su įdiegtu „Matlab 2017“ir „Arduino“palaikymo paketu (palaikymo paketą rasite prieduose)

2 žingsnis: prijunkite plokštę ir prijunkite

Prijunkite plokštę ir prijunkite
Prijunkite plokštę ir prijunkite

Pradėkite prijungti plokštę, kaip parodyta aukščiau, arba bet kokiu jums tinkamiausiu būdu. Yra pažodžiui neribotas būdų, kaip plokštė gali būti prijungta, todėl tiksli konfigūracija tikrai priklauso nuo jūsų. Prijungę plokštę, pradėkite prijungti jutiklius. Lietaus vandens, dirvožemio drėgmės ir fotoelektriniai jutikliai yra analoginiai išėjimai, todėl įsitikinkite, kad jie prijungti prie analoginio „Arduino“skyriaus. Kita vertus, temperatūros jutiklis yra skaitmeninis išėjimas, todėl įsitikinkite, kad jis prijungtas prie turimo „Arduino“skaitmeninio įėjimo. „Arduino“turi turėti 3,3 V ir 5 V išėjimus, todėl įsitikinkite, kad jutikliai yra prijungti prie įtampos, su kuria jie yra suderinami.

Įsitikinę, kad plokštė prijungta teisingai, prijunkite „Micro USB“prie USB kabelio iš kompiuterio prie kompiuterio „Micro USB“prievado ir įjunkite „Arduino“. Atidarykite „Matlab“ir įsitikinkite, kad prieduose įdiegėte „Arduino“palaikymo paketą, paleiskite komandą „fopen (serial ('nada'))" be. "Turėtų pasirodyti klaida, o klaida turėtų pasakyti jūs turite galimą komportą su skaičiumi. Vykdykite komandą "a = arduino ('comx', 'uno')", kur x yra jūsų komporto numeris, kad susietumėte savo Arduino su objektu. Šviesos diodas ant Arduino turėtų greitai mirksėti, kad parodytų, jog yra prijungtas.

3 žingsnis: koduokite fotoelektrinius ir temperatūros jutiklius

Užkoduokite fotoelektrinius ir temperatūros jutiklius
Užkoduokite fotoelektrinius ir temperatūros jutiklius

Prieš pradėdami koduoti, užsirašykite, kur yra prijungti jūsų jutikliai „Arduino“, nes tai bus svarbu komandai readVoltage. Pradėkite kodą, nustatydami kintamą saulės spindulį lygų komandai „readVoltage (a, 'X#')“, kur X# yra prievadas, prie kurio esate prisijungę, o a tiesiog skambina „Arduino“, kurį susiejote su tuo kintamuoju. Pradėkite if, ir nustatykite pirmąją saulės šviesos sąlygą <3. Nustatykite išvestį kaip "info. TOD = 'night'", kad paros laikas būtų rodomas kaip struktūra, tada pridėkite kitą teiginį su išvestimi kaip "info. TOD = ' diena "". Kadangi tai yra kitas teiginys, mums nereikia sąlygos, nes ji veiks su visomis kitomis reikšmėmis, neapibrėžtomis teiginyje. Įsitikinkite, kad sakinį if baigsite pabaiga ir pereisite prie programavimo temperatūros jutiklis.

Nustatykite kintamąjį termo lygų kitai readVoltage komandai, komanda yra "readVoltage (a, 'X#')". Mūsų atveju temperatūra turėjo būti perskaičiuota iš įtampos vienetų į Celsijų, taigi lygtis "tempC = (termo-.5).*100" konvertuoti iš įtampos į Celsijų. Kad būtų lengviau, temperatūrą Celsijaus laipsniu pavertėme Farenheitu, tačiau tai yra neprivaloma.

Įklijavimo kodas

saulės šviesa = skaityti įtampą (a, 'A1'), jei saulės šviesa <3

info. TOD = 'naktis'

Kitas

info. TOD = 'diena'

galas

termo = skaitymo įtampa (a, 'A3');

tempC = (termo-.5).*100;

info.tempF = (9/5.*tempC) +32

4 žingsnis: koduokite lietaus vandens ir dirvožemio drėgmės jutiklius

Koduokite lietaus vandens ir dirvožemio drėgmės jutiklius
Koduokite lietaus vandens ir dirvožemio drėgmės jutiklius

Kaip nurodyta paskutiniame žingsnyje, įsitikinkite, kad žinote, prie kokių prievadų yra prijungti jūsų jutikliai „Arduino“plokštėje, nes tai padarys šį žingsnį daug mažiau varginantį. Pradėkite nuo lietaus vandens jutiklio ir pradėkite teiginį. Nustatykite pirmąją sąlygą "readVoltage (a, 'X#')> 4" ir nustatykite jos išvestį į "info. Rain = 'be kritulių". Pridėkite „elseif“ir prieš tai nustatykite jos sąlyginę reikšmę komandai „readVoltage“, bet nustatykite ją> 2. Pridėkite „&&“, kad nurodytumėte kitą sąlygą, kuri turi būti įvykdyta, ir nustatykite ją kaip readVoltage komandą, kaip anksčiau, ir nustatykite ją į <= 4. Išvestis bus „info. Rain = 'misting'". Galiausiai pridėkite kitą ir nustatykite jo išvestį į "info. Rain = 'downpour'". Jums gali tekti koreguoti sąlygų vertes, atsižvelgiant į kambario, kuriame dirbate, aplinkos drėgmę.

Tada pradėkite dirvožemio drėgmės jutiklio kodą ir pradėkite nuo teiginio. Nustatykite „if“teiginio sąlygą į „readVoltage (a, 'X#')> 4 ir pridėkite išvestį„ info.soil = 'dry' “. Pridėkite„ elseif “teiginį ir naudodami aukščiau pateiktą„ readVoltage “komandą nustatykite> 2. Pridėkite „&&“ir nustatykite kitą komandą „readVoltage“<= 4. Nustatykite jo išvestį į „info.soil = 'optimal saturation'". Pridėkite kitą teiginį ir nustatykite jo išvestį į „info.soil = 'flood' “, ir nepamirškite pridėti pabaigos.

Įklijavimo kodas

jei skaitoma Įtampa (a, 'A0')> 4 informacija. Lietus = 'be kritulių'

elseif readVoltage (a, 'A0')> 2 && readVoltage (a, 'A0') <= 4

info. Lietus = 'migla'

Kitas

info. Lietus = 'lietus'

galas

jei skaitoma Įtampa (a, 'A2')> 4

info.soil = 'sausa'

elseif readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

info.soil = 'optimalus sodrumas'

Kitas

info.soil = 'potvynis'

galas

5 veiksmas: garsiakalbio ir pranešimų dėžutės išvesties kodavimas

Garsiakalbio ir pranešimų dėžutės išvesties kodavimas
Garsiakalbio ir pranešimų dėžutės išvesties kodavimas

Šio įrenginio išvestys gali labai skirtis, tačiau šiuo atveju mes padėsime jums per garsiakalbio išvestį, sumontuotą tiesiai prie įrenginio, ir pranešimų dėžutės išvestį, kurią galima peržiūrėti nuotoliniame kompiuteryje. Mūsų garsiakalbis sukurtas taip, kad išvestų skirtingus dažnius, o tai reiškia, kad blogiau, kad būtų optimali pasėlių temperatūra, saulės šviesa, dirvožemio drėgmė ir krituliai. Garsiakalbio išvesties kodą pradėkite nuo teiginio if ir nustatykite jo sąlygą į komandą „readVoltage (a, 'X#')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ". Pridėkite tą pačią „playTone“komandą, kaip parodyta aukščiau, bet pakeiskite 200 į 1000, kad gautumėte aukštesnį ir teigiamą toną. Tada pridėkite kitą ir dar kartą pridėkite tą pačią „playTone“komandą, bet pakeiskite 1000 į 1500. Šie skirtingi tonai rodo lauko padėties sunkumą. Būtinai pridėkite pabaigą, kad užbaigtumėte savo teiginį.

Paskutinė mūsų kodo dalis bus išvestis, sukurianti pranešimų laukelį. Sukurkite eilutę naudodami skliausteliuose esančius ženklus ir konvertuokite savo struktūros dalis į eilutes naudodami komandą „num2str (info.x)“, kur x yra informacijos struktūros posistemės pavadinimas. Naudokite „string newline“, kad į pranešimų laukelį įtrauktumėte naujas eilutes, ir įveskite pranešimą tekste naudodami kabutes, pridėdami tikrąją lauko reikšmę į eilutę naudodami pirmiau minėtą komandą num2str. Galiausiai, apibrėždami eilutę, naudokite komandą „msgbox (string)“, kad duomenys būtų rodomi monitoriuje kaip pranešimų dėžutė.

Įklijavimo kodas

jei skaitomaĮtampa (a, 'A2')> 4 || info.tempF <32 playTone (a, 'D9', 200, 1)

elseif saulės spinduliai> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

playTone (a, „D9“, 1000, 3)

Kitas

„playTone“(a, „D9“, 1500, 5)

galas

string = ['Temperatūra yra (laipsnių F)', num2str (info.tempF)]

string = [string newline 'The ground is', num2str (info.soil)]

string = [eilutė nauja eilutė 'Krituliai lauke', num2str (info. Lietus)]

string = [string newline 'Dienos laikas yra', num2str (info. TOD)]

„msgbox“(eilutė)

6 žingsnis: Išvada

Išvada
Išvada

Nors pasaulis ir toliau vis labiau remiasi sintetinėmis alternatyvomis anksčiau iš derliaus nuimamiems produktams, žemės ūkis tikrai išliks aktualus ir svarbus ekonomikos veiksnys ilgą laiką. Tinkamas žemės ūkio paskirties žemės stebėjimas yra labai svarbus, kad ūkininkas galėtų kuo geriau išnaudoti savo derlių, o naudojant mūsų prietaisą galima ne tik nuotoliniu būdu stebėti visą dirbamą žemę, bet ir tai padaryti pigiai, lengvai įdiegti ir patikimu būdu. Tikimės, kad šis vadovas pasirodė informatyvus ir lengvai sekamas, ir tikimės, kad įrenginys bus naudingas, kad ir kaip norėtumėte jį įgyvendinti ar eksperimentuoti.

Laimingo kodavimo, Žemės ūkio jutiklių masyvo komanda

Rekomenduojamas: