Мазмұны:

Ауылшаруашылық сенсорларының массиві: 6 қадам
Ауылшаруашылық сенсорларының массиві: 6 қадам

Бейне: Ауылшаруашылық сенсорларының массиві: 6 қадам

Бейне: Ауылшаруашылық сенсорларының массиві: 6 қадам
Бейне: Рустамов И.Ш. Ашық сабақ. Тақырыбы: «Сандық камералар» Пәні: АЖТҚК 2024, Қараша
Anonim
Ауылшаруашылық сенсорлар жиыны
Ауылшаруашылық сенсорлар жиыны

Джексон Брейкелл, Тайлер Маккуббинс және Якоб Талердің EF 230 жобасы

Ауыл шаруашылығы Америка Құрама Штаттарында өндірістің маңызды факторы болып табылады. Дақылдарды киім, дәрі -дәрмектер мен азық -түлік қоспаларын өндіруге арналған шикізаттан бастап өсімдік бөліктерін, көбінесе өнетін жемістерді тікелей тұтынуға дейін әр түрлі мақсатта қолдануға болады. Америка Құрама Штаттарындағы дақылдардың көпшілігі ашық ауада өсіріледі, мұнда ауа райы жағдайлары мен температураны бақылау мүмкін емес. Ауа райының қолайсыз ауа райы егіннің өсуіне қалай әсер ететінін ескере отырып, Америка Құрама Штаттарының экономикасына әсер ететіндіктен, егістік алқабының жағдайын бақылау өте маңызды болып табылады.

Біздің ауылшаруашылық сенсорлық массиві фермерлерге 4 сенсор көмегімен жаңбыр суы сенсоры, топырақ ылғалдылығы сенсоры, температура сенсоры және фотоэлектрлік сенсор көмегімен егістіктің алдын ала таңдалған бөліктерінің жағдайын бақылауға мүмкіндік береді. Бұл датчиктердің комбинациясы фермерге маусымдық өнім көлемін дұрыс жоспарлауға, жаңбырдың аз немесе көп мөлшеріне бейімделуге, дақылдарды өлтіруі мүмкін апаттармен жақсы күресуге, топырақ сынамаларын алу мен қымбат датчик қондырғыларын пайдаланудан уақыт пен қиындықты үнемдеуге мүмкіндік береді. Бұл нұсқаулықта біз сізді ауылшаруашылық сенсорлар жиынтығының артындағы сымдар мен кодтау арқылы жүргіземіз, сондықтан сіз де өзіңіз жасай аласыз.

1 -қадам: Қажетті материалдарды жинаңыз

Қажетті материалдарды жинау
Қажетті материалдарды жинау

Төменде сізге бастау үшін қажет материалдардың тізімі берілген ».

1. Arduino тақтасы, жақсырақ Arduino Uno

2. Негізгі тақта

3. 1х 220 Ом резистор

4. Түрлі түсті ассортимент сымдар

5. Micro USB to USB кабелі

6. Бортқа орнатылатын динамик

7. Фотоэлектрлік сенсор

8. Температура сенсоры

9. Жаңбыр суы датчигі

10. Топырақтың ылғалдылық сенсоры

11. Matlab 2017 және Arduino қолдау пакеті орнатылған компьютер (Қолдау пакетін қондырмалар бөлімінен табуға болады)

2 -қадам: тақтаны сыммен қосыңыз және қосыңыз

Тақтаны сыммен қосыңыз және қосыңыз
Тақтаны сыммен қосыңыз және қосыңыз

Тақтаны жоғарыда көрсетілгендей сыммен бастаңыз немесе сізге сәйкес келетін жолмен бастаңыз. Тақтаға сымды қосудың шексіз әдістері бар, сондықтан нақты конфигурация сізге байланысты. Тақтаны сымға қосқаннан кейін сенсорларды қосуды бастаңыз. Жаңбыр суы, топырақтың ылғалдылығы мен фотоэлектрлік датчиктердің барлығы аналогтық шығыс болып табылады, сондықтан олардың Arduino аналогты бөліміне қосылғанын тексеріңіз. Температура сенсоры, керісінше, цифрлық шығыс болып табылады, сондықтан оның Arduino қол жетімді цифрлық кірісіне қосылғанын тексеріңіз. Arduino 3,3v және 5v шығулары болуы керек, сондықтан сенсорлар олар үйлесетін кернеуге қосылғанын тексеріңіз.

Тақтаның дұрыс сымдалғанына көз жеткізгеннен кейін, Micro USB -ді компьютерден USB кабеліне жалғаңыз және Arduino -ны қосыңыз. Matlab бағдарламасын ашыңыз және қондырмалар астындағы Arduino қолдау пакетін орнатқаныңызға көз жеткізіңіз, «жоқ ашыңыз (сериялық ('nada'))» «пәрменін іске қосыңыз. Қате пайда болады және қате туралы айту керек Сізде нөмір бар қол жетімді компорт бар. «a = arduino ('comx', 'uno')» пәрменін орындаңыз, мұнда x - сіздің компоттың нөмірі, сіздің Arduino -ны объектке салыстыру үшін. Arduino -дегі жарық диоды қосылғанын көрсету үшін тез жыпылықтауы керек.

3 -қадам: Фотоэлектрлік және температуралық сенсорларды кодтаңыз

Фотоэлектрлік және температуралық сенсорларды кодтаңыз
Фотоэлектрлік және температуралық сенсорларды кодтаңыз

Кодтауды бастамас бұрын, сенсорлар Arduino -да қай жерде қосылғанын жазып алыңыз, себебі бұл readVoltage командасы үшін маңызды болады. Күндізгі айнымалы шаманы «readVoltage (a, 'X#')» пәрменіне теңестіру арқылы кодты бастаңыз, мұнда X# - сіз қосылатын порт, ал а - бұл айнымалыға сәйкес келетін Arduino -ны шақырады. If операторын бастаңыз., және күн сәулесінің бірінші жағдайын орнатыңыз <3.. Күндізгі уақытты құрылым ретінде шығару үшін шығымды «info. TOD = 'night'» етіп орнатыңыз, содан кейін шығысымен «info. TOD = 'ретінде басқа операторды қосыңыз. day '«. Бұл басқа мәлімдеме болғандықтан, бізге шарт қажет емес, себебі ол if операторында анықталмаған барлық басқа мәндер үшін жұмыс істейді. if операторын соңымен аяқтап, бағдарламалауға көшкеніңізге көз жеткізіңіз. температура сенсоры.

Термо айнымалы мәнді readVoltage басқа командасына тең етіп орнатыңыз, бұл команда «readVoltage (a, 'X#')». Біздің жағдайда температураны кернеу бірліктерінен Цельсийге түрлендіру қажет болды, сондықтан кернеуден Цельсийге түрлендіру үшін «tempC = (термо-.5).*100» теңдеуі қажет болды. Жеңілдік үшін біз Цельсийдегі температураны Фаренгейтке айналдырдық, бірақ бұл тек қосымша.

Қоюға арналған код

күн сәулесі = readVoltage (a, 'A1'), егер күн сәулесі <3

info. TOD = 'түн'

басқа

info. TOD = 'күн'

Соңы

термо = readVoltage (a, 'A3');

tempC = (термо-.5).*100;

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

4 -қадам: Жаңбыр суы мен топырақтың ылғал сенсорларын кодтаңыз

Жаңбыр суы мен топырақ ылғалдылығы датчиктерін кодтаңыз
Жаңбыр суы мен топырақ ылғалдылығы датчиктерін кодтаңыз

Соңғы қадамда айтылғандай, сенсорлар Arduino тақтасында қандай порттарға қосылғанын білгеніңізге көз жеткізіңіз, себебі бұл қадамның көңілін қалдырады. Жаңбыр суы сенсорынан бастаңыз және if операторын бастаңыз. «ReadVoltage (a, 'X#')> 4» бірінші шартын орнатыңыз және оның шығысын «info. Rain = 'жауын -шашынсыз» деп орнатыңыз. Elseif қосыңыз және оның шартын readVoltage командасына бұрын орнатыңыз, бірақ оны> 2 етіп орнатыңыз. Орындалуы қажет басқа шартты білдіру үшін «&&» белгісін қосыңыз және оны бұрынғыдай readVoltage командасына орнатыңыз және оны <= 4 деп орнатыңыз. Шығу «info. Rain = 'misting'» болады. Ақырында, басқасын қосыңыз және оның шығысын «info. Rain =» нөсер «» деп орнатыңыз. Сіз жұмыс істейтін бөлменің ылғалдылығына байланысты шарттардың мәндерін реттеуіңіз қажет болуы мүмкін.

Содан кейін, топырақ ылғалдылығы сенсорының кодын бастаңыз және if операторынан бастаңыз. If операторының шартын «readVoltage (a, 'X#')> 4 деп орнатыңыз және» info.soil = 'dry' «шығысын қосыңыз. Elseif операторын қосыңыз және жоғарыдағы readVoltage пәрменін қолданып, оны> 2. «&&» белгісін қойып, <= 4. үшін readVoltage пәрменін орнатыңыз. Оның шығуын «info.soil = 'оңтайлы қанықтылық» күйіне орнатыңыз. Else операторын қосыңыз және оның шығысын «info.soil =' тасқын» етіп орнатыңыз. », және соңын қосуды ұмытпаңыз.

Қоюға арналған код

егер readVoltage (a, 'A0')> 4 info. Rain = 'жауын -шашынсыз'

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

info. Rain = «тұман»

басқа

info. Rain = 'нөсер'

Соңы

егер readVoltage (a, 'A2')> 4

info.soil = 'құрғақ'

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

info.soil = 'оңтайлы қанықтылық'

басқа

info.soil = 'тасқын'

Соңы

5 -қадам: Динамик пен хабарламалар қорапшасының шығуын кодтау

Динамик пен хабарламалар қорабының шығуын кодтау
Динамик пен хабарламалар қорабының шығуын кодтау

Бұл құрылғының шығуы әр түрлі болуы мүмкін, бірақ бұл жағдайда біз сізді тікелей құрылғыға орнатылған динамик шығысы мен қашықтағы компьютерде көруге болатын хабар терезесінің шығысы арқылы жүргіземіз. Біздің динамик егіннің оңтайлы температурасы, күн сәулесі, топырақтың ылғалдылығы мен жауын -шашын үшін әр түрлі жиіліктерді шығаруға арналған. Динамиктің шығыс кодын if операторынан бастаңыз және оның шартын «readVoltage (a, 'X#')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 «. Жоғарыда көрсетілгендей playTone пәрменін қосыңыз, бірақ 200 -ден 1000 -ға дейін өзгертіп, жоғары және жағымды үн шығарыңыз. Содан кейін, басқасын қосып, сол playTone пәрменін қайта қосыңыз, бірақ 1000 -ды 1500 -ге өзгертіңіз. Бұл әр түрлі дыбыстар өрістің жағдайының ауырлығын көрсетеді. If операторын аяқтау үшін соңын қосқаныңызға көз жеткізіңіз.

Біздің кодтың соңғы бөлімі хабарлама терезесін шығаратын шығыс болады. Жақшадағы 'таңбаларын пайдаланып жол құрыңыз және «num2str (info.x)» пәрменін қолданып құрылымның бөліктерін жолға түрлендіріңіз, мұнда x - ақпараттық құрылымдағы қосалқы құрылым атауы. Хабар жолағына жаңа жолдар қосу үшін «жолдың жаңа жолын» пайдаланыңыз және хабарламаны тырнақшаның көмегімен мәтінге енгізіңіз, өрістің нақты мәнін жоғарыда аталған num2str пәрменін қолданып жолға қосыңыз. Ақырында, анықталған жолмен деректерді мониторда хабарлама терезесі ретінде көрсету үшін «msgbox (string)» пәрмені қолданылды.

Қоюға арналған код

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

егер күн сәулесі> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

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

басқа

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

Соңы

string = ['Температура (градус F)', num2str (info.tempF)]

string = [string newline 'Топырақ', num2str (info.soil)]

string = [string newline 'Сыртта жауын -шашын', num2str (info. Rain)]

string = [string newline 'Күннің уақыты', num2str (info. TOD)]

msgbox (жол)

6 -қадам: Қорытынды

Қорытынды
Қорытынды

Әлем бұрын егіннен алынған өнімдерге синтетикалық баламаға көбірек сүйенуді жалғастыруда, алайда ауыл шаруашылығы ұзақ уақыт бойы экономиканың өзекті және маңызды факторы болып қала бермек. Фермер егіннің егінінен көп өнім алуы үшін ауылшаруашылық жерлерін жеткілікті түрде бақылау өте маңызды, және біздің қондырғы арқылы бүкіл ауыл шаруашылығы жерлерін қашықтықтан бақылап қана қоймай, сонымен қатар оны арзан, қарапайым жерде жасауға болады. сенімді орнату әдісі. Біз бұл нұсқаулық ақпараттандырылған және орындауға оңай болды деп үміттенеміз және бұл құрылғы сіз қолданғыңыз келсе немесе тәжірибе жасағыңыз келсе де пайдалы болады деп үміттенеміз.

Бақытты кодтау, Ауылшаруашылық сенсорларының массив тобы

Ұсынылған: