Kazalo:
- Zaloge
- 1. korak: Nastavitev
- 2. korak: Dodajanje kode za senzor tal
- 3. korak: Knjižnica Neopixel
- 4. korak: Nastavitev kode Neopixel
- 5. korak: Nastavitev praznine
- 6. korak: Void Loop
- 7. korak: Preverite
Video: Vlaga tal z vozliščem: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
V tem priročniku vam bom pokazal, kako narediti domač senzor tal za sistem vrtnega zdravja. Pokazal vam bom, kaj potrebujete, dal nekaj primerov kode in kako jo implementirati.
Na koncu navodil boste vedeli, kako spremeniti barvo LED traku, ko je zemlja mokra, rahlo mokra ali suha.
V tem priročniku bom uporabil:
- Arduino različica 1.8.9
- Knjižnica Adafruit_NeoPixel.h
Zaloge
Potrebovali boste:
- NodeMCU 1.0 (modul ESP-12E)
- 1 ženski na ženski kabel
- LED trak
- (Neobvezno) Homade senzor tal (Oglejte si zgornji video do 00:36)
1. korak: Nastavitev
- Vzemite vozlišče in senzor tal.
- Tipalo tal priključite na A0. (Fotografija 1) (alternativno vzemite trakasti ženski kabel in ga priključite na A0 (Fotografija 3)
Vzemite LED trak in postavite GND v G, 5V na 3V, srednji kabel pa v D5. (Fotografija 2)
Zdaj bo videti kot zadnja fotografija.
2. korak: Dodajanje kode za senzor tal
- Ustvarite nov projekt v arduino IDE
- Preteklo v naslednji kodi:
/* Analogni vhod, analogni izhod, serijski izhod
Prebere analogni vhodni pin, preslika rezultat v območje od 0 do 255 in uporabi rezultat za nastavitev širinske impulzne modulacije (PWM) izhodnega zatiča. Rezultate tudi natisne na serijski monitor.
Vezje: - potenciometer priključen na analogni zatič 0. Sredinski zatič potenciometra gre na analogni zatič. stranski zatiči potenciometra gredo na +5V in ozemljitev - LED je priključena z digitalnega zatiča 9 na maso
ustvarjeno 29. decembra 2008 spremenil 9. aprila 2012 Tom Igoe
Ta primer kode je v javni domeni.
www.arduino.cc/en/Tutorial/AnalogInOutSeri… *
/ Te konstante se ne bodo spremenile. Uporabljajo se za poimenovanje uporabljenih zatičev: const int analogInPin = A0; // Analogni vhodni pin, ki je potenciometer pritrjen na const int analogOutPin = D5; // Analogni izhodni pin, na katerega je priključena LED
int sensorValue = 0; // vrednost, prebrana iz lonca
void setup () {// inicializira serijsko komunikacijo pri 9600 bps: Serial.begin (9600); }
void loop () {// bere analogno vrednost: sensorValue = analogRead (analogInPin);
// natisnemo rezultate na serijski monitor: Serial.print ("sensor ="); Serial.print (sensorValue); Serial.print ("\ n"); // Serial.println (outputValue);
// počakamo 1 milisekundo pred naslednjo zanko, da se analogno-digitalni // pretvornik poravna po zadnjem odčitku: delay (1000); }
Zdaj lahko preverite, ali vaš senzor daje vrednost.
Dotaknite se konca vijaka ali kabla in videli boste nekaj podobnega fotografiji 1
Če ne deluje, preverite kable. So pravilno povezani?
3. korak: Knjižnica Neopixel
-
Prenesite knjižnico adafruit_neopixel (če tega še niste storili).
- Pojdite na orodja> upravljajte osvoboditve
- poiščite fotografijo adafruit neopixel 1
- Namestite različico 1.2.5
4. korak: Nastavitev kode Neopixel
-
Na vrh svojega projekta dodajte naslednje
- #vključi
- #vključi
- #include "Adafruit_NeoPixel.h"
- Pod tem:
char ssid = "SSID"; // vaš omrežni SSID (ime)
char password = "geslo"; // geslo za omrežje
In pod tem
#define PIXEL_PIN D5#define PIXEL_COUNT 30 // spremenite, kako so maney LED -ji na vašem traku
#define PIXEL_TYPE NEO_GRB + NEO_KHZ800
Piksli Adafruit_NeoPixel = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);
5. korak: Nastavitev praznine
V nastavitev voide () vnesite naslednjo kodo ()
pixels.begin (); // INICIALIZE NeoPixel strip object (REQUIRED) pixels.show (); // Čim prej izklopite vse slikovne pike
pixels.setBrightness (50); // mora biti med 0 in 255, če želite, da je LED trak svetlejši, lahko povečate število
6. korak: Void Loop
V zanki void () in pod zakasnitvijo (1000); vnesite naslednjo kodo
if (sensorValue == 0 || sensorValue <= 200) {
za (int i = 0; i
pixels.setPixelColor (i, 255, 0, 0);
piksli.show ();
}
} else if (sensorValue> 200 || sensorValue <= 500) {
za (int i = 0; i
pixels.setPixelColor (i, 0, 255, 0);
piksli.show ();
}
} else if (sensorValue> 500) {
za (int i = 0; i
pixels.setPixelColor (i, 0, 0, 255);
piksli.show ();
}
}
}
7. korak: Preverite
Čestitamo! Pravkar ste naredili sistem, ki lahko pokaže, ali je zemlja mokra ali suha.
Ko senzor postavite v mokro zemljo, bo LED svetila zeleno, v suhi zemlji pa rdeče. Tako kot zgornje slike.
Priporočena:
Avtomatizacija rastlinjaka z LoRa! (1. del) -- Senzorji (temperatura, vlaga, vlaga tal): 5 korakov
Avtomatizacija rastlinjaka z LoRa! (1. del) || Senzorji (temperatura, vlaga, vlaga tal): V tem projektu vam bom pokazal, kako sem avtomatiziral rastlinjak. To pomeni, da vam bom pokazal, kako sem zgradil rastlinjak in kako sem ožičil elektroniko za napajanje in avtomatizacijo. Pokazal vam bom tudi, kako programirati ploščo Arduino, ki uporablja L
ESP32 Lora Thingspeak Gateway s senzorskim vozliščem: 9 korakov
ESP32 Lora Thingspeak Gateway s senzorskim vozliščem: v tem projektu IoT sem oblikoval ESP32 LoRa Gateway & tudi ESP32 LoRa Sensor Node za brezžično spremljanje odčitavanja senzorja z razdalje nekaj kilometrov. Pošiljatelj bo s senzorjem DHT11 prebral podatke o vlažnosti in temperaturi. Nato pošlje
IOT za začetnike-z vozliščem Mcu: 7 korakov
IOT za začetnike-z Node Mcu: Pozdravljeni, jaz Samarth v tej vadnici, vas bom naučil, kako ustvariti lastne projekte IOT z uporabo modula NODE MCU wifi in aplikacije Blynk
UCL-IIOT-alarmni sistem z bazo podatkov in rdečim vozliščem: 7 korakov
UCL-IIOT-Alarmni sistem z bazo podatkov in rdečim vozliščem: Namen te gradnje je poučiti o povezovanju Arduina z Node-red in zbirko podatkov, tako da lahko beležite podatke in jih tudi zbirate za kasnejšo uporabo. preprost arduino alarmni sistem, ki oddaja 5 podatkovnih številk, od katerih je vsaka ločena z
Dnevni časovnik z rdečim vozliščem s trajnim pomnilnikom: 6 korakov
Dnevni časovnik z uporabo rdečega vozlišča z obstojnim pomnilnikom: Node-red pogosto uporabljam za svoje projekte avtomatizacije doma. po progesiji nisem programer, ampak s pomočjo različnih sodelavcev poskušam stvari konfigurirati v skladu s svojimi zahtevami. Včasih deluje, včasih pa ne :) Za enega o