Kako spojiti senzor vlažnosti tla na Arduino?

Sadržaj:

Kako spojiti senzor vlažnosti tla na Arduino?
Kako spojiti senzor vlažnosti tla na Arduino?
Anonim

Kada idete negdje daleko na određeni vremenski period? Nema ko da zaliva vaše sobno cveće, pa morate da tražite pomoć od svojih komšija, koji bi zauzvrat mogli biti nemarni u vezi s tim. Kao rezultat toga, vašim dolaskom, biljke će se osjećati loše. Da se to ne dogodi, možete napraviti automatski sistem za navodnjavanje. U tu svrhu nam je potreban Arduino i senzor vlage u zemljištu. U članku ćemo razmotriti primjer povezivanja i rada sa senzorom FC-28. Dokazao se sa pozitivne strane, uz pomoć kreiranih hiljada projekata.

O FC-28

Postoji veliki izbor senzora za određivanje vlažnosti zemlje, ali najpopularniji je model FC-28. Ima nisku cijenu, zbog čega ga naširoko koriste svi radio-amateri u svojim projektima. Koristi se senzor vlažnosti tla sa Arduinom. Ima dvije sonde koje provode električnu struju kroz zemlju. Ispada da ako je tlo mokro, onda je otpor između sondi manji. Sa suvim tlom otpor je veći. Arduino prihvaća ove vrijednosti, upoređuje i, ako je potrebno, uključuje, na primjer, pumpu. Senzor može raditi s digitalnim i analognim načinima rada, razmotrit ćemo obje opcije povezivanja. FC-28 se koristi uglavnom u malim projektima, na primjer, kada se automatski zalijeva jedna određena biljka, jer ga je nezgodno koristiti u velikim količinama zbog njegove veličine i nedostataka, koje ćemo također razmotriti.

Senzor vlažnosti tla FC-28
Senzor vlažnosti tla FC-28

Gdje kupiti

Činjenica je da su u ruskim prodavnicama senzori za rad sa Arduinom relativno skupi. Prosječna cijena ovog senzora u Rusiji varira od 200 do 300 rubalja, dok na Aliexpressu isti senzor košta samo nekih 30-50. Marža je ogromna. Naravno, još uvijek možete napraviti senzor za mjerenje vlažnosti tla vlastitim rukama, ali više o tome u nastavku.

O vezi

Povezivanje senzora vlažnosti na Arduino je vrlo jednostavno. Dolazi sa komparatorom i potenciometrom za podešavanje osjetljivosti senzora, kao i za postavljanje granične vrijednosti kada je povezan preko digitalnog izlaza. Izlazni signal, kao što je gore spomenuto, može biti digitalni i analogni.

Pinout senzora vlažnosti tla
Pinout senzora vlažnosti tla

Povezivanje sa digitalnim izlazom

Povezan na skoro isti način kao analogni:

  • VCC - 5V na Arduinu.
  • D0 - D8 na Arduino ploči.
  • GND -zemlja.

Kao što je gore spomenuto, komparator i potenciometar se nalaze na modulu senzora. Sve funkcionira na sljedeći način: pomoću potenciometra postavljamo graničnu vrijednost našeg senzora. FC-28 uspoređuje vrijednost sa ograničenjem i zatim šalje vrijednost u Arduino. Recimo da su vrijednosti senzora iznad praga, u kom slučaju senzor vlažnosti tla na Arduinu prenosi 5V, ako je manje - 0V. Sve je vrlo jednostavno, ali analogni način rada ima preciznije vrijednosti, pa se preporučuje da ga koristite.

Povezivanje pomoću digitalnog načina rada
Povezivanje pomoću digitalnog načina rada

Šema ožičenja izgleda kao na slici iznad. način

Programski kod za Arduino kada se koristi digitalni način rada je prikazan ispod.


int led_pin=13; int senzor_pin=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(pin_senzor, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); kašnjenje (1000); } }

Šta radi naš kod? Prvo su identificirane dvije varijable. Prva varijabla - led_pin - služi za označavanje LED, a druga - za označavanje senzora vlage u zemlji. Zatim deklariramo LED pin kao izlaz, a senzorski pin kao ulaz. Ovo je neophodno kako bismo mogli da dobijemo vrednosti, a ako je potrebno, upalimo LED kako bismo vizuelno videli da su vrednosti senzora iznad praga. U petlji čitamo vrijednosti sa senzora. Ako je vrijednost veća od granice, upaliti LED, ako je niža isključiti. Umjesto LED diodemožda pumpa, sve je na vama.

Analogni način

Za povezivanje pomoću analognog izlaza, morate raditi sa A0. Kapacitivni senzor vlažnosti tla u Arduinu uzima vrijednosti od 0 do 1023. Povežite senzor na sljedeći način:

  • VCC povežite 5V na Arduino.
  • GND na senzoru je spojen na GND na Arduino ploči.
  • A0 povežite se na A0 na Arduinu.

Dalje, upišite kod ispod u Arduinu.


int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Čitanje senzora"); kašnjenje (2000); } void loop() { output_value=analogRead(sensor_pin); output_value=map(output_value, 550, 0, 0, 100); Serial.print("Vlaga"); Serial.print(output_value); Serial.println("%"); kašnjenje (1000); }

Pa šta radi ovaj kod? Prvi korak je bio postavljanje varijabli. Prva varijabla je potrebna za određivanje kontakta senzora, a druga će pohraniti rezultate koje ćemo dobiti pomoću senzora. Zatim čitamo podatke. U petlji upisujemo vrijednosti sa senzora u varijablu output_value koju smo kreirali. Zatim se izračunava postotak vlažnosti tla, nakon čega ih prikazujemo na monitoru porta. Dijagram ožičenja je prikazan ispod.

Analogni priključak senzora vlage u tlu
Analogni priključak senzora vlage u tlu

uradi sam

Iznad je diskutovano kako spojiti senzor vlažnosti tla na Arduino. Problem sa ovim senzorima je što su kratkotrajni. Činjenica je da su veoma skloni tomekorozija. Neke kompanije proizvode senzore sa posebnim premazom kako bi produžili vijek trajanja, ali to još uvijek nije isto. Također se razmatra mogućnost korištenja senzora ne često, već samo kada je to potrebno. Na primjer, postoji programski kod gdje senzor svake sekunde očitava vrijednosti vlažnosti tla. Možete produžiti vijek trajanja ako ga uključite, na primjer, jednom dnevno. Ali ako vam to ne odgovara, možete napraviti senzor vlažnosti tla vlastitim rukama. Arduino neće osjetiti razliku. U osnovi, sistem je isti. Jednostavno, umjesto dva senzora, možete staviti svoj i koristiti materijal koji je manje podložan koroziji. U idealnom slučaju, naravno, koristite zlato, ali s obzirom na njegovu cijenu, to će ispasti vrlo skupo. Općenito, jeftinije je kupiti, s obzirom na cijenu FC-28.

DIY senzor vlage u zemljištu
DIY senzor vlage u zemljištu

Za i protiv

U članku se raspravljalo o mogućnostima povezivanja senzora vlažnosti tla na Arduino, a predstavljeni su i primjeri programskog koda. FC-28 je zaista dobar senzor vlage u zemljištu, ali koje su specifične prednosti i nedostaci ovog senzora?

Dodaci:

  • Cijena. Ovaj senzor ima veoma nisku cijenu, tako da će svaki radio-amater moći kupiti i izgraditi vlastiti sistem za automatsko zalijevanje biljaka. Naravno, kada radite s velikim razmjerima, ovaj senzor nije prikladan, ali nije namijenjen za to. Ako vam je potreban snažniji senzor - SM2802B, onda ćete morati da platite prilično veliki iznos za njega.
  • Jednostavnost. Ovladavanje radom sa ovim senzorom vlažnosti tla u Arduino konzervisvaki. Samo nekoliko žica, par linija koda - i to je to. Kontrola vlažnosti tla obavljena.

Protiv:

Preporučuje se: