INHOUDSOPGAWE:

Die landbousensoropstelling: 6 stappe
Die landbousensoropstelling: 6 stappe

Video: Die landbousensoropstelling: 6 stappe

Video: Die landbousensoropstelling: 6 stappe
Video: 14 дней Ночевал в Лесном Домике в сильную метель со скотиной. Лесной дом Бушкрафт. 2024, Julie
Anonim
Die landbousensoropstelling
Die landbousensoropstelling

'N Projek van Jackson Breakell, Tyler McCubbins en Jakob Thaler vir EF 230

Landbou is 'n belangrike produksiefaktor in die Verenigde State. Gewasse kan vir 'n wye verskeidenheid doeleindes gebruik word, wat wissel van grondstowwe vir die vervaardiging van klere, farmaseutiese produkte en voedseladditiewe tot die direkte verbruik van die dele van die gewas, meestal die ontkiemende vrugte. Die meerderheid gewasse in die Verenigde State word in die buitelug verbou, waar weersomstandighede of temperatuur nie op groot skaal beheer kan word nie. Gegewe hoe drasties ongunstige weersomstandighede die groei van gewasse kan beïnvloed, wat die ekonomie van die Verenigde State op sy beurt kan beïnvloed, is dit noodsaaklik om die toestande van 'n gewasveld te monitor.

Ons toestel, die Agricultural Sensor Array, stel boere in staat om die toestand van vooraf geselekteerde dele van hul veld te monitor met behulp van 4 sensors: 'n reënwatersensor, 'n grondvogsensor, 'n temperatuursensor en 'n foto-elektriese sensor. Die kombinasie van hierdie sensors stel 'n boer in staat om die oesopbrengs van die seisoen voldoende te beplan, vir te min of te veel reën aan te pas, om rampe wat gewasse kan doodmaak beter te hanteer en tyd en moeite te bespaar deur grondmonsters te neem en duurder sensortoerusting te gebruik. In hierdie instruksies sal ons u deur die bedrading en kodering agter ons Agricultural Sensor Array lei, sodat u ook u eie kan maak.

Stap 1: Versamel benodigde materiaal

Versamel die nodige materiaal
Versamel die nodige materiaal

Hieronder is 'n lys met die nodige materiaal wat u nodig het om aan die gang te kom"

1. Arduino Board, verkieslik Arduino Uno

2. Basiese broodbord

3. 1x 220 ohm weerstand

4. Geassorteerde drade van verskillende kleure

5. Mikro USB na USB kabel

6. Boord-monteerbare luidspreker

7. Foto -elektriese sensor

8. Temperatuur sensor

9. Reënwatersensor

10. Grondvogsensor

11. Rekenaar met Matlab 2017 en Arduino-ondersteuningspakket geïnstalleer (Ondersteuningspakket kan gevind word onder byvoegings)

Stap 2: Bedraad die bord en verbind

Bedraad die bord en verbind
Bedraad die bord en verbind

Begin met die bedrading van die bord soos hierbo getoon, of op die manier wat die beste by u pas. Daar is letterlik onbeperkte maniere waarop die bord bedraad kan word, dus die presiese konfigurasie is regtig aan u. Nadat die bord bedraad is, begin u u sensors aanheg. Die reënwater, grondvog en foto-elektriese sensors is almal analoog-uitsette, dus maak seker dat dit in die analoog-in-afdeling van die Arduino gekoppel is. Die temperatuursensor, aan die ander kant, is 'n digitale uitset, dus maak seker dat dit gekoppel is aan 'n beskikbare digitale ingang op u Arduino. Die Arduino moet uitsette vir 3.3v en 5v hê, dus maak seker dat die sensors gekoppel is aan spannings waarmee hulle versoenbaar is.

Nadat u seker is dat die kaart korrek bedraad is, koppel die Micro USB- na USB -kabel van u rekenaar aan die Micro USB -poort van u rekenaar en skakel u Arduino aan. Maak Matlab oop en maak seker dat u die Arduino-ondersteuningspakket onder byvoegings geïnstalleer het, voer die opdrag, "fopen (serial ('nada'))" uit, sonder die ". 'N Fout moet verskyn, en die fout moet aandui u daar is 'n beskikbare komport met 'n nommer. Voer die opdrag "a = arduino ('comx', 'uno') uit, waar x die nommer van u komport is, om u Arduino aan 'n voorwerp te karteer. Die LED op die Arduino moet vinnig flits om aan te dui dat dit verbind is.

Stap 3: Kodeer die foto -elektriese en temperatuursensors

Kodeer die foto -elektriese en temperatuursensors
Kodeer die foto -elektriese en temperatuursensors

Let op voordat u met die kodering begin, waar u sensors op die Arduino gekoppel is, aangesien dit belangrik sal wees vir die readVoltage -opdrag. Begin u kode deur die veranderlike sonlig gelyk te stel aan die opdrag "readVoltage (a, 'X#') ', waar X# die poort is waarmee u gekoppel is, en a bel eenvoudig die Arduino wat u aan die veranderlike gekarteer het. Begin 'n if -verklaring, en stel die eerste voorwaarde vir sonlig <3. Stel die uitset in as "info. TOD = 'night'" om die tyd van die dag as 'n struktuur uit te voer, en voeg dan 'n ander verklaring by met die uitset as 'info. TOD =' day '". Aangesien dit 'n anders -stelling is, het ons nie 'n voorwaarde nodig nie, aangesien dit sal werk vir alle ander waardes wat nie in die if -verklaring gedefinieer is nie. Maak seker dat u u if -verklaring met 'n einde voltooi, en gaan na die programmering die temperatuursensor.

Stel die veranderlike thermo gelyk aan 'n ander readVoltage -opdrag, met die opdrag "readVoltage (a, 'X#')". In ons geval moes die temperatuur omgeskakel word van spanningseenhede na Celsius, dus die vergelyking "tempC = (thermo-.5).*100" om van die spanning na Celsius om te skakel. Ons het die temperatuur in Celsius maklik omgeskakel na Fahrenheit, maar dit is suiwer opsioneel.

Kode vir plakdoeleindes

sonlig = lees Spanning (a, 'A1') as sonlig <3

info. TOD = 'nag'

anders

info. TOD = 'dag'

einde

thermo = readVoltage (a, 'A3');

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

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

Stap 4: Kodeer die reënwater- en grondvogsensors

Kodeer die reënwater- en grondvogsensors
Kodeer die reënwater- en grondvogsensors

Soos in die laaste stap aangedui, moet u weet watter poort u sensors op die Arduino -bord ingeplaas het, aangesien dit hierdie stap baie minder frustrerend sal maak. Begin met die reënwatersensor en begin 'n if -verklaring. Stel die eerste voorwaarde vir "readVoltage (a, 'X#')> 4" en stel die uitset daarvan op "info. Rain = 'geen neerslag'. Voeg 'n elseif by en stel die voorwaarde op die readVoltage -opdrag voor, maar stel dit op> 2. Voeg 'n "&&" by om 'n ander voorwaarde aan te dui, en stel dit op 'n readVoltage -opdrag soos voorheen, en stel dit op <= 4. Die uitset sal "info. Rain = 'misting'" wees. Voeg laastens nog 'n ander by en stel die uitvoer daarvan in op "info. Rain = 'stortreën'". Miskien moet u die waardes vir die toestande aanpas op grond van die humiditeit in die kamer waarin u werk.

Begin dan die kode vir die grondvogsensor en begin met 'n if -verklaring. Stel die toestand van die if -verklaring op "readVoltage (a, 'X#')> 4, en voeg die uitvoer" info.soil = 'dry' by. 2. Voeg 'n "&&" by, en stel 'n ander readVoltage -opdrag in vir <= 4. Stel die uitset daarvan op "info.soil = 'optimale versadiging'". Voeg 'n else -verklaring by en stel die uitset in op 'info.soil =' flood ' ", en moenie vergeet om 'n einde by te voeg nie.

Kode vir plakdoeleindes

as readVoltage (a, 'A0')> 4 info. Rain = 'geen neerslag'

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

info. Rain = 'mis'

anders

info. Rain = 'reënbui'

einde

as readVoltage (a, 'A2')> 4

info.soil = 'droog'

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

info.soil = 'optimale versadiging'

anders

info.soil = 'vloed'

einde

Stap 5: Uitgangskodering van die luidspreker en die boodskapboks

Uitvoer kodering van die luidspreker en die boodskapboks
Uitvoer kodering van die luidspreker en die boodskapboks

Uitsette vir hierdie toestel kan baie wissel, maar in hierdie geval lei ons u deur 'n luidsprekeruitset wat direk op 'n toestel gemonteer is, en 'n boodskapkasuitgang wat op 'n afgeleë rekenaar bekyk kan word. Ons luidspreker is ontwerp om verskillende frekwensies, laer betekenis erger, uit te voer vir optimale gewas temperatuur, sonlig, grondvog en neerslag. Begin die luidspreker se uitvoerkode met 'n if -verklaring, en stel die toestand daarvan op die opdrag "readVoltage (a, 'X#')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ". Voeg dieselfde playTone -opdrag by soos hierbo getoon, maar verander 200 na 1000 om 'n hoër, meer positiewe toon te gee. Voeg dan nog 'n ander by en voeg weer dieselfde playTone -opdrag by, maar verander 1000 na 1500. Hierdie verskillende toon toon die erns van die situasie van die veld aan. Maak seker dat u 'n einde byvoeg om u if -verklaring te voltooi.

Ons laaste gedeelte van die kode is 'n uitset wat 'n boodskapkassie produseer. Skep 'n string met 'merke tussen hakies', en omskep die dele van u struktuur in snare met die opdrag "num2str (info.x)", waar x 'n substruktuurnaam in die info -struktuur is. Gebruik 'string newline' om nuwe reëls in u boodskapkassie te voeg, en tik u boodskap in die teks met behulp van die aanhalingsteken, en voeg die werklike waarde van die veld by die string met behulp van die voormelde num2str -opdrag. Uiteindelik, met die gedefinieerde string, het u die opdrag "msgbox (string)" gebruik om die data as 'n boodskapkassie op u monitor te vertoon.

Kode vir plakdoeleindes

as readVoltage (a, 'A2')> 4 || info.tempF <32 playTone (a, 'D9', 200, 1)

anders as sonlig> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

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

anders

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

einde

string = ['Die temperatuur is (deg F)', num2str (info.tempF)]

string = [string newline 'Die grond is', num2str (info.soil)]

string = [string newline 'Buite neerslag is', num2str (info. Rain)]

string = [string newline 'Die tyd van die dag is', num2str (info. TOD)]

msgbox (string)

Stap 6: Gevolgtrekking

Afsluiting
Afsluiting

Terwyl die wêreld steeds meer en meer staatmaak op sintetiese alternatiewe vir items wat voorheen uit gewasse geoes is, sal die landbou beslis nog lank 'n relevante en belangrike faktor van die ekonomie bly. Dit is van kardinale belang dat die landbougrond deeglik gemonitor kan word om die maksimum uit sy of haar oes te haal, en met ons toestel is dit nie net moontlik om die hele landbougrond op afstand te monitor nie, maar dit is ook goedkoop, maklik om te doen installeer en betroubaar. Ons hoop dat hierdie gids insiggewend en maklik om te volg geblyk het, en ons hoop dat die toestel nuttig is vir die manier waarop u dit wil implementeer of daarmee wil eksperimenteer.

Gelukkige kodering, Die Agricultural Sensor Array -span

Aanbeveel: