Inhoudsopgave:

Bodemvochtiger met knoop - Ajarnpa
Bodemvochtiger met knoop - Ajarnpa

Video: Bodemvochtiger met knoop - Ajarnpa

Video: Bodemvochtiger met knoop - Ajarnpa
Video: How To: Leuke Trucjes met Elastiek! 2024, November
Anonim
Image
Image
Bodemvochtiger met knoop
Bodemvochtiger met knoop
Bodemvochtiger met knoop
Bodemvochtiger met knoop
Bodemvochtiger met knoop
Bodemvochtiger met knoop

In deze handleiding laat ik je zien hoe je een zelfgemaakte bodemsensor maakt voor het gardenhealth systeem. Ik zal je laten zien wat je nodig hebt, enkele codevoorbeelden geven en hoe je de code kunt implementeren.

Aan het einde van de handleiding weet je hoe je de kleur van een ledstrip kunt veranderen als de grond nat, een beetje nat of droog is.

In deze handleiding gebruik ik:

  • Arduino-versie 1.8.9
  • De Adafruit_NeoPixel.h-bibliotheek

Benodigdheden

Je hebt nodig:

  • NodeMCU 1.0 (ESP-12E-module)
  • 1 vrouwelijke naar vrouwelijke kabel
  • Een LED-strip
  • (Optioneel) Homade bodemsensor (Bekijk de video hierboven tot 00:36)

Stap 1: Installatie

Opstelling
Opstelling
Opstelling
Opstelling
Opstelling
Opstelling
Opstelling
Opstelling
  • Neem je node en je bodemsensor.
  • Sluit de bodemsensor aan op A0. (Foto 1) (neem ook een gestripte vrouwelijke kabel en sluit deze aan op A0 (Foto 3)

Pak je LED strip en zet GND in G, 5V op 3V en de middelste kabel in D5.(Foto 2)

Nu zal het er ongeveer uitzien als de laatste foto.

Stap 2: Code toevoegen voor bodemsensor

Code toevoegen voor bodemsensor
Code toevoegen voor bodemsensor
  • Maak een nieuw project in arduino IDE
  • Past in de volgende code:

/* Analoge ingang, analoge uitgang, seriële uitgang

Leest een analoge ingangspen, wijst het resultaat toe aan een bereik van 0 tot 255 en gebruikt het resultaat om de pulsbreedtemodulatie (PWM) van een uitgangspen in te stellen. Drukt de resultaten ook af naar de seriële monitor.

De schakeling: - potentiometer aangesloten op analoge pen 0. Middelste pen van de potentiometer gaat naar de analoge pen. zijpinnen van de potentiometer gaan naar +5V en aarde - LED aangesloten van digitale pin 9 naar aarde

aangemaakt 29 dec. 2008 gewijzigd 9 apr 2012 door Tom Igoe

Deze voorbeeldcode bevindt zich in het publieke domein.

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

/ Deze constanten veranderen niet. Ze worden gebruikt om namen te geven aan de gebruikte pinnen: const int analogInPin = A0; // Analoge ingangspen waarop de potentiometer is bevestigd const int analogOutPin = D5; // Analoge uitgangspin waaraan de LED is bevestigd

int sensorWaarde = 0; // waarde gelezen uit de pot

void setup () {// initialiseer seriële communicatie op 9600 bps: Serial.begin (9600); }

void loop () {// lees de analoge in waarde: sensorValue = analogRead (analogInPin);

// print de resultaten naar de seriële monitor: Serial.print("sensor = "); Serial.print(sensorValue); Serieel.print("\n"); // Serial.println (outputValue);

// wacht 1 milliseconden voor de volgende lus voor de analoog-naar-digitaal // converter om te regelen na de laatste meting: vertraging (1000); }

Nu kunt u controleren of uw sensor een waarde geeft.

Raak het uiteinde van de schroef of de kabel aan en je ziet zoiets als foto 1

Als het niet werkt, controleer dan uw kabels. Zijn ze correct aangesloten?

Stap 3: Neopixel-bibliotheek

Neopixel-bibliotheek
Neopixel-bibliotheek
  • Download de adafruit_neopixel-bibliotheek (als je dat nog niet hebt gedaan).

    • Ga naar tools>beheren bibliotheken
    • zoek naar adafruit neopixel foto 1
    • Installeer versie 1.2.5

Stap 4: Neopixel-code instellen

  • Voeg het volgende toe bovenaan uw project:

    • #erbij betrekken
    • #erbij betrekken
    • #include "Adafruit_NeoPixel.h"
  • Daaronder:

char ssid = "SSID"; // uw netwerk-SSID (naam)

char wachtwoord = "wachtwoord"; // uw netwerkwachtwoord

En daaronder

#define PIXEL_PIN D5#define PIXEL_COUNT 30 //wijzig hoe veel led's op je strip staan

#define PIXEL_TYPE NEO_GRB + NEO_KHZ800

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

Stap 5: Installatie ongeldig maken

Zet de volgende code in de voide setup ()

pixels.begin(); // INITIALISEREN NeoPixel stripobject (VEREIST)pixels.show(); // Schakel alle pixels zo snel mogelijk UIT

pixels.setBrightness(50); // moet tussen 0 en 255 zijn als u wilt dat de ledstrip helderder is, kunt u het aantal verhogen

Stap 6: Void Loop

In de lege lus () en onder de vertraging (1000); voer de volgende code in

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

for(int i=0; i

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

pixels.show();

}

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

voor (int i=0; i

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

pixels.show();

}

} else if (sensorValue > 500) {

for(int i=0; i

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

pixels.show();

}

}

}

Stap 7: Controleer

Rekening
Rekening
Rekening
Rekening

Gefeliciteerd! Je hebt zojuist een systeem gemaakt dat kan aangeven of de grond nat of droog is.

Wanneer u de sensor nu in natte grond plaatst, wordt de LED groen en wanneer deze zich in droge grond bevindt, wordt deze rood. Zoals de afbeeldingen hierboven.

Aanbevolen: