Sisukord:

Põllumajandusandurite massiiv: 6 sammu
Põllumajandusandurite massiiv: 6 sammu

Video: Põllumajandusandurite massiiv: 6 sammu

Video: Põllumajandusandurite massiiv: 6 sammu
Video: Косяк в вашей мебели о котором мебельщики предпочитают молчать. Как его исправить? 2024, Juuli
Anonim
Põllumajandusandurite massiiv
Põllumajandusandurite massiiv

Jackson Breakelli, Tyler McCubbinsi ja Jakob Thaleri projekt EF 230 jaoks

Põllumajandus on Ameerika Ühendriikides oluline tootmistegur. Põllukultuure saab kasutada väga erinevatel eesmärkidel, alates rõivaste, ravimite ja toidu lisaainete tootmise toorainest kuni põllukultuuride osade, kõige sagedamini idanevate viljade, otsese tarbimiseni. Enamik Ameerika Ühendriikide põllukultuure kasvatatakse õues, kus ilmastikutingimusi ega temperatuuri ei saa suures ulatuses kontrollida. Arvestades seda, kuidas drastiliselt ebasoodsad ilmastikutingimused võivad mõjutada põllukultuuride kasvu, mõjutades omakorda Ameerika Ühendriikide majandust, muutub põllukultuuride tingimuste jälgimine ülioluliseks.

Meie seade, põllumajandusandurite maatriks, võimaldab põllumeestel jälgida oma põllu eelnevalt valitud osade seisukorda, kasutades 4 andurit: vihmaveeandurit, mulla niiskuseandurit, temperatuuriandurit ja fotoelektrilist andurit. Nende andurite kombinatsioon võimaldab põllumehel piisavalt planeerida hooaja saagikust, kohaneda liiga vähese või liigse vihmaga, paremini toime tulla katastroofidega, mis võivad tappa põllukultuure ning säästa aega ja vaeva mullaproovide võtmisel ja kallimate anduriseadmete kasutamisel. Selles juhendis tutvustame teid meie põllumajandusandurite massi taga olevate juhtmete ja kodeeringutega, nii et ka teie saate selle ise teha.

Samm: koguge vajalikud materjalid

Koguge vajalikud materjalid
Koguge vajalikud materjalid

Allpool on loetelu vajalikest materjalidest, mida vajate alustamiseks"

1. Arduino Board, soovitavalt Arduino Uno

2. Põhiline leivalaud

3. 1x 220 oomi takisti

4. Erinevate värvide traadid

5. Mikro -USB -kaabel

6. Tahvlile paigaldatav kõlar

7. Fotoelektriline andur

8. Temperatuuriandur

9. Vihmavee andur

10. Mulla niiskuse andur

11. Arvuti, kuhu on installitud Matlab 2017 ja Arduino tugipakett (tugipaketi leiate lisandmoodulite alt)

Samm: ühendage plaat ja ühendage

Juhtmeplaat ja ühendus
Juhtmeplaat ja ühendus

Alustage juhtme ühendamisega, nagu ülal näidatud, või muul viisil, mis teile kõige paremini sobib. Tahvlit saab sõna otseses mõttes piiramatult ühendada, nii et täpne konfiguratsioon on tõesti teie otsustada. Pärast plaadi ühendamist alustage andurite kinnitamist. Vihmavee, mulla niiskuse ja fotoelektrilised andurid on kõik analoogväljundid, seega veenduge, et need on ühendatud Arduino analoogsisendisse. Temperatuuriandur on seevastu digitaalne väljund, seega veenduge, et see oleks ühendatud teie Arduino saadaolevasse digitaalsisendisse. Arduino väljundid peaksid olema 3.3v ja 5v, seega veenduge, et andurid on ühendatud pingega, millega need ühilduvad.

Kui olete veendunud, et plaat on õigesti ühendatud, ühendage Micro USB -kaabel arvutist arvuti Micro USB -porti ja lülitage Arduino sisse. Avage Matlab ja veenduge, et olete Arduino tugipaketi lisandmoodulite alla installinud, käivitage käsk "fopen (serial ('nada'))" ilma. "Tõrge peaks ilmuma ja viga peaks sellest teatama kui teil on saadaval arvuga komport. Käivitage käsk "a = arduino ('comx', 'uno')", kus x on teie porti number, et kaardistada oma Arduino objektile. Arduino LED peaks kiiresti vilkuma, näidates, et see on ühendatud.

Samm: kodeerige fotoelektrilised ja temperatuuriandurid

Kodeerige fotoelektrilised ja temperatuuriandurid
Kodeerige fotoelektrilised ja temperatuuriandurid

Enne kodeerimise alustamist pange tähele, kuhu Arduino andurid on ühendatud, kuna see on oluline käsu readVoltage jaoks. Alustage oma koodi, määrates muutuva päikesevalguse võrdseks käsuga "readVoltage (a, 'X#') ', kus X# on port, millega olete ühendatud, ja a lihtsalt helistab selle muutujaga kaardistatud Arduinole. Käivitage if lause, ja seadistage esimene päikesevalguse tingimus <3. Määrake väljundiks "info. TOD = 'night'", et väljastada kellaaeg struktuurina ja seejärel lisage muu avaldus väljundiga "info. TOD = ' päev '". Kuna see on muu lause, ei vaja me tingimust, kuna see töötab kõigi teiste väärtuste puhul, mida pole lauses määratletud. Veenduge, et lõpetate if -lause lõpuga ja jätkake programmeerimisega temperatuuriandur.

Määrake muutuv termo võrdseks teise readVoltage käsuga, käsk on "readVoltage (a, 'X#')". Meie puhul tuli temperatuur teisendada pingeühikutest Celsiuse kraadiks, seega võrrand "tempC = (termo.5).*100", et teisendada pinge Celsiuse järgi. Mugavuse huvides muutsime temperatuuri Celsiuse järgi Fahrenheiti järgi, kuid see on puhtalt vabatahtlik.

Kood kleepimiseks

päikesevalgus = pinge (a, 'A1'), kui päikesevalgus on <3

info. TOD = "öö"

muidu

info. TOD = 'päev'

lõpp

termo = lugemispinge (a, 'A3');

tempC = (termo -5).*100;

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

4. samm: vihmavee- ja mullaniiskuse andurite kodeerimine

Kodeerige vihmavee ja mulla niiskuse andurid
Kodeerige vihmavee ja mulla niiskuse andurid

Nagu viimases etapis öeldud, veenduge, et teate, millistesse portidesse teie andurid on Arduino plaadil ühendatud, kuna see muudab selle sammu palju vähem masendavaks. Alustage vihmaveeanduriga ja alustage lauset if. Määrake esimene tingimus "readVoltage (a, 'X#')> 4" ja määrake selle väljundiks "info. Rain = 'sademeid pole". Lisage elseif ja määrake selle tingimus enne käsku readVoltage, kuid määrake see> 2. Lisage "&&", mis tähistab teist tingimust, mis peab olema täidetud, ja määrake see käsule readVoltage nagu varem ning määrake see väärtusele <= 4. Väljundiks on "info. Rain = 'misting'". Lõpuks lisage veel üks ja määrake selle väljundiks "info. Rain = 'downpour'". Võimalik, et peate tingimuste väärtusi kohandama, lähtudes töötava ruumi ümbritsevast õhuniiskusest.

Seejärel alustage mulla niiskusanduri koodi ja alustage if -lausega. Määrake if -lause tingimuseks "readVoltage (a, 'X#')> 4 ja lisage väljund" info.soil = 'dry' ". Lisage elseif -lause ja määrake see ülaltoodud käsu readVoltage abil> 2. Lisage "&&" ja määrake <= 4 jaoks teine readVoltage käsk. Määrake selle väljundiks "info.soil = 'optimaalne küllastus'". Lisage muu avaldis ja määrake selle väljundiks "info.soil = 'Flo' "ja ärge unustage lõppu lisada.

Kood kleepimiseks

kui lugedaVoltage (a, 'A0')> 4 info. Vihm = 'sademeid pole'

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

info. Rain = "udune"

muidu

info. Rain = 'paduvihm'

lõpp

kui lugeda Pinge (a, 'A2')> 4

info.soil = 'kuiv'

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

info.soil = 'optimaalne küllastus'

muidu

info.soil = 'üleujutus'

lõpp

5. samm: kõlari ja sõnumikasti väljundi kodeerimine

Kõlari ja sõnumikasti väljundi kodeerimine
Kõlari ja sõnumikasti väljundi kodeerimine

Selle seadme väljundid võivad olla väga erinevad, kuid sel juhul tutvustame teile otse seadmele paigaldatud kõlariväljundit ja sõnumikasti väljundit, mida saab vaadata kaugarvutist. Meie kõlar on loodud erinevate sageduste väljastamiseks, madalam tähendus halvem, optimaalse saagi temperatuuri, päikesevalguse, mulla niiskuse ja sademete jaoks. Alustage kõlari väljundkoodi if -lausega ja määrake selle tingimuseks käsk "readVoltage (a, 'X#')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ". Lisage sama käsk playTone, nagu eespool näidatud, kuid muutke 200 väärtust 1000, et tekitada kõrgem ja positiivsem toon. Seejärel lisage veel üks ja lisage sama käsk playTone uuesti, kuid muutke 1000 väärtuseks 1500. Need erinevad toonid näitavad välja olukorra tõsidust. Kui lisate oma avalduse, lisage kindlasti lõpp.

Meie viimane koodiosa on väljund, mis loob sõnumikasti. Looge string, kasutades sulgudes olevaid märke ja teisendage oma struktuuri osad stringideks, kasutades käsku "num2str (info.x)", kus x on alamstruktuuri nimi infostruktuuris. Kasutage "string newline", et lisada oma sõnumikasti uusi ridu, ja tippige sõnum jutumärki kasutades teksti, lisades rea tegeliku väärtuse stringile, kasutades ülalnimetatud käsku num2str. Lõpuks, kui string on määratletud, kasutasite käsku "msgbox (string)", et kuvada andmed ekraanil sõnumikastina.

Kood kleepimiseks

kui lugeda Pinge (a, 'A2')> 4 || info.tempF <32 playTone (a, 'D9', 200, 1)

muidu päikesevalgus> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

playTone (a, 'D9', 1000, 3)

muidu

playTone (a, 'D9', 1500, 5)

lõpp

string = ['Temperatuur on (kraadi F)', num2str (info.tempF)]

string = [string uus rida 'Muld on', num2str (info.muld)]

string = [string uus rida 'Väljaspool sademeid on', num2str (info. Vihm)]

string = [string newline 'Kellaaeg on', num2str (info. TOD)]

msgbox (string)

6. samm: järeldus

Järeldus
Järeldus

Kuigi maailm loodab jätkuvalt üha enam sünteetilistele alternatiividele varem põllukultuuridest koristatud esemetele, jääb põllumajandus kindlasti pikaks ajaks oluliseks ja oluliseks majandusteguriks. Põllumajandustootjate piisav jälgimine on ülioluline, et põllumees saaks oma saagist kõige rohkem kasu, ja meie seadmega pole võimalik kogu põllumaad mitte ainult eemalt jälgida, vaid seda on võimalik teha odavalt ja lihtsalt paigaldada ja usaldusväärsel viisil. Loodame, et see juhend on osutunud informatiivseks ja hõlpsasti järgitavaks ning loodame, et seade osutub kasulikuks, kui soovite seda rakendada või katsetada.

Head kodeerimist, Põllumajandusandurite massiivi meeskond

Soovitan: