Jak podłączyć czujnik wilgotności do Arduino?

Kiedy wybierasz się gdzieś daleko przez pewien okres czasu? Twoje rośliny doniczkowe brak wody, więc musimy poprosić o pomoc swoich sąsiadów, co z kolei może być zaniedbania w leczeniu tego. W rezultacie, przed twoim przybyciem rośliny poczują się źle. Aby tego uniknąć, możesz wykonać automatyczny system nawadniania. W tym celu potrzebujemy czujnika Arduino i czujnika wilgoci. W artykule przyjrzyjmy się przykładowi podłączenia i pracy z czujnikiem FC-28. Udowodnił się z pozytywnej strony, z pomocą niego powstały tysiące projektów.

do czujnika FC-28

Czujnik wilgotności dla określenia podstawy dużo, jednak najbardziej popularna jest model FC-28. Ma niską cenę, dlatego jest szeroko wykorzystywany przez wszystkich radioamatorów w swoich projektach. Wykorzystywany jest czujnik wilgotności gleby Arduino. Ma dwie sondy, które przewodzą prąd elektryczny przez ziemię. Okazuje się, że jeśli gleba jest wilgotna, to rezystancja pomiędzy sondami jest mniejsza. W suchym lądzie opór jest większy. Arduino akceptuje te wartości, porównuje i, jeśli to konieczne, obejmuje na przykład pompę. Czujnik może pracować zarówno w trybie cyfrowym, jak i analogowym, obie opcje połączenia rozważymy. FC-28 stosowany jest głównie w małych projektów, takich jak automatyczne podlewanie jednej konkretnej rośliny, stosowane na dużą skalę ze względu na jego nietypowej wielkości i braków, które uważamy.


Gdzie kupić

Faktem jest, że w rosyjskich sklepachczujniki do pracy z Arduino są stosunkowo drogie. Średnia cena tego czujnika w Rosji waha się od 200 do 300 rubli, podczas gdy na Aliexpress ten sam czujnik kosztuje tylko około 30-50. Znaczniki są ogromne. Oczywiście nadal możesz zrobić czujnik do pomiaru wilgotności gleby własnymi rękami, ale o tym poniżej.

Informacje o połączeniu

Czujnik wilgotności jest bardzo łatwo podłączony do Arduino. W zestawie z nim znajduje się komparator i potencjometr do regulacji czułości czujnika, a także do ustawiania wartości granicznej po podłączeniu przez wyjście cyfrowe. Sygnał wyjściowy, jak już wspomniano powyżej, może być cyfrowy i analogowy.

Podłącz przez wyjście cyfrowe

Łączy się prawie w taki sam sposób jak analog:
  • VCC-5V na Arduino.
  • D0 - D8 na tablicy Arduino.
  • GND to ziemia.
  • Jak już wspomniano powyżej, komparator i potencjometr znajdują się na module czujnika. Działa to wszystko: za pomocą potencjometru ustawiamy wartość graniczną naszego czujnika. FC-28 porównuje wartość z granicą, a następnie wysyła wartość do Arduino. Na przykład wartość czujnika jest wyższa niż wartość progowa, w tym przypadku czujnik wilgotności na Arduino transmituje 5V, a mniej - 0V. Wszystko jest bardzo proste, ale dokładniejsze wartości są w trybie analogowym, więc zaleca się go używać.


    Schemat połączenia elektrycznego wygląda tak, jak przedstawiono powyżej. Kod oprogramowania Arduino do korzystania z trybu cyfrowego pokazano poniżej.

    int led_pin = 13;
    int sensor_pin = 8;
    void setup () {
    pinMode (led_pin, OUTPUT);
    pinMode (sensor_pin, INPUT);
    }
    nieważności pętli () {
    jeśli (digitalRead (sensor_pin) == WYSOKI) {
    digitalWrite (led_pin, wysoka);
    } else {
    digitalWrite (led_pin, LOW);
    opóźnienie (1000);
    }
    }

    Co robi nasz kod? Pierwszy czyn był naznaczony dwiema zmiennymi. Pierwsza zmienna - led_pin - służy do wskazania diody LED, a druga - do oznaczenia czujnika wilgotności ziemi. Następnie ogłaszamy styk diody LED jako wyjście, a styk czujnika jako wejście. Jest to konieczne, abyśmy mogli uzyskać wartość, a jeśli to konieczne, włączyć diodę LED, aby wizualnie zobaczyć, że wartość czujnika jest powyżej progu. W pętli odczytujemy wartość z czujnika. Jeśli wartość jest powyżej limitu - włącz diodę LED, jeśli poniżej - wyłącz ją. Zamiast diody emitującej światło może być pompa, wszystko zależy od ciebie.


    & lt; script type = "text /javascript" & gt;
    zmienna blockSettings2 = {blockID "R-A-271049-5" renderTo "yandex_rtb_R-A-70350-39" asynchroniczny :! 0};
    if (document.cookie.indexOf ("abmatch =") & gt; = 0) blockSettings2.statId = 70350;
    ! Zastosowanie (a, b, c, d, e) {A [c] = A [c] || [] A [c] .Push (funkcja () {Ya.Context.AdvManager.render (blockSettings2)}), e = b.getElementsByTagName ("scenariusz")d = b.createElement ("scenariusz") d.type = "text /JavaScript" d.src = „//an.yandex .ru /System /context.js "d.async = 0e.parentNode.insertBefore (d, e)} (to this.document," yandexContextAsyncCallbacks „);

    Tryb analogowy

    Aby połączyć się przez wyjście analogowe, musisz pracować z A0. Czujnik wilgotności gleby w Arduino przyjmuje wartości od 0 do 1023. Podłącz czujnik w następujący sposób:

    • VCC połączyć z 5V do Arduino.
    • Podłącz GND do czujnika do GND na karcie Arduino.
    • ​​
    • A0 połączyć się z A0 na Arduino.

    Następnie w Arduino, przepisujemy poniższy kod.

    int sensor_pin = A0;
    int wartość_wyjściowa;

    void setup () {
    Serial.begin (9600);
    Serial.println ("Przeczytajczujnik „),
    opóźnienia (2000),
    }

    nieważności pętli () {
    output_value = analogRead (sensor_pin),
    output_value = map (output_value, 55000100)
    Serial.print ("wilgotności"),
    Serial.print (output_value),
    Serial.println ("%"),
    opóźnienia (1000),
    }
    , (69 )
    tak, to co robi ten kod źródłowy? pierwszą rzeczą było ustawić zmienne. pierwsza zmienna potrzebne do określenia czujników, a drugi będzie przechowywać wyniki, które otrzymamy, przez czujnik. Następnie odczytać danych. W serialu mamy stworzyliśmy wartości zmiennych rekord output_value od czujnika. następnie obliczono procent wilgotności gleby, a następnie wyświetla je Pan monitorowanie portu. schemat połączeń elektrycznych przedstawionej poniżej.

    Ręce

    Przede to zostało omówione w jaki sposób połączyć się z czujnikiem wilgotności gleby Arduino. Problem z tymi czujnikami polega na tym, że są one krótkotrwałe. Faktem jest, że są one bardzo podatne na korozję. Niektóre firmy tworzą czujniki ze specjalną powłoką, aby zwiększyć żywotność, ale nadal jest źle. Ponadto użycie czujnika nie jest często używane, ale tylko wtedy, gdy jest to konieczne. Na przykład istnieje kod programu, w którym czujnik odczytuje wartość wilgotności gleby co sekundę. Możesz przedłużyć żywotność, jeśli ją dodasz, na przykład raz dziennie. Ale jeśli to ci nie pasuje, możesz zrobić własnymi rękami czujnik wilgoci w glebie. Arduino nie odczuje różnicy. Zasadniczo system jest taki sam. Zamiast dwóch czujników można umieścić własne i użyć mniej odpornego na korozję materiału. Idealnie byłoby oczywiście użyć złota, ale biorąc pod uwagę jego cenę, będzie to bardzo kosztowne.Ogólnie rzecz biorąc, jest taniej kupić, biorąc pod uwagę cenę FC-28.

    Plusy i minusy

    W artykule omówiono opcje podłączenia czujnika wilgotności do Arduino i przedstawiono przykłady kodu oprogramowania. FC-28 to naprawdę dobry czujnik do określania wilgotności gleby, ale jakie są konkretne zalety i wady tego czujnika?

    Plusy:
  • Cena. Ten czujnik ma bardzo niską cenę, więc każdy amator radiowy może kupić i zbudować własny system automatycznego nawadniania roślin. Oczywiście, podczas pracy na dużą skalę, czujnik ten nie będzie pasował, ale nie jest do tego przeznaczony. Jeśli potrzebujesz czujnika mocniejszego - SM2802B, to dla niego i dawaj sporo.
  • Prostota. Każdy może opanować pracę z tym czujnikiem wilgoci w Arduino. Tylko kilka przewodów, kilka linii kodu - i wszystko. Kontrola wilgotności gleby jest wykonywana.
  • Minusy:
  • Skłonność do korozji. Jest to jedyny błąd tych czujników. Ale biorąc pod uwagę cenę, możesz zamknąć to oko. Przede wszystkim czujniki te zostały stworzone do szkolenia, a nie do praktycznego zastosowania w dużych projektach.
  • Powiązane publikacje