Мазмұны:
- 1 -қадам: Қажетті материалдарды жинаңыз
- 2 -қадам: тақтаны сыммен қосыңыз және қосыңыз
- 3 -қадам: Фотоэлектрлік және температуралық сенсорларды кодтаңыз
- 4 -қадам: Жаңбыр суы мен топырақтың ылғал сенсорларын кодтаңыз
- 5 -қадам: Динамик пен хабарламалар қорапшасының шығуын кодтау
- 6 -қадам: Қорытынды
Бейне: Ауылшаруашылық сенсорларының массиві: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Джексон Брейкелл, Тайлер Маккуббинс және Якоб Талердің 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 -қадам: Қорытынды
Әлем бұрын егіннен алынған өнімдерге синтетикалық баламаға көбірек сүйенуді жалғастыруда, алайда ауыл шаруашылығы ұзақ уақыт бойы экономиканың өзекті және маңызды факторы болып қала бермек. Фермер егіннің егінінен көп өнім алуы үшін ауылшаруашылық жерлерін жеткілікті түрде бақылау өте маңызды, және біздің қондырғы арқылы бүкіл ауыл шаруашылығы жерлерін қашықтықтан бақылап қана қоймай, сонымен қатар оны арзан, қарапайым жерде жасауға болады. сенімді орнату әдісі. Біз бұл нұсқаулық ақпараттандырылған және орындауға оңай болды деп үміттенеміз және бұл құрылғы сіз қолданғыңыз келсе немесе тәжірибе жасағыңыз келсе де пайдалы болады деп үміттенеміз.
Бақытты кодтау, Ауылшаруашылық сенсорларының массив тобы
Ұсынылған:
DIY LED массиві (Arduino көмегімен): 7 қадам
DIY жарық диодты массиві (Arduino көмегімен): INTRO: Сіз светодиодтар қозғалатындай көрінетін қарапайым жоба жасағыңыз келді ме? Жоқ? Мен осылай ойладым. Егер сіз ұқсас нәрсені жасағыңыз келсе, сіз дұрыс жердесіз
7 сегменттің дисплей массиві: 6 қадам (суреттермен)
7 сегменттік дисплей массиві: Мен arduino нано басқаратын 144 7 сегментті дисплейден жасалған дисплей жасадым. Сегменттер 18 жеке MAX7219 ic көмегімен басқарылады, ол 64 жеке жарықдиодты немесе 8 7 сегментті дисплейлерді басқара алады. Массивте 144 дисплей бар, олардың әрқайсысы
NodeMCU сенсорларының басқару релесі арқылы IoT негізіндегі үй автоматтандыруды қалай жасауға болады: 14 қадам (суреттермен)
NodeMCU сенсорларын басқару релесі көмегімен IoT негізіндегі үй автоматтандыруды қалай жасауға болады: IoT негізіндегі бұл жобада мен Blynk және NodeMCU басқару релесі модулімен үйдегі автоматтандыруды нақты уақыттағы кері байланыспен жасадым. Қол режимінде бұл реле модулін ұялы телефоннан немесе смартфоннан және қолмен қосқыштан басқаруға болады. Автоматты режимде бұл ақылды
Arduino көмегімен стационарлық радар (LIDAR) массиві: 10 қадам (суреттермен)
Arduino көмегімен стационарлық радар (LIDAR) массиві: Мен екіжүзді робот жасап жатқанда, мен әрқашан қарсыласымды іздей алатын және онымен шабуылдық қимылдар жасай алатын керемет гаджет алуды ойладым. Мұнда радар/лидар жобалары бар. Дегенмен, менің мақсатым үшін кейбір шектеулер бар
Иілгіш LED ETextile таспасының массиві: 6 қадам (суреттермен)
Иілгіш LED ETextile таспалы массиві: eTextiles мен киюге болатын компьютерлерді құрудың тағы бір әдісі: жарық диодтарға арналған оңай тігілетін икемді таспалы массив. ETextile қалай жасалуы керек eTextile бейнелері, оқулықтары мен жобалары туралы көбірек білгіңіз келе ме? Содан кейін The eTextile Lounge -ге барыңыз