Talaan ng mga Nilalaman:

Ang Araw ng Pang-agrikultura Sensor: 6 na Hakbang
Ang Araw ng Pang-agrikultura Sensor: 6 na Hakbang

Video: Ang Araw ng Pang-agrikultura Sensor: 6 na Hakbang

Video: Ang Araw ng Pang-agrikultura Sensor: 6 na Hakbang
Video: Secret Intelligent. Paano mo Malalaman na IKAW ay LIHIM na MATALINO? 2024, Nobyembre
Anonim
Ang Araw ng Pang-agrikultura Sensor
Ang Araw ng Pang-agrikultura Sensor

Isang proyekto ni Jackson Breakell, Tyler McCubbins at Jakob Thaler para sa EF 230

Ang agrikultura ay isang mahalagang kadahilanan ng produksyon sa Estados Unidos. Ang mga pananim ay maaaring gamitin para sa iba't ibang mga iba't ibang mga layunin, mula sa mga hilaw na materyales para sa paggawa ng damit, mga gamot at additives ng pagkain upang idirekta ang pagkonsumo ng mga bahagi ng ani, na madalas ang tumutubo na prutas. Ang karamihan ng mga pananim sa Estados Unidos ay lumago sa labas, kung saan ang mga kondisyon ng panahon o temperatura ay hindi mapigilan sa isang malaking sukat. Dahil sa kung gaano kalubhang masamang kondisyon ng panahon ang maaaring makaapekto sa paglago ng mga pananim, na nakakaapekto sa ekonomiya ng Estados Unidos, ang pagsubaybay sa mga kondisyon ng isang taniman ng tanim ay naging mahalaga.

Ang aming aparato, ang Pang-agrikultura Sensor Array, ay nagbibigay-daan sa mga magsasaka na subaybayan ang kalagayan ng paunang napiling mga bahagi ng kanilang bukid gamit ang 4 na sensor: isang sensor ng tubig-ulan, isang sensor ng kahalumigmigan sa lupa, isang sensor ng temperatura at isang sensor na photoelectric. Pinapayagan ng kombinasyon ng mga sensor na ito ang isang magsasaka na sapat na planuhin ang output ng ani ng panahon, ayusin para sa masyadong kaunti o sobrang ulan, mas mahusay na makitungo sa mga sakuna na maaaring pumatay sa mga pananim at makatipid ng oras at problema mula sa pagkuha ng mga sample ng lupa at paggamit ng mas mamahaling kagamitan sa sensor. Sa Instructable na ito, lalakasan ka namin sa pamamagitan ng mga kable at pag-cod sa likod ng aming Pang-agrikultura Sensor Array, kaya maaari mo ring gawin ang iyong sarili.

Hakbang 1: Ipunin ang Mga Kinakailangan na Materyales

Ipunin ang Mga Kinakailangan na Materyal
Ipunin ang Mga Kinakailangan na Materyal

Nasa ibaba ang isang listahan ng mga kinakailangang materyal na kakailanganin mo upang makapagsimula"

1. Arduino Board, mas mabuti ang Arduino Uno

2. Pangunahing pisara

3. 1x 220 ohm risistor

4. Iba't ibang mga wires ng iba't ibang kulay

5. Micro USB sa USB cable

6. Tagapagsalita na maaaring mai-board

7. Sensor ng Photoelectric

8. Sensor ng Temperatura

9. Sensor ng tubig-ulan

10. Sensor ng Moisture ng Lupa

11. Computer na may Matlab 2017 at Arduino Support Package na naka-install (Suporta package ay maaaring matagpuan sa ilalim ng Add-Ons)

Hakbang 2: Wire the Board at Connect

Wire ang Lupon at Kumonekta
Wire ang Lupon at Kumonekta

Magsimula sa pamamagitan ng alinman sa mga kable sa board tulad ng ipinakita sa itaas, o sa anumang paraan na pinakaangkop sa iyo. Mayroong literal na walang limitasyong mga paraan na maaaring mai-wire ang board, kaya't ang eksaktong pagsasaayos ay nasa iyo talaga. Matapos ma-wire ang board, simulang ilakip ang iyong mga sensor. Ang tubig-ulan, kahalumigmigan sa lupa at sensor ng photoelectric ay pawang mga analog output, kaya tiyaking naka-wire ang mga ito sa seksyon ng analog-in ng Arduino. Ang sensor ng temperatura, sa kabilang banda, ay isang digital output, kaya tiyaking naka-wire ito sa isang magagamit na digital input sa iyong Arduino. Ang Arduino ay dapat magkaroon ng mga output para sa 3.3v at 5v, kaya tiyaking nakakonekta ang mga sensor sa mga voltages na katugma nila.

Matapos mong matiyak na ang board ay na-wire nang tama, i-plug ang Micro USB sa USB cable mula sa iyong computer papunta sa Micro USB port sa iyong computer, at i-on ang iyong Arduino. Buksan ang Matlab, at, tinitiyak na na-install mo ang Arduino Support Package sa ilalim ng Add-Ons, patakbuhin ang utos na "fopen (serial ('nada'))", nang walang ". Dapat na mag-pop up ang isang error, at dapat sabihin ng error ikaw ay mayroong isang magagamit na comport na may isang numero. Patakbuhin ang utos na "a = arduino ('comx', 'uno')", kung saan x ang bilang ng iyong comport, upang mapa ang iyong Arduino sa isang bagay. Ang LED sa Arduino dapat mabilis na flash upang ipahiwatig na ito ay konektado.

Hakbang 3: I-code ang Photoelectric at Mga Sensor ng Temperatura

Code ang Photoelectric at Temperatura Sensors
Code ang Photoelectric at Temperatura Sensors

Bago ka magsimula sa pag-coding, gumawa ng isang tala kung saan nakakonekta ang iyong mga sensor sa Arduino, dahil ito ay magiging mahalaga para sa readVoltage na utos. Simulan ang iyong code sa pamamagitan ng pagtatakda ng variable ng sikat ng araw na katumbas ng utos na "readVoltage (a, 'X #') ', kung saan ang X # ay ang port na nakakonekta mo, at isang tumatawag lamang sa Arduino na nai-map mo sa variable na iyon. Magsimula ng isang pahayag, at itakda ang unang kundisyon para sa sikat ng araw <3. Itakda ang output bilang "info. TOD = 'night'" upang i-output ang oras ng araw bilang isang istraktura, at pagkatapos ay magdagdag ng ibang pahayag na may output bilang "info. TOD = ' araw '". Dahil ito ay ibang pahayag, hindi namin kailangan ng isang kundisyon, dahil gagana ito para sa lahat ng iba pang mga halagang hindi tinukoy sa kung pahayag. Siguraduhing natapos mo ang iyong pahayag kung may pagtatapos, at magpatuloy sa programa ang sensor ng temperatura.

Itakda ang variable thermo na katumbas ng isa pang utos na readVoltage, ang utos ay "readVoltage (a, 'X #')". Sa aming kaso, ang temperatura ay kinailangang baguhin mula sa mga yunit ng boltahe patungong Celsius, kaya ang equation na "tempC = (thermo-.5). * 100" upang mai-convert mula sa boltahe patungong Celsius. Alang-alang sa kadalian, binago namin ang temperatura sa Celsius patungong Fahrenheit, ngunit ito ay pulos opsyonal.

Code para sa mga layunin sa pag-paste

sikat ng araw = readVoltage (a, 'A1') kung sikat ng araw <3

impormasyon. TOD = 'gabi'

iba pa

impormasyon. TOD = 'araw'

magtapos

thermo = readVoltage (a, 'A3');

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

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

Hakbang 4: I-code ang Sensor ng Tubig ng ulan at Soil Moisture

I-code ang Mga Tag-ulan at Soil Moisture Sensor
I-code ang Mga Tag-ulan at Soil Moisture Sensor

Tulad ng nakasaad sa huling hakbang, tiyaking alam mo kung anong mga port ang iyong mga sensor na naka-plug in sa Arduino board, dahil gagawing mas nakakainis ang hakbang na ito. Magsimula sa sensor ng tubig-ulan, at magsimula ng isang pahayag. Itakda ang unang kundisyon para sa "readVoltage (a, 'X #')> 4", at itakda ang output nito sa "info. Rain = 'walang pag-ulan". Magdagdag ng iba pa, at itakda ang kondisyon nito sa readVoltage na utos dati, ngunit itakda ito sa> 2. Magdagdag ng isang "&&" upang magpahiwatig ng isa pang kundisyon na dapat matupad, at itakda ito sa isang readVoltage na utos tulad ng dati, at itakda ito sa <= 4. Ang output ay "info. Rain = 'misting'". Panghuli, magdagdag ng iba pa at itakda ang output nito sa "info. Rain = 'downpour'". Maaaring kailanganin mong ayusin ang mga halaga para sa mga kundisyon batay sa ambient na halumigmig ng silid na iyong pinagtatrabahuhan.

Susunod, simulan ang code para sa sensor ng kahalumigmigan ng lupa, at magsimula sa isang kung pahayag. Itakda ang kundisyon ng pahayag kung sa "readVoltage (a, 'X #')> 4, at idagdag ang output na" info.soil = 'dry' ". Magdagdag ng ibang pahayag, at gamit ang readVoltage na utos sa itaas, itakda ito para sa> 2. Magdagdag ng isang "&&", at magtakda ng isa pang utos na readVoltage para sa <= 4. Itakda ang output nito sa "info.soil = 'optimal saturation'". Magdagdag ng ibang pahayag at itakda ang output nito sa "info.soil = 'baha' ", at huwag kalimutang magdagdag ng isang wakas.

Code para sa mga layunin sa pag-paste

kung readVoltage (a, 'A0')> 4 na impormasyon. Ulan = 'walang ulan'

kung hindi man basahin ang Voltage (a, 'A0')> 2 && readVoltage (a, 'A0') <= 4

info. Rain = 'misting'

iba pa

info. Rain = 'downpour'

magtapos

kung readVoltage (a, 'A2')> 4

info.soil = 'dry'

kung hindi man basahin ang Voltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

info.soil = 'pinakamainam na saturation'

iba pa

info.soil = 'pagbaha'

magtapos

Hakbang 5: Pag-coding ng Output ng Speaker at Box ng Mensahe

Speaker at Output Coding ng Kahon ng Mensahe
Speaker at Output Coding ng Kahon ng Mensahe

Ang mga output para sa aparatong ito ay maaaring magkakaiba-iba, ngunit, sa kasong ito, mailalakad ka namin sa isang output ng speaker na naka-mount nang direkta sa isang aparato at isang output box ng mensahe na maaaring matingnan sa isang malayong computer. Ang aming tagapagsalita ay dinisenyo upang maglabas ng iba't ibang mga frequency, mas mababa ang ibig sabihin ng mas masahol pa, para sa pinakamainam na temperatura ng pag-crop, sikat ng araw, kahalumigmigan ng lupa at pag-ulan. Simulan ang iyong output code ng speaker na may isang pahayag kung, at itakda ang kondisyon nito sa utos na "readVoltage (a, 'X #')> 4 || info.tempF = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4 ". Idagdag ang parehong utos ng playTone tulad ng ipinakita sa itaas, ngunit baguhin ang 200 hanggang 1000 upang makabuo ng isang mas mataas, mas positibong tono. Pagkatapos, magdagdag ng iba pa, at idagdag muli ang parehong utos ng playTone, ngunit baguhin ang 1000 hanggang 1500. Ang mga magkakaibang tono na ito ay nagpapahiwatig ng kalubhaan ng sitwasyon ng patlang. Tiyaking nagdagdag ka ng isang pagtatapos upang makumpleto ang iyong kung pahayag.

Ang aming panghuling seksyon ng code ay magiging isang output na gumagawa ng isang kahon ng mensahe. Lumikha ng isang string gamit ang 'mga marka sa mga braket, at i-convert ang mga bahagi ng iyong istraktura sa mga string sa pamamagitan ng paggamit ng utos na "num2str (info.x)", kung saan ang x ay isang pangalan ng substructure sa istraktura ng impormasyon. Gumamit ng "string newline" upang magdagdag ng mga bagong linya sa iyong kahon ng mensahe, at i-type ang iyong mensahe sa teksto gamit ang marka ng panipi, pagdaragdag ng aktwal na halaga ng patlang sa string gamit ang nabanggit na utos na num2str. Panghuli, na tinukoy ang string, ginamit ang utos na "msgbox (string)" upang ipakita ang data bilang isang kahon ng mensahe sa iyong monitor.

Code para sa mga layunin sa pag-paste

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

kung hindi man sikat ng araw> = 3 || readVoltage (a, 'A2')> 2 && readVoltage (a, 'A0') <= 4

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

iba pa

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

magtapos

string = ['Ang temp ay (deg F)', num2str (info.tempF)]

string = [string newline 'Ang lupa ay', num2str (info.soil)]

string = [string newline 'Ang labas ng ulan ay', num2str (info. Rain)]

string = [string newline 'Ang oras ng araw ay', num2str (info. TOD)]

msgbox (string)

Hakbang 6: Konklusyon

Konklusyon
Konklusyon

Habang ang mundo ay patuloy na umaasa ng higit pa at higit pa sa mga gawa ng tao na kahalili sa mga item na naani mula sa mga pananim, ang agrikultura ay tiyak na mananatiling isang nauugnay at mahalagang kadahilanan ng ekonomiya sa loob ng mahabang panahon. Ang sapat na pagsubaybay sa bukirin ay mahalaga para sa isang magsasaka upang masulit ang kanyang ani, at, gamit ang aming aparato, hindi lamang posible na subaybayan ang buong lupang sakahan nang malayuan, ngunit posible na gawin ito sa isang murang, madaling i-install at maaasahang paraan. Inaasahan namin na ang gabay na ito ay napatunayan na nagbibigay-kaalaman at madaling sundin, at inaasahan naming ang aparato ay napatunayan na kapaki-pakinabang para sa gayunpaman nais mong ipatupad o mag-eksperimento dito.

Maligayang pag-coding, Ang Koponan ng Array ng Sensor ng Pang-agrikultura

Inirerekumendang: