Агуулгын хүснэгт:

Хөдөө аж ахуйн мэдрэгчийн массив: 6 алхам
Хөдөө аж ахуйн мэдрэгчийн массив: 6 алхам

Видео: Хөдөө аж ахуйн мэдрэгчийн массив: 6 алхам

Видео: Хөдөө аж ахуйн мэдрэгчийн массив: 6 алхам
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Долдугаар сарын
Anonim
Хөдөө аж ахуйн мэдрэгчийн массив
Хөдөө аж ахуйн мэдрэгчийн массив

Жексон Брейкелл, Тайлер Маккуббинс, Жакоб Талер нарын EF 230 төсөл.

Хөдөө аж ахуй бол АНУ -ын үйлдвэрлэлийн чухал хүчин зүйл юм. Газар тариалан нь хувцас, эм бэлдмэл, хүнсний нэмэлт үйлдвэрлэх түүхий эдээс эхлээд ургацын хэсэг, ихэнхдээ соёолж буй жимсийг шууд хэрэглэх хүртэл янз бүрийн зориулалтаар ашиглаж болно. АНУ -ын ихэнх ургацыг гадаа ургадаг бөгөөд цаг агаарын нөхцөл, температурыг их хэмжээгээр хянах боломжгүй байдаг. Цаг агаарын таагүй байдал нь ургацын ургалтанд хэрхэн нөлөөлж, улмаар АНУ -ын эдийн засагт нөлөөлж болохыг харгалзан тариалангийн талбайн нөхцөл байдалд хяналт тавих нь нэн чухал болж байна.

Манай төхөөрөмж, Хөдөө аж ахуйн мэдрэгчийн массив нь тариаланчдад борооны усны мэдрэгч, хөрсний чийгийн мэдрэгч, температур мэдрэгч, гэрэл цахилгаан мэдрэгч гэсэн 4 мэдрэгч ашиглан тариалангийн талбайгаа урьдчилан сонгосон хэсгүүдийн байдлыг хянах боломжийг олгодог. Эдгээр мэдрэгчийн хослол нь тариаланчдад улирлын ургацын хэмжээг зохих ёсоор төлөвлөх, хэт бага эсвэл хэт их хур тунадасыг тохируулах, ургац алдах аюулыг илүү сайн шийдвэрлэх, хөрсний дээж авах, илүү үнэтэй мэдрэгч төхөөрөмж ашиглахад цаг хугацаа, бэрхшээлийг хэмнэх боломжийг олгодог. Энэхүү зааварчилгааны номонд бид таныг Хөдөө аж ахуйн мэдрэгчийн массивын ард байрлах утас, кодчилолоор дамжуулж өгөх болно, ингэснээр та ч гэсэн өөрөө хийх боломжтой болно.

Алхам 1: Шаардлагатай материалыг цуглуулах

Шаардлагатай материалыг цуглуулах
Шаардлагатай материалыг цуглуулах

Эхлэхийн тулд шаардлагатай материалуудын жагсаалтыг доор харуулав."

1. Arduino Board, илүү тохиромжтой Arduino Uno

2. Үндсэн талхны самбар

3. 1х 220 ом эсэргүүцэл

4. Янз бүрийн өнгөний төрөл бүрийн утаснууд

5. Микро USB -ээс USB кабель

6. Самбар дээр холбох боломжтой чанга яригч

7. Фотоэлектрик мэдрэгч

8. Температур мэдрэгч

9. Борооны усны мэдрэгч

10. Хөрсний чийгшил мэдрэгч

11. Matlab 2017, Arduino Support Pack суулгасан компьютер (Дэмжлэгийн багцыг Нэмэлтүүд дотроос олж болно)

Алхам 2: Удирдах зөвлөлийг холбож, холбоно уу

Удирдах зөвлөлийг холбож, холбоно уу
Удирдах зөвлөлийг холбож, холбоно уу

Самбарыг дээр үзүүлсэн шиг утсаар эсвэл өөрт тохирсон байдлаар эхлүүлээрэй. Самбарыг утсаар холбох хязгааргүй аргууд байдаг тул яг тохиргоо нь танд хамаарна. Самбарыг утсаар холбосны дараа мэдрэгчээ холбож эхэл. Борооны ус, хөрсний чийг ба гэрэл цахилгаан мэдрэгч нь бүгд аналог гаралт тул Arduino-ийн аналог хэсэгт холбогдсон эсэхийг шалгаарай. Нөгөө талаар температур мэдрэгч нь дижитал гаралт тул үүнийг Arduino дээрх боломжтой дижитал оролтод холбосон эсэхийг шалгаарай. Arduino нь 3.3v ба 5v -ийн гаралттай байх ёстой, тиймээс мэдрэгчүүд нь тохирох хүчдэлд холбогдсон эсэхийг шалгаарай.

Самбарыг зөв холбосон гэдэгт итгэлтэй болсны дараа компьютераасаа USB кабелийг залгаарай. Matlab-ийг нээж, нэмэлт програмуудын доор Arduino Support Package-ийг суулгасан эсэхээ шалгаад "fopen (serial ('nada')))" командыг ажиллуулна уу. Алдаа гарч ирэх ёстой бөгөөд алдаа нь мэдэгдэх ёстой танд дугаартай бэлэн компорт байна. "a = arduino ('comx', 'uno')" тушаалыг ажиллуулна уу, энд x бол таны компортны тоо бөгөөд таны Arduino -г объекттой харьцуулах болно. Arduino дээрх LED холбогдсоныг илтгэхийн тулд хурдан анивчих ёстой.

Алхам 3: Фотоэлектрик ба температур мэдрэгчийг кодчилно уу

Фотоэлектрик ба температур мэдрэгчийг кодчилно уу
Фотоэлектрик ба температур мэдрэгчийг кодчилно уу

Кодлохоосоо өмнө мэдрэгчүүдээ Arduino дээр хаана холбож байснаа тэмдэглэж аваарай, энэ нь readVoltage командын хувьд чухал байх болно. Нарны гэрлийн хувьсах хэмжигдэхүүнийг "readVoltage (a, 'X#') 'командтай тэнцүү тохируулснаар кодоо эхлүүлээрэй. Энд X# нь таны холбогдсон порт бөгөөд a нь тухайн хувьсагчтай холбосон Arduino -ийг дуудах болно. If хэллэгийг эхлүүлнэ үү., мөн нарны гэрлийн анхны нөхцлийг тохируул <3. Гаралтыг "info. TOD = 'night'" гэж тохируулж өдрийн цагийг бүтцээр нь гаргаад дараа нь "info. TOD = 'гэсэн гаралттай өөр мэдэгдэл нэмнэ үү. өдөр '". Энэ бол өөр мэдэгдэл тул 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' "гаралтыг нэмнэ үү. 2. "&&" нэмээд <= 4. гэсэн өөр readVoltage командыг тохируулна уу. Түүний гаралтыг "info.soil = 'оновчтой ханалт'" болгож тохируулна уу. ", мөн төгсгөл нэмэхээ бүү мартаарай.

Нэвтрэх зориулалттай код

хэрэв readVoltage (a, 'A0')> 4 мэдээлэл. Бороо = 'хур тунадас орохгүй'

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 нь мэдээллийн бүтцэд байгаа дэд бүтцийн нэр юм. "String newline" -ийг ашиглан мессежийн хайрцагт шинэ мөр нэмж оруулах ба дээр дурдсан 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 = ['Температур нь (deg F)', num2str (info.tempF)]

string = [string newline 'Хөрс бол', num2str (info.soil)]

string = [string newline 'Гадна хур тунадас байна', num2str (info. Rain)]

string = [string newline 'Өдрийн цаг бол', num2str (info. TOD)]

msgbox (мөр)

Алхам 6: Дүгнэлт

Дүгнэлт
Дүгнэлт

Дэлхий нийт урьд өмнө ургацаас хурааж авсан бүтээгдэхүүний синтетик хувилбаруудад улам бүр найдсаар байгаа ч хөдөө аж ахуй нь урт хугацаанд эдийн засгийн чухал, чухал хүчин зүйл хэвээр байх болно. Тариаланчдад ургацынхаа ихэнх хэсгийг авахад тариалангийн талбайг зохих ёсоор хянах нь маш чухал бөгөөд манай төхөөрөмжөөр тариалангийн талбайг алсаас хянах боломжтой төдийгүй үүнийг хямд, хялбар аргаар хийх боломжтой юм. суулгах, найдвартай арга. Энэхүү гарын авлага нь мэдээлэл сайтай, дагаж мөрдөхөд хялбар болсон гэж найдаж байна, гэхдээ үүнийг хэрэгжүүлэх эсвэл туршихыг хүсч байгаа боловч энэ төхөөрөмж ашигтай болно гэж найдаж байна.

Аз жаргалтай кодчилол, Хөдөө аж ахуйн мэдрэгчийн массивын баг

Зөвлөмж болгож буй: