Vlažitelj tla sa čvorom: 7 koraka
Vlažitelj tla sa čvorom: 7 koraka
Anonim
Image
Image
Vlažitelj tla sa čvorom
Vlažitelj tla sa čvorom
Vlažitelj tla sa čvorom
Vlažitelj tla sa čvorom
Vlažitelj tla sa čvorom
Vlažitelj tla sa čvorom

U ovom priručniku pokazat ću vam kako napraviti ručni senzor tla za sustav vrtnog zdravlja. Pokazat ću vam što vam je potrebno, dat ću neke primjere koda i kako ga implementirati.

Na kraju uputa znat ćete kako promijeniti boju LED trake kada je tlo vlažno, malo mokro ili suho.

U ovom priručniku ću koristiti:

  • Arduino verzija 1.8.9
  • Biblioteka Adafruit_NeoPixel.h

Supplies

Trebat će vam:

  • NodeMCU 1.0 (ESP-12E modul)
  • 1 ženski kabel za ženski kabel
  • LED traka
  • (Opcionalno) Ručni senzor tla (Pogledajte video iznad do 00:36)

Korak 1: Postavljanje

Postaviti
Postaviti
Postaviti
Postaviti
Postaviti
Postaviti
Postaviti
Postaviti
  • Uzmite čvor i senzor tla.
  • Spojite senzor tla na A0. (Fotografija 1) (alternativno uzmite trakasti ženski kabel i spojite ga na A0 (Fotografija 3)

Uzmite LED traku i stavite GND u G, 5V na 3V, a srednji kabel u D5. (Slika 2)

Sada će izgledati nešto poput posljednje fotografije.

Korak 2: Dodavanje koda za senzor tla

Dodavanje koda za senzor tla
Dodavanje koda za senzor tla
  • Napravite novi projekt u arduino IDE -u
  • U prošlom kodu:

/* Analogni ulaz, analogni izlaz, serijski izlaz

Očitava analogni ulazni pin, preslikava rezultat u raspon od 0 do 255 i koristi rezultat za postavljanje širine impulsa (PWM) izlaznog pina. Takođe štampa rezultate na serijskom monitoru.

Krug: - potenciometar spojen na analogni pin 0. Srednji pin potenciometra ide na analogni pin. bočni pinovi potenciometra idu na +5V i uzemljenje - LED je povezan s digitalnog pina 9 na masu

kreirano 29. prosinca 2008 izmijenjeno 9. travnja 2012 od strane Tom Igoe

Ovaj primjer koda je u javnoj domeni.

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

/ Ove konstante se neće promijeniti. Koriste se za davanje imena korišćenim pinovima: const int analogInPin = A0; // Analogni ulazni pin koji je potenciometar spojen na const int analogOutPin = D5; // Analogni izlazni pin na koji je LED priključena

int sensorValue = 0; // vrijednost očitana iz pot

void setup () {// inicijalizira serijsku komunikaciju pri 9600 bps: Serial.begin (9600); }

void loop () {// čita analognu vrijednost: sensorValue = analogRead (analogInPin);

// ispisuje rezultate na serijskom monitoru: Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ n"); // Serial.println (outputValue);

// čekati 1 milisekundu prije sljedeće petlje da se analogno-digitalni // pretvarač smiri nakon posljednjeg očitanja: delay (1000); }

Sada možete provjeriti daje li vaš senzor vrijednost.

Dodirnite kraj vijka ili kabela i vidjet ćete nešto poput fotografije 1

Ako ne radi, provjerite kablove. Jesu li pravilno povezani?

Korak 3: Neopixel biblioteka

Biblioteka Neopixel
Biblioteka Neopixel
  • Preuzmite biblioteku adafruit_neopixel (ako već niste).

    • Idite na alati> upravljajte oslobođenjima
    • potraga za adafruit neopixel fotografijom 1
    • Instalirajte verziju 1.2.5

Korak 4: Postavljanje koda Neopixel

  • Dodajte sljedeće na vrh svog projekta
    • #include
    • #include
    • #include "Adafruit_NeoPixel.h"
  • Ispod toga:

char ssid = "SSID"; // vaš mrežni SSID (ime)

char password = "lozinka"; // vašu mrežnu lozinku

I ispod toga

#define PIXEL_PIN D5#define PIXEL_COUNT 30 // promijenite način na koji su LED lampice na vašoj traci

#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

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

Korak 5: Postavljanje praznine

Stavite sljedeći kôd u voide setup ()

pixels.begin (); // INICIALIZE NeoPixel strip objekt (OBAVEZNO) pixels.show (); // ISKLJUČITE sve piksele što je prije moguće

pixels.setBrightness (50); // mora biti između 0 i 255 ako želite da LED traka bude svjetlija, možete povećati broj

Korak 6: Void petlja

U petlji void () i ispod kašnjenja (1000); unesite sljedeći kôd

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

za (int i = 0; i

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

pixels.show ();

}

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

za (int i = 0; i

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

pixels.show ();

}

} else if (sensorValue> 500) {

za (int i = 0; i

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

pixels.show ();

}

}

}

Korak 7: Provjerite

Proveri
Proveri
Proveri
Proveri

Čestitamo! Upravo ste napravili sistem koji može pokazati je li tlo vlažno ili suho.

Sada kada senzor stavite u vlažno tlo, LED dioda će postati zelena, a kada je u suhom tlu postat će crvena. Slično gornjim slikama.

Preporučuje se: