Cuprins:

Soil Moister With Node: 7 pași
Soil Moister With Node: 7 pași

Video: Soil Moister With Node: 7 pași

Video: Soil Moister With Node: 7 pași
Video: DIY Soil NPK Meter || Measure Soil Nutrient Content using Soil NPK Sensor & Arduino 2024, Noiembrie
Anonim
Image
Image
Soil Moist With Node
Soil Moist With Node
Soil Moist With Node
Soil Moist With Node
Soil Moist With Node
Soil Moist With Node

În acest manual vă voi arăta cum să realizați un senzor de sol pentru sistemul de sănătate pentru grădină. Vă voi arăta de ce aveți nevoie, vă voi da câteva exemple de cod și cum să implementați codul.

La sfârșitul instrucțiunilor, veți ști cum să schimbați culoarea benzii cu leduri când solul este umed, puțin umed sau uscat.

În acest manual voi folosi:

  • Versiunea Arduino 1.8.9
  • Biblioteca Adafruit_NeoPixel.h

Provizii

Veți avea nevoie de:

  • NodeMCU 1.0 (modul ESP-12E)
  • 1 cablu de la mamă la mamă
  • O bandă LED
  • (Opțional) Senzor de sol Homade (Urmăriți videoclipul de mai sus până la 00:36)

Pasul 1: Configurare

Înființat
Înființat
Înființat
Înființat
Înființat
Înființat
Înființat
Înființat
  • Luați nodul și senzorul de sol.
  • Conectați senzorul de sol la A0. (Foto 1) (luați alternativ un cablu feminin stript și conectați-l la A0 (Foto 3)

Luați banda LED și puneți GND în G, 5V pe 3V și cablul din mijloc în D5. (Foto 2)

Acum va arăta ceva ca ultima fotografie.

Pasul 2: Adăugarea unui cod pentru senzorul de sol

Adăugarea codului pentru senzorul de sol
Adăugarea codului pentru senzorul de sol
  • Realizați un nou proiect în arduino IDE
  • Trecut în următorul cod:

/ * Intrare analogică, ieșire analogică, ieșire serială

Citește un pin analogic de intrare, mapează rezultatul într-un interval de la 0 la 255 și folosește rezultatul pentru a seta modularea lățimii pulsului (PWM) a unui pin de ieșire. De asemenea, imprimă rezultatele pe monitorul serial.

Circuitul: - potențiometru conectat la pinul analogic 0. Pinul central al potențiometrului merge la pinul analogic. pinii laterali ai potențiometrului merg la + 5V și la masă - LED conectat de la pinul digital 9 la masă

creat la 29 decembrie 2008 modificat la 9 aprilie 2012 de Tom Igoe

Acest exemplu de cod se află în domeniul public.

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

/ Aceste constante nu se vor schimba. Sunt folosite pentru a da nume pinilor utilizați: const int analogInPin = A0; // Pin de intrare analogic pe care potențiometrul este atașat la const int analogOutPin = D5; // Pinul de ieșire analogic la care este atașat LED-ul

int sensorValue = 0; // valoare citită din pot

void setup () {// inițializează comunicațiile seriale la 9600 bps: Serial.begin (9600); }

void loop () {// citiți valoarea analogică: sensorValue = analogRead (analogInPin);

// tipăriți rezultatele pe Serial Monitor: Serial.print ("senzor ="); Serial.print (sensorValue); Serial.print ("\ n"); // Serial.println (outputValue);

// așteptați 1 milisecundă înainte de următoarea buclă pentru ca convertorul analog-digital // să se stabilească după ultima citire: delay (1000); }

Acum puteți verifica dacă senzorul dvs. oferă o valoare.

Atingeți capătul șurubului sau cablului și veți vedea ceva de genul foto 1

Dacă nu funcționează, verificați cablurile. Sunt conectate corect?

Pasul 3: Biblioteca Neopixel

Biblioteca Neopixel
Biblioteca Neopixel
  • Descărcați biblioteca adafruit_neopixel (dacă nu ați făcut-o deja).

    • Accesați instrumentele> gestionați liberarii
    • căutați fotografia 1 adafruit neopixel
    • Instalați versiunea 1.2.5

Pasul 4: Configurarea codului Neopixel

  • Adăugați următoarele în partea de sus a proiectului

    • #include
    • #include
    • #include "Adafruit_NeoPixel.h"
  • Sub aceasta:

char ssid = "SSID"; // SSID-ul rețelei (nume)

char password = "parolă"; // parola de rețea

Și sub asta

#define PIXEL_PIN D5 # define PIXEL_COUNT 30 // schimbați modul în care sunt ledurile maney pe banda dvs.

#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

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

Pasul 5: Void Setup

Introduceți următorul cod în setarea voide ()

pixeli.begin (); // INITIALIZAȚI obiectul de bandă NeoPixel (NECESAR) pixels.show (); // OPRIȚI toți pixelii cât mai curând posibil

pixeli.setBrightness (50); // trebuie să fie între 0 și 255 dacă doriți ca banda LED să fie mai strălucitoare puteți crește numărul

Pasul 6: Bucla de vid

În bucla de gol () și sub întârziere (1000); introduceți următorul cod

if (sensorValue == 0 || sensorValue <= 200) {

pentru (int i = 0; i

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

pixels.show ();

}

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

pentru (int i = 0; i

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

pixels.show ();

}

} else if (sensorValue> 500) {

pentru (int i = 0; i

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

pixels.show ();

}

}

}

Pasul 7: Verificați

Verifica
Verifica
Verifica
Verifica

Felicitări! Tocmai ați creat un sistem care poate indica dacă solul este umed sau uscat.

Acum, când puneți senzorul în sol umed, LED-ul va deveni verde, iar când este în sol uscat, va deveni roșu. Ca și imaginile de mai sus.

Recomandat: