Cuprins:
- Provizii
- Pasul 1: Configurare
- Pasul 2: Adăugarea unui cod pentru senzorul de sol
- Pasul 3: Biblioteca Neopixel
- Pasul 4: Configurarea codului Neopixel
- Pasul 5: Void Setup
- Pasul 6: Bucla de vid
- Pasul 7: Verificați
Video: Soil Moister With Node: 7 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
Î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
- 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
- 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
-
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
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:
Cum să implementați o aplicație Node.js pe Heroku: 3 pași
Cum să implementez o aplicație Node.js pe Heroku: Iată cum mi-am implementat aplicația NodeJS pe Heroku folosind un cont gratuit. Doar faceți clic pe linkuri pentru a descărca software-urile necesare: Software folosit: VSCode (sau orice editor de text la alegere) HerokuCLIGit
Cum să conectați Raspberry Pi la cloud folosind Node.js: 7 pași
Cum să conectați Raspberry Pi la cloud folosind Node.js: acest tutorial este util pentru oricine dorește să conecteze un Raspberry Pi la cloud, în special la platforma IoT AskSensors, utilizând Node.js. Nu aveți un Raspberry Pi? Dacă în prezent nu dețineți un Raspberry Pi, vă recomand să obțineți un Raspberry
Cara Menggunakan Wemos D1 R1 / Wemos D1 Mini / Node MCU: 7 pași
Cara Menggunakan Wemos D1 R1 / Wemos D1 Mini / NodeMCU: Pada tutorial pertama ini, Saya ingin mengajak Anda bagaimana caranya menggunakan papan mikrokontroler yang sudah ada Module WiFi ESP8266 di dalamnya dan juga sering dijumpai (Contoh: Wemos D1 R1 Mini ) dengan menggunakan aplikasi
Monitorizarea temperaturii și umidității folosind NODE MCU ȘI BLYNK: 5 pași
Monitorizarea temperaturii și a umidității folosind NODE MCU ȘI BLYNK: Băieți băieți
Lucrul cu API-ul URL în Node-RED: 10 pași
Lucrul cu API-ul URL în Node-RED: Această instrucțiune vă va învăța cum să utilizați URL API (http get) în node-RED. Este intenționat de simplu. Și dacă sunteți relativ nou în nod-RED, acest exemplu este potrivit pentru dvs. Vă voi învăța cum să utilizați mediul roșu nod și ce este, și h