Мазмуну:

Айыл чарба сенсорунун массиви: 6 кадам
Айыл чарба сенсорунун массиви: 6 кадам

Video: Айыл чарба сенсорунун массиви: 6 кадам

Video: Айыл чарба сенсорунун массиви: 6 кадам
Video: How to Make Serious Money Importing Goods from Thailand | Export Import Business 2024, Ноябрь
Anonim
Айыл чарба сенсорунун массиви
Айыл чарба сенсорунун массиви

EF 230 үчүн Джексон Брейкелл, Тайлер Маккуббинс жана Жакоб Талердин долбоору

Айыл чарба Америка Кошмо Штаттарынын өндүрүшүнүн маанилүү фактору болуп саналат. Дан эгиндерин ар кандай максаттар үчүн колдонсо болот, кийим -кече, фармацевтика жана тамак -аш кошулмаларын өндүрүү үчүн чийки заттардан тартып, түшүмдүн бөлүктөрүн, көбүнчө өнүп чыккан мөмөлөрдү түз керектөөгө чейин. Америка Кошмо Штаттарынын эгиндеринин көбү ачык абада өстүрүлөт, бул жерде аба ырайы жана температура масштабдуу түрдө көзөмөлгө алынбайт. Аба ырайынын кескин өзгөрүшү эгиндин өсүшүнө кандай таасир этиши мүмкүн экенин эске алганда, Америка Кошмо Штаттарынын экономикасына таасир этип, эгин талаасынын шарттарын көзөмөлдөө өтө маанилүү болуп калат.

Биздин аппарат, Айыл чарба сенсорунун массиви, фермерлерге 4 сенсордун жардамы менен талаанын алдын ала тандалган бөлүктөрүнүн абалын көзөмөлдөөгө мүмкүндүк берет: жамгыр суусу сенсору, топурактын нымдуулугу, температура сенсору жана фотоэлектрдик сенсор. Бул сенсорлордун айкалышы дыйканга түшүмдүн түшүмүн адекваттуу пландаштырууга, өтө аз же көп жамгырга тууралоого, эгиндерди өлтүрө турган кырсыктар менен жакшыраак күрөшүүгө жана топурактын үлгүлөрүн алуудан жана кымбатыраак сенсор жабдууларын колдонуудан убакытты жана кыйынчылыкты үнөмдөөгө мүмкүндүк берет. Бул Нускамада биз сизди айыл чарба сенсорлорунун артындагы зымдарды жана коддорду карайбыз, ошондо сиз да өзүңүз жасай аласыз.

1 -кадам: Керектүү материалдарды чогултуу

Керектүү материалдарды чогултуу
Керектүү материалдарды чогултуу

Төмөндө баштоо үчүн керектүү материалдардын тизмеси келтирилген"

1. Arduino Board, жакшыраак Arduino Uno

2. Негизги нан

3. 1х 220 Ом каршылыгы

4. Ар кандай түстөгү ассортимент зымдар

5. Micro USBден USB кабелине

6. Бортко орнотулуучу динамик

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

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

9. Жамгыр суусу сенсору

10. Топурактын нымдуулук сенсору

11. Matlab 2017 жана Arduino колдоо пакети орнотулган компьютер (Колдоо пакетин Кошумчалар бөлүмүнөн тапса болот)

2 -кадам: Башкарманы зым менен туташтырыңыз

Башкарманы зым менен туташтырыңыз
Башкарманы зым менен туташтырыңыз

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

Такта туура зымдалганына көзүңүз жеткенден кийин, Micro USB'ди USB кабелине компьютериңиздеги Micro USB портуна сайып, Arduino күйгүзүңүз. Matlabти ачыңыз жана Arduino колдоо пакетин орнотуулардын астына орнотконуңузду текшерип, "fopen (serial ('nada'))" "командасын" жок "деп аткарыңыз. Ката калкып чыгышы керек жана ката айтуу Сизде номери бар жеткиликтүү компорт бар. "a = arduino ('comx', 'uno')" буйругун аткарыңыз, мында x - сиздин компорттун саны, сиздин объектини Arduino менен салыштыруу үчүн. Arduinoдогу LED туташканын көрсөтүү үчүн тез жаркылдап турушу керек.

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

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

Сиз коддоону баштоодон мурун, сенсорлоруңуз Arduinoдо кайда туташканын жазып алыңыз, анткени бул readVoltage буйругу үчүн маанилүү болот. Күнүңүздүн өзгөрмөлүү өзгөрмөсүн "readVoltage (a, 'X#')" командасына барабар кылып коюу менен баштаңыз, мында X# сиз туташкан порт жана а жөн гана сиз ошол өзгөрмөгө карты болгон Arduino деп аталат. If операторун баштаңыз, жана күндүн нуру үчүн биринчи шартты коюңуз <3.. Чыгууну "info. TOD = 'түн'" деп коюп, күндүн убакытын структура катары чыгарыңыз, андан кийин "info. TOD = '" деп чыккан башка билдирүүнү кошуңуз. day '". Бул башка билдирүү болгондуктан, бизге шарттын кереги жок, анткени ал if операторунда аныкталбаган бардык башка баалуулуктар үчүн иштейт. if операторуңузду аягына чейин бүтүрүп, программалоого өтүңүз. температура сенсору.

Термо айнымалыны башка readVoltage командасына барабар кылыңыз, буйрук "readVoltage (a, 'X#')". Биздин учурда, температура чыңалуу бирдиктеринен Цельсийге айландырылышы керек болчу, андыктан "tempC = (thermo-.5).*100" теңдемеси чыңалуудан Цельсийге айлануу үчүн. Жеңилдик үчүн Цельсийдеги температураны Фаренгейтке айландырдык, бирок бул жөн гана милдеттүү эмес.

Коюу үчүн код

күндүн нуру = readVoltage (a, 'A1'), эгерде күндүн нуру <3

info. TOD = 'түн'

башка

info. TOD = 'күн'

аяктоо

thermo = 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 = 'оптималдуу каныктыруу" деп коюңуз. ", жана аягын кошууну унутпаңыз.

Коюу үчүн код

if 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 -кадам: Динамик жана билдирүү кутучасы Output Coding

Динамик жана билдирүү кутусунун чыгышын коддоо
Динамик жана билдирүү кутусунун чыгышын коддоо

Бул түзмөктүн жыйынтыктары ар кандай болушу мүмкүн, бирок, бул учурда, биз сизди түзмөккө орнотулган динамиктин чыгышы жана алыскы компьютерде карала турган билдирүү кутусунун чыгышы аркылуу карайбыз. Биздин спикер түшүмдүн оптималдуу температурасы, күндүн нуру, топурактын нымдуулугу жана жаан -чачын үчүн ар кандай жыштыктарды чыгаруу үчүн иштелип чыккан. Спикердин чыгуу кодун 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)" командасы колдонулган.

Коюу үчүн код

if 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 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Дүйнө мурда дан эгиндеринен алынган продуктыларга синтетикалык альтернативаларга көбүрөөк таянууну улантып жаткан учурда, айыл чарба, албетте, узак убакыт бою экономиканын актуалдуу жана маанилүү фактору бойдон кала берет. Дыйкан үчүн түшүмдүн көп бөлүгүн алуу үчүн айыл чарба жерлерин тийиштүү түрдө көзөмөлдөө абдан маанилүү, жана биздин аппарат менен дыйканчылыктын бардык жерин алыстан көзөмөлдөп туруу мүмкүн эмес, бирок муну арзан, оңой ишенимдүү түрдө орнотуу. Бул колдонмо маалыматтуу жана ээрчүүгө оңой болду деп үмүттөнөбүз жана бул түзмөк сиз аны ишке ашыргыңыз келсе же аны менен эксперимент кылгыңыз келсе пайдалуу деп үмүттөнөбүз.

Бактылуу коддоо, Айыл чарба сенсорлорунун командасы

Сунушталууда: