Spisu treści:

Macierz czujników rolniczych: 6 kroków
Macierz czujników rolniczych: 6 kroków

Wideo: Macierz czujników rolniczych: 6 kroków

Wideo: Macierz czujników rolniczych: 6 kroków
Wideo: wbiłam na scenę😱😱 2024, Lipiec
Anonim
Rolnicza tablica czujników
Rolnicza tablica czujników

Projekt Jacksona Breakella, Tylera McCubbinsa i Jakoba Thalera dla EF 230

Rolnictwo jest istotnym czynnikiem produkcji w Stanach Zjednoczonych. Uprawy mogą być wykorzystywane do wielu różnych celów, począwszy od surowców do produkcji odzieży, farmaceutyków i dodatków do żywności, po bezpośrednie spożycie części upraw, najczęściej kiełkujących owoców. Większość upraw w Stanach Zjednoczonych jest uprawiana na zewnątrz, gdzie warunki pogodowe i temperatura nie mogą być kontrolowane na dużą skalę. Biorąc pod uwagę, jak drastycznie niesprzyjające warunki pogodowe mogą wpłynąć na wzrost upraw, z kolei wpływając na gospodarkę Stanów Zjednoczonych, monitorowanie warunków na polach uprawnych staje się kluczowe.

Nasze urządzenie Rolnicza tablica czujników pozwala rolnikom monitorować stan wybranych części pola za pomocą 4 czujników: czujnika deszczówki, czujnika wilgotności gleby, czujnika temperatury i czujnika fotoelektrycznego. Połączenie tych czujników pozwala rolnikowi odpowiednio zaplanować plony w danym sezonie, dostosować się do zbyt małej lub zbyt dużej ilości deszczu, lepiej radzić sobie z katastrofami, które mogą zabić plony oraz zaoszczędzić czas i kłopoty związane z pobieraniem próbek gleby i używaniem droższego sprzętu czujnikowego. W tej instrukcji przeprowadzimy Cię przez okablowanie i kodowanie za naszą macierzą czujników rolniczych, dzięki czemu Ty również możesz tworzyć własne.

Krok 1: Zbierz potrzebne materiały

Zbierz potrzebne materiały
Zbierz potrzebne materiały

Poniżej znajduje się lista wymaganych materiałów, których będziesz potrzebować, aby rozpocząć"

1. Płytka Arduino, najlepiej Arduino Uno

2. Podstawowa płytka do krojenia chleba

3. Rezystor 1x220 omów;

4. Różne przewody w różnych kolorach

5. Kabel Micro USB na USB

6. Głośnik do montażu na płycie

7. Czujnik fotoelektryczny

8. Czujnik temperatury

9. Czujnik wody deszczowej

10. Czujnik wilgotności gleby

11. Komputer z zainstalowanym Matlab 2017 i Arduino Support Package (pakiet wsparcia można znaleźć w Add-Ons)

Krok 2: Podłącz płytkę i połącz

Podłącz płytkę i połącz
Podłącz płytkę i połącz

Zacznij od okablowania płytki, jak pokazano powyżej, lub w inny sposób, który najbardziej Ci odpowiada. Istnieje dosłownie nieograniczona liczba sposobów okablowania płyty, więc dokładna konfiguracja zależy od Ciebie. Po okablowaniu płytki zacznij podłączać czujniki. Czujniki wody deszczowej, wilgotności gleby i fotoelektryczne są wyjściami analogowymi, więc upewnij się, że są podłączone do sekcji wejścia analogowego Arduino. Z drugiej strony czujnik temperatury jest wyjściem cyfrowym, więc upewnij się, że jest podłączony do dostępnego wejścia cyfrowego w Arduino. Arduino powinno mieć wyjścia dla 3,3 V i 5 V, więc upewnij się, że czujniki są podłączone do napięć, z którymi są kompatybilne.

Po upewnieniu się, że płytka została prawidłowo okablowana, podłącz kabel Micro USB do USB z komputera do portu Micro USB w komputerze i włącz Arduino. Otwórz Matlab i, upewniając się, że zainstalowałeś pakiet wsparcia Arduino w dodatkach, uruchom polecenie „fopen(serial('nada'))”, bez „. Powinien pojawić się błąd, a błąd powinien powiedzieć masz dostępny comport z numerem. Uruchom polecenie "a=arduino('comx', 'uno')", gdzie x to numer twojego comport, aby zmapować Arduino do obiektu. Dioda LED na Arduino powinien szybko migać, wskazując, że jest podłączony.

Krok 3: Zakoduj czujniki fotoelektryczne i czujniki temperatury

Zakoduj czujniki fotoelektryczne i czujniki temperatury
Zakoduj czujniki fotoelektryczne i czujniki temperatury

Zanim zaczniesz kodować, zanotuj, gdzie są podłączone twoje czujniki w Arduino, ponieważ będzie to ważne dla polecenia readVoltage. Rozpocznij swój kod, ustawiając zmienną sunlight równą poleceniu „readVoltage(a, „X#”)”, gdzie X# to port, do którego jesteś podłączony, a a to po prostu wywołanie Arduino zmapowanego na tę zmienną. Rozpocznij instrukcję if, i ustaw pierwszy warunek dla światła słonecznego<3. Ustaw wyjście jako "info. TOD='noc'", aby wyświetlić godzinę jako strukturę, a następnie dodaj instrukcję else z wyjściem jako "info. TOD=' day'". Ponieważ jest to instrukcja else, nie potrzebujemy warunku, ponieważ będzie on działał dla wszystkich innych wartości, które nie zostały zdefiniowane w instrukcji if. Upewnij się, że instrukcja if została zakończona końcem i przejdź do programowania czujnik temperatury.

Ustaw zmienną thermo równą innemu poleceniu readVoltage, poleceniem jest "readVoltage(a, 'X#')". W naszym przypadku temperaturę trzeba było przeliczyć z jednostek napięcia na stopnie Celsjusza, więc równanie „tempC=(termo-.5).*100” przeliczało napięcie na stopnie Celsjusza. Dla ułatwienia przeliczyliśmy temperaturę w stopniach Celsjusza na stopnie Fahrenheita, ale jest to całkowicie opcjonalne.

Kod do wklejania

światło słoneczne=odczytajNapięcie(a, 'A1')jeśli światło słoneczne<3

info. TOD='noc'

w przeciwnym razie

info. TOD='dzień'

kończyć się

termo=odczytNapięcie(a, 'A3');

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

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

Krok 4: Zakoduj czujniki wody deszczowej i wilgotności gleby

Koduj czujniki wody deszczowej i wilgotności gleby
Koduj czujniki wody deszczowej i wilgotności gleby

Jak wspomniano w ostatnim kroku, upewnij się, że wiesz, do jakich portów są podłączone twoje czujniki na płycie Arduino, ponieważ sprawi to, że ten krok będzie znacznie mniej frustrujący. Zacznij od czujnika wody deszczowej i zacznij od instrukcji if. Ustaw pierwszy warunek dla "readVoltage(a, 'X#')>4" i ustaw jego wyjście na "info. Rain='brak opadów". Dodaj elseif i ustaw jego warunek na wcześniejszą komendę readVoltage, ale ustaw ją na >2. Dodaj „&&”, aby wskazać inny warunek, który musi być spełniony, i ustaw go na polecenie readVoltage, jak poprzednio, i ustaw go na <=4. Wynikiem będzie "info. Rain='misting'". Na koniec dodaj inny i ustaw jego wyjście na "info. Rain='downpour'". Może być konieczne dostosowanie wartości do warunków w oparciu o wilgotność otoczenia w pomieszczeniu, w którym pracujesz.

Następnie zacznij kod czujnika wilgotności gleby i zacznij od instrukcji if. Ustaw warunek instrukcji if na "readVoltage(a, 'X#')>4 i dodaj wyjście "info.soil='dry'". Dodaj instrukcję elseif i używając polecenia readVoltage powyżej, ustaw ją na > 2. Dodaj "&&" i ustaw inną komendę readVoltage dla <=4. Ustaw jej wyjście na "info.soil='optymalne nasycenie'". Dodaj instrukcję else i ustaw jej wyjście na "info.soil='flood'” i nie zapomnij dodać końca.

Kod do wklejania

if readVoltage(a, 'A0')>4 info. Deszcz='brak opadów'

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

info. Deszcz='zaparowanie'

w przeciwnym razie

info. Deszcz='ulewa'

kończyć się

jeśli odczytaj Napięcie(a, 'A2')>4

info.soil='suchy'

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

info.soil='optymalne nasycenie'

w przeciwnym razie

info.soil='powódź'

kończyć się

Krok 5: Kodowanie wyjścia głośnika i skrzynki wiadomości

Kodowanie wyjścia głośnika i skrzynki wiadomości
Kodowanie wyjścia głośnika i skrzynki wiadomości

Wyjścia dla tego urządzenia mogą się znacznie różnić, ale w tym przypadku przeprowadzimy Cię przez wyjście głośnikowe zamontowane bezpośrednio na urządzeniu i wyjście okna wiadomości, które można wyświetlić na zdalnym komputerze. Nasz głośnik został zaprojektowany tak, aby emitować różne częstotliwości, niższe, co gorsze, w celu uzyskania optymalnej temperatury upraw, światła słonecznego, wilgotności gleby i opadów. Rozpocznij kod wyjścia głośnika instrukcją if i ustaw jego warunek na polecenie "readVoltage(a, 'X#')>4 || info.tempF=3 || readVoltage(a, 'A2')>2 && readVoltage(a, 'A0')<=4". Dodaj to samo polecenie playTone, jak pokazano powyżej, ale zmień 200 na 1000, aby uzyskać wyższy, bardziej pozytywny ton. Następnie dodaj kolejne i ponownie dodaj to samo polecenie playTone, ale zmień 1000 na 1500. Te różne dźwięki wskazują powagę sytuacji na boisku. Upewnij się, że dodałeś koniec, aby uzupełnić oświadczenie if.

Nasza ostatnia sekcja kodu będzie wynikiem, który wygeneruje okno komunikatu. Utwórz ciąg, używając znaków ' w nawiasach, i przekonwertuj części swojej struktury na ciągi za pomocą polecenia "num2str(info.x)", gdzie x jest nazwą podstruktury w strukturze info. Użyj "string newline", aby dodać nowe linie do swojego pola wiadomości i wpisz wiadomość w tekście za pomocą cudzysłowu, dodając rzeczywistą wartość pola do ciągu za pomocą wspomnianego polecenia num2str. Wreszcie, po zdefiniowaniu ciągu, użyj polecenia „msgbox(string)”, aby wyświetlić dane jako okno komunikatu na monitorze.

Kod do wklejania

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

elseif światło słoneczne>=3 || readVoltage(a, 'A2')>2 && readVoltage(a, 'A0')<=4

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

w przeciwnym razie

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

kończyć się

string = ['Temperatura to (stopnie F)', num2str(info.tempF)]

string=[string nowa linia 'Gleba to ', num2str(info.soil)]

string=[string nowa linia 'Opad zewnętrzny to ', num2str(info. Rain)]

string=[string nowa linia 'Pora dnia to ', num2str(info. TOD)]

msgbox(ciąg)

Krok 6: Wniosek

Wniosek
Wniosek

Podczas gdy świat w coraz większym stopniu opiera się na syntetycznych alternatywach dla produktów wcześniej zbieranych z upraw, rolnictwo z pewnością pozostanie istotnym i ważnym czynnikiem gospodarki przez długi czas. Odpowiednie monitorowanie pól uprawnych jest kluczowe, aby rolnik mógł jak najlepiej wykorzystać swoje zbiory, a dzięki naszemu urządzeniu nie tylko można zdalnie monitorować całe pole uprawne, ale można to zrobić w tani, łatwy w obsłudze zainstalować i niezawodny sposób. Mamy nadzieję, że ten przewodnik okazał się pouczający i łatwy do naśladowania, a także mamy nadzieję, że urządzenie okaże się przydatne, niezależnie od tego, jak chcesz je wdrożyć lub eksperymentować.

Udanego kodowania, Rolniczy zespół matryc czujników

Zalecana: