Når drar du et sted langt unna i en viss periode? Det er ingen som vanner dine innendørsblomster, så du må be om hjelp fra naboene dine, som igjen kan være uaktsomme med dette. Som et resultat, når du kommer, vil plantene føle seg dårlige. For å forhindre at dette skjer, kan du lage et automatisk vanningssystem. Til dette formålet trenger vi en Arduino og en jordfuktighetssensor. I artikkelen vil vi vurdere et eksempel på tilkobling og arbeid med FC-28-sensoren. Han har vist seg på den positive siden, ved hjelp av tusenvis av prosjekter har han blitt opprettet.
Om FC-28
Det finnes et stort utvalg av sensorer for å bestemme fuktigheten i jorden, men den mest populære er FC-28-modellen. Den har en lav pris, på grunn av hvilken den er mye brukt av alle radioamatører i deres prosjekter. Det brukes jordfuktighetssensor med Arduino. Han har to sonder som leder elektrisk strøm gjennom bakken. Det viser seg at hvis jorda er våt, så er motstanden mellom probene mindre. Med henholdsvis tørr grunn er motstanden større. Arduino aksepterer disse verdiene, sammenligner og slår om nødvendig på for eksempel en pumpe. Sensoren er i stand til å jobbe med både digitale og analoge moduser, vi vil vurdere begge tilkoblings alternativene. FC-28 brukes hovedsakelig i små prosjekter, for eksempel ved automatisk vanning av en bestemt plante, siden det er upraktisk å bruke den i stor skala på grunn av størrelsen og ulempene, som vi også vil vurdere.
Hvor kan jeg kjøpe
Faktum er at i russiske butikker er sensorer for å jobbe med Arduino relativt dyre. Gjennomsnittsprisen for denne sensoren i Russland varierer fra 200 til 300 rubler, mens i Aliexpress koster den samme sensoren bare rundt 30-50. Påslaget er enormt. Selvfølgelig kan du fortsatt lage en sensor for å måle jordfuktighet med egne hender, men mer om det nedenfor.
Om tilkobling
Å koble fuktighetssensoren til Arduino er veldig enkelt. Den kommer med en komparator og et potensiometer for justering av sensorens følsomhet, samt for innstilling av grenseverdi ved tilkopling med digital utgang. Utgangssignalet, som nevnt ovenfor, kan være digit alt og analogt.
Koble til med digital utgang
Koblet på nesten samme måte som analog:
- VCC - 5V på Arduino.
- D0 - D8 på Arduino-brett.
- GND -jord.
Som nevnt ovenfor er en komparator og et potensiometer plassert på sensormodulen. Alt fungerer som følger: ved hjelp av et potensiometer setter vi grenseverdien for sensoren vår. FC-28 sammenligner verdien med grensen og sender deretter verdien til Arduino. La oss si at sensorverdiene er over terskelen, i så fall sender jordfuktighetssensoren på Arduino 5V, hvis mindre - 0V. Alt er veldig enkelt, men analog modus har mer nøyaktige verdier, så det anbefales å bruke det.
Koblingsskjemaet ser ut som bildet ovenfor. måte
Programmeringskoden for Arduino ved bruk av digital modus er vist nedenfor.
int led_pin=13; int sensor_pin=8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin)==HIGH){ digitalWrite(led_pin, HIGH); } annet { digitalWrite(led_pin, LOW); forsinkelse(1000); } }
Hva gjør koden vår? Først ble to variabler identifisert. Den første variabelen - led_pin - tjener til å angi LED-en, og den andre - til å angi jordfuktighetssensoren. Deretter erklærer vi LED-pinnen som en utgang, og sensorpinnen som en inngang. Dette er nødvendig slik at vi kan få verdiene, og om nødvendig slå på LED-en for å visuelt se at sensorverdiene er over terskelen. I loopen leser vi verdiene fra sensoren. Hvis verdien er høyere enn grensen, slå på LED-en, hvis den er lavere, slå den av. I stedet for en LEDkanskje en pumpe, alt er opp til deg.
Analog modus
For å koble til med den analoge utgangen, må du jobbe med A0. Den kapasitive jordfuktighetssensoren i Arduino tar verdier fra 0 til 1023. Koble til sensoren som følger:
- VCC koble 5V til Arduino.
- GND på sensoren er koblet til GND på Arduino-kortet.
- A0 koble til A0 på Arduino.
Skriv deretter koden nedenfor i Arduino.
int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Leser sensoren"); delay(2000); } void loop() { output_value=analogRead(sensor_pin); output_value=map(output_value, 550, 0, 0, 100); Serial.print("Fuktighet"); Serial.print(output_value); Serial.println("%"); forsinkelse(1000); }
Så hva gjør denne koden? Det første trinnet var å sette variablene. Den første variabelen er nødvendig for å bestemme kontakten til sensoren, og den andre vil lagre resultatene som vi vil motta ved hjelp av sensoren. Deretter leser vi dataene. I loopen skriver vi verdiene fra sensoren til output_value-variabelen vi opprettet. Deretter beregnes prosentandelen av jordfuktighet, hvoretter vi viser dem på portmonitoren. Koblingsskjemaet er vist nedenfor.
DIY
Det ble diskutert ovenfor hvordan du kobler jordfuktighetssensoren til Arduino. Problemet med disse sensorene er at de er kortvarige. Faktum er at de er veldig utsatt forkorrosjon. Noen selskaper lager sensorer med et spesielt belegg for å øke levetiden, men det er fortsatt ikke det samme. Det vurderes også muligheten for å bruke sensoren ikke ofte, men bare når det er nødvendig. For eksempel er det en programkode hvor sensoren hvert sekund leser av jordfuktighetsverdiene. Du kan forlenge levetiden hvis du slår den på for eksempel en gang om dagen. Men hvis dette ikke passer deg, kan du lage en jordfuktighetssensor med egne hender. Arduino vil ikke føle forskjellen. I utgangspunktet er systemet det samme. Ganske enkelt, i stedet for to sensorer, kan du sette din egen og bruke et materiale som er mindre utsatt for korrosjon. Ideelt sett, selvfølgelig, bruk gull, men gitt prisen, vil det komme ut veldig dyrt. Generelt er det billigere å kjøpe, gitt prisen på FC-28.
Fordeler og ulemper
Artikkelen diskuterte alternativer for å koble en jordfuktighetssensor til Arduino, og eksempler på programkode ble også presentert. FC-28 er en veldig god jordfuktighetssensor, men hva er de spesifikke fordelene og ulempene med denne sensoren?
Fordeler:
- Pris. Denne sensoren har en veldig lav pris, så hver radioamatør vil kunne kjøpe og bygge sitt eget automatiske vanningssystem for planter. Selvfølgelig, når du arbeider med store skalaer, er denne sensoren ikke egnet, men den er ikke ment for dette. Hvis du trenger en kraftigere sensor - SM2802B, må du betale et ganske stort beløp for den.
- Enkelhet. Å mestre arbeidet med denne jordfuktighetssensoren i Arduino kanHver. Bare noen få ledninger, et par linjer med kode - og det er det. Jordfuktighetskontroll utført.
Ulemper: