Spisu treści:

Wilgotność gleby z węzłem: 7 kroków
Wilgotność gleby z węzłem: 7 kroków

Wideo: Wilgotność gleby z węzłem: 7 kroków

Wideo: Wilgotność gleby z węzłem: 7 kroków
Wideo: Zakładanie trawnika w 7 krokach 2024, Listopad
Anonim
Image
Image
Gleba wilgotna z węzłem
Gleba wilgotna z węzłem
Gleba wilgotna z węzłem
Gleba wilgotna z węzłem
Gleba wilgotna z węzłem
Gleba wilgotna z węzłem

W tym podręczniku pokażę, jak wykonać czujnik gleby domowej dla systemu Gardenhealth. Pokażę Ci czego potrzebujesz, podam kilka przykładów kodu i jak go zaimplementować.

Na końcu instrukcji dowiesz się, jak zmienić kolor paska led, gdy gleba jest mokra, trochę mokra lub sucha.

W tym podręczniku będę używał:

  • Arduino w wersji 1.8.9
  • Biblioteka Adafruit_NeoPixel.h

Kieszonkowe dzieci

Będziesz potrzebować:

  • NodeMCU 1.0 (moduł ESP-12E)
  • 1 kabel żeński na żeński
  • Pasek LED
  • (Opcjonalnie) Homade czujnik gleby (Obejrzyj film powyżej do 00:36)

Krok 1: Konfiguracja

Ustawiać
Ustawiać
Ustawiać
Ustawiać
Ustawiać
Ustawiać
Ustawiać
Ustawiać
  • Weź swój węzeł i czujnik gleby.
  • Podłącz czujnik gleby do A0.(Zdjęcie 1) (alternatywnie weź żeński kabel stript i podłącz go do A0 (Zdjęcie 3)

Weź pasek LED i umieść GND w G, 5 V na 3 V, a środkowy kabel w D5. (Zdjęcie 2)

Teraz będzie wyglądać jak ostatnie zdjęcie.

Krok 2: Dodawanie kodu dla czujnika gleby

Dodawanie kodu dla czujnika gleby
Dodawanie kodu dla czujnika gleby
  • Zrób nowy projekt w arduino IDE
  • Wklej następujący kod:

/* Wejście analogowe, wyjście analogowe, wyjście szeregowe

Odczytuje analogowy pin wejściowy, mapuje wynik w zakresie od 0 do 255 i wykorzystuje wynik do ustawienia modulacji szerokości impulsu (PWM) pinu wyjściowego. Drukuje również wyniki do monitora szeregowego.

Układ: - potencjometr podłączony do pinu analogowego 0. Środkowy pin potencjometru biegnie do pinu analogowego. boczne piny potencjometru idą do +5V a masa - dioda LED podłączona z cyfrowego pinu 9 do masy

utworzony 29 grudnia 2008 r. zmodyfikowany 9 kwietnia 2012 r. przez Toma Igoe

Ten przykładowy kod znajduje się w domenie publicznej.

www.arduino.cc/en/Tutorial/AnalogInOutSeri… *

/ Te stałe się nie zmienią. Służą one do nadawania nazw użytym pinom: const int analogInPin = A0; // Pin wejścia analogowego, do którego podłączony jest potencjometr const int analogOutPin = D5; // Pin wyjścia analogowego, do którego podłączona jest dioda LED

int sensorValue = 0; // wartość odczytana z puli

void setup() { // zainicjuj komunikację szeregową przy 9600 bps: Serial.begin(9600); }

void loop() { // odczytaj wartość analogową: sensorValue = analogRead(analogInPin);

// wydrukuj wyniki do monitora szeregowego: Serial.print("czujnik = "); Serial.print(wartość czujnika); Serial.print("\n"); // Serial.println(wartośćwyjściowa);

// odczekaj 1 milisekundę przed następną pętlą, aby konwerter analogowo-cyfrowy // ustalił się po ostatnim odczycie: delay(1000); }

Teraz możesz sprawdzić, czy Twój czujnik podaje wartość.

Dotknij końca śruby lub kabla, a zobaczysz coś takiego jak zdjęcie 1

Jeśli to nie działa, sprawdź kable. Czy są prawidłowo podłączone?

Krok 3: Biblioteka Neopixel

Biblioteka Neopiksela
Biblioteka Neopiksela
  • Pobierz bibliotekę adafruit_neopixel (jeśli jeszcze tego nie zrobiłeś).

    • Przejdź do narzędzi>zarządzaj bibliotekarzami
    • szukaj adafruit neopixel zdjęcie 1
    • Zainstaluj wersję 1.2.5

Krok 4: Konfiguracja kodu Neopixel

  • Dodaj następujące elementy u góry swojego projektu

    • #włączać
    • #włączać
    • #include "Adafruit_NeoPixel.h"
  • Poniżej:

znak ssid = "identyfikator SS"; // SSID sieci (nazwa)

znak hasło = "hasło"; // twoje hasło sieciowe

A poniżej tego

#define PIXEL_PIN D5#define PIXEL_COUNT 30 //zmień sposób wyświetlania diod LED na pasku

#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

Adafruit_NeoPixel piksele = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

Krok 5: Konfiguracja pustki

Umieść następujący kod w konfiguracji voide ()

piksele.początek(); // INICJALIZUJ obiekt paska NeoPixel (WYMAGANE)pixels.show(); // WYŁĄCZ wszystkie piksele JAK NAJSZYBCIEJ

piksele.setJasność(50); //musi wynosić od 0 do 255, jeśli chcesz, aby pasek led był jaśniejszy, możesz zwiększyć liczbę

Krok 6: Pętla pustki

W void loop() i poniżej delay(1000); wprowadź następujący kod

if (WartośćCzujnika == 0 ||WartośćCzujnika <= 200) {

for(int i=0; i

piksele.setPixelColor(i, 255, 0, 0);

piksele.pokaż();

}

}else if (sensorValue > 200 || sensorValue <= 500) {

dla (int i=0; i

piksele.setPixelColor(i, 0, 255, 0);

piksele.pokaż();

}

} else if (sensorValue > 500) {

for(int i=0; i

piksele.setPixelColor(i, 0, 0, 255);

piksele.pokaż();

}

}

}

Krok 7: Sprawdź

Sprawdzać
Sprawdzać
Sprawdzać
Sprawdzać

Gratulacje! Właśnie stworzyłeś system, który może wskazać, czy gleba jest mokra czy sucha.

Teraz, gdy umieścisz czujnik w mokrej glebie, dioda LED zmieni kolor na zielony, a gdy będzie w suchej glebie, zmieni kolor na czerwony. Jak na powyższych zdjęciach.

Zalecana: