Taula de continguts:

Soil Moister With Node: 7 passos
Soil Moister With Node: 7 passos

Vídeo: Soil Moister With Node: 7 passos

Vídeo: Soil Moister With Node: 7 passos
Vídeo: Plant watering system with new Blynk update 2024, De novembre
Anonim
Image
Image
Terra més humida amb node
Terra més humida amb node
Terra més humida amb node
Terra més humida amb node
Terra més humida amb node
Terra més humida amb node

En aquest manual us mostraré com fer un sensor de sòl casolà per al sistema gardenhealth. Us mostraré el que necessiteu, donaré alguns exemples de codi i com implementar el codi.

Al final de les instruccions, sabreu com canviar el color d'una tira de leds quan el sòl està humit, una mica humit o sec.

En aquest manual utilitzaré:

  • Arduino versió 1.8.9
  • La biblioteca Adafruit_NeoPixel.h

Subministraments

Vostè necessitarà:

  • NodeMCU 1.0 (mòdul ESP-12E)
  • 1 cable femella a femella
  • Una tira LED
  • (Opcional) Sensor de sòl Homade (mireu el vídeo anterior fins a les 00:36)

Pas 1: Configuració

Configuració
Configuració
Configuració
Configuració
Configuració
Configuració
Configuració
Configuració
  • Agafeu el node i el sensor de sòl.
  • Connecteu el sensor de terra a A0. (Foto 1) (alternativament agafeu un cable femella stript i connecteu-lo a A0 (Foto 3)

Agafeu la vostra tira LED i poseu GND a G, 5V a 3V i el cable central a D5. (Foto 2)

Ara es veurà com l’última foto.

Pas 2: Afegir codi per al sensor de sòl

Addició de codi per al sensor de sòl
Addició de codi per al sensor de sòl
  • Feu un nou projecte en arduino IDE
  • Passat al codi següent:

/ * Entrada analògica, sortida analògica, sortida sèrie

Llegeix un pin d'entrada analògic, assigna el resultat a un interval de 0 a 255 i utilitza el resultat per configurar la modulació d'ample de pols (PWM) d'un pin de sortida. També imprimeix els resultats al monitor sèrie.

El circuit: - potenciòmetre connectat al pin analògic 0. El pin central del potenciòmetre va al pin analògic. els pins laterals del potenciòmetre van a + 5 V i terra: LED connectat des del pin digital 9 a terra

creat el 29 de desembre de 2008 modificat el 9 d'abril de 2012 per Tom Igoe

Aquest codi d'exemple és de domini públic.

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

/ Aquestes constants no canviaran. S’utilitzen per donar noms als pins utilitzats: const int analogInPin = A0; // Pin d'entrada analògic que el potenciòmetre està connectat a const int analogOutPin = D5; // Pin de sortida analògic al qual està connectat el LED

int sensorValue = 0; // valor llegit de l’olla

void setup () {// inicialitza les comunicacions en sèrie a 9600 bps: Serial.begin (9600); }

void loop () {// llegiu el valor analògic: sensorValue = analogRead (analogInPin);

// imprimeix els resultats al monitor de sèrie: Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ n"); // Serial.println (outputValue);

// espereu 1 mil·lisegon abans del següent bucle perquè el convertidor analògic-digital // es resolgui després de la darrera lectura: delay (1000); }

Ara podeu comprovar si el vostre sensor és un valor.

Toqueu l'extrem del cargol o el cable i veureu alguna cosa com la foto 1

Si no funciona, comproveu els cables. Estan correctament connectats?

Pas 3: Biblioteca Neopixel

Biblioteca Neopixel
Biblioteca Neopixel
  • Baixeu-vos la biblioteca adafruit_neopixel (si encara no ho heu fet).

    • Aneu a eines> gestionar els llibertaris
    • cerqueu la foto 1 de adafruit neopixel
    • Instal·leu la versió 1.2.5

Pas 4: Configuració del codi Neopixel

  • Afegiu el següent a la part superior del vostre projecte

    • #incloure
    • #incloure
    • #include "Adafruit_NeoPixel.h"
  • A sota:

char ssid = "SSID"; // el vostre SSID de xarxa (nom)

char password = "contrasenya"; // la vostra contrasenya de xarxa

I a sota d’això

#define PIXEL_PIN D5 # define PIXEL_COUNT 30 // canvia a com són els leds maney a la teva tira

#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

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

Pas 5: buida la configuració

Introduïu el codi següent a la configuració de voide ()

pixels.begin (); // INICIALITZAR NeoPixel strip object (OBLIGATORI) pixels.show (); // Desactiveu tots els píxels al més aviat possible

pixels.setBrightness (50); // ha de ser entre 0 i 255 si voleu que la tira de led sigui més brillant, podeu augmentar el nombre

Pas 6: bucle buit

Al bucle buit () i per sota del retard (1000); introduïu el codi següent

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

per a (int i = 0; i

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

pixels.show ();

}

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

per a (int i = 0; i

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

pixels.show ();

}

} else if (sensorValue> 500) {

per a (int i = 0; i

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

pixels.show ();

}

}

}

Pas 7: comproveu

Comprovar
Comprovar
Comprovar
Comprovar

Enhorabona! Acabeu de crear un sistema que pugui indicar si el sòl està humit o sec.

Ara, quan poseu el sensor a terra humida, el LED es posarà de color verd i, quan estigui a terra seca, es tornarà vermell. Com les imatges anteriors.

Recomanat: