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đeno vrijeme? Nema tko zalijevati vaše sobno cvijeće, pa morate zatražiti pomoć od svojih susjeda, koji bi zauzvrat mogli biti nemarni u vezi s tim. Kao rezultat toga, vašim dolaskom, biljke će se osjećati loše. Kako se to ne bi dogodilo, možete napraviti automatski sustav za navodnjavanje. Za tu namjenu trebamo Arduino i senzor vlažnosti tla. U članku ćemo razmotriti primjer povezivanja i rada s FC-28 senzorom. Pokazao se s pozitivne strane, uz pomoć tisuća stvorenih 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 radioamateri u svojim projektima. Koristi se senzor vlažnosti tla s 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 suhim tlom otpor je veći. Arduino prihvaća te vrijednosti, uspoređuje i, ako je potrebno, uključuje, na primjer, pumpu. Senzor može raditi i s digitalnim i s analognim načinom rada, razmotrit ćemo obje mogućnosti povezivanja. FC-28 se koristi uglavnom u malim projektima, na primjer, kod automatskog zalijevanja jedne određene biljke, budući da ga je nezgodno koristiti u velikim razmjerima zbog njegove veličine i nedostataka, koje ćemo također uzeti u obzir.

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

Gdje kupiti

Činjenica je da su u ruskim trgovinama senzori za rad s Arduinom relativno skupi. Prosječna cijena za ovaj senzor 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 vrlo je jednostavno. Dolazi s komparatorom i potenciometrom za podešavanje osjetljivosti senzora, kao i za postavljanje granične vrijednosti kada je spojen pomoću 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 s digitalnim izlazom

Povezan na gotovo 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 nalaze se na modulu senzora. Sve radi na sljedeći način: pomoću potenciometra postavljamo graničnu vrijednost našeg senzora. FC-28 uspoređuje vrijednost s ograničenjem i zatim šalje vrijednost u Arduino. Recimo da su vrijednosti senzora iznad praga, u tom slučaju senzor vlažnosti tla na Arduinu prenosi 5V, ako je manje - 0V. Sve je vrlo jednostavno, ali analogni način rada ima točnije vrijednosti, pa se preporučuje da ga koristite.

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

Dijagram ožičenja izgleda kao na gornjoj fotografiji. način

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


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

Čemu služi naš kod? Prvo su identificirane dvije varijable. Prva varijabla - led_pin - služi za označavanje LED-a, a druga - za označavanje senzora vlage u zemlji. Zatim deklariramo LED pin kao izlaz, a pin senzora kao ulaz. To je potrebno kako bismo mogli dobiti vrijednosti, a ako je potrebno, uključiti LED kako bismo vizualno vidjeli da su vrijednosti senzora iznad praga. U petlji čitamo vrijednosti sa senzora. Ako je vrijednost viša od granice, upalite LED, ako je niža, ugasite. Umjesto LED-amožda pumpa, sve ovisi o vama.

Analogni način

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

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

Dalje, upišite kod ispod u Arduinu.


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

Pa čemu služi 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 zapisujemo 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 prikazan je ispod.

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

uradi sam

Iznad je raspravljano o tome kako spojiti senzor vlažnosti tla na Arduino. Problem s tim senzorima je što su kratkog vijeka. Činjenica je da su vrlo sklonikorozija. Neke tvrtke proizvode senzore s 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 potrebno. Na primjer, postoji programski kod gdje senzor svake sekunde očitava vrijednosti vlažnosti tla. Vijek trajanja možete produžiti 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 principu, sustav 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 vlažnosti tla
DIY senzor vlažnosti tla

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 stvarno dobar senzor vlage u tlu, ali koje su specifične prednosti i nedostaci ovog senzora?

Dodaci:

  • Cijena. Ovaj senzor ima vrlo nisku cijenu, tako da će svaki radioamater moći kupiti i izgraditi vlastiti sustav automatskog zalijevanja biljaka. Naravno, kada radite s velikim razmjerima, ovaj senzor nije prikladan, ali nije za to namijenjen. Ako trebate snažniji senzor - SM2802B, tada ćete morati platiti prilično velik iznos za njega.
  • Jednostavnost. Ovladavanje radom s ovim senzorom vlažnosti tla u Arduino limencisvaki. Samo nekoliko žica, par redaka koda - i to je to. Kontrola vlažnosti tla izvršena.

Protiv:

Preporučeni: