Wanneer ga je voor een bepaalde tijd ergens ver weg? Er is niemand om je bloemen binnenshuis water te geven, dus je moet om hulp vragen van je buren, die op hun beurt hier nalatig over kunnen zijn. Als gevolg hiervan zullen de planten bij uw komst slecht aanvoelen. Om dit te voorkomen, kunt u een automatisch irrigatiesysteem maken. Hiervoor hebben we een Arduino en een bodemvochtsensor nodig. In het artikel zullen we een voorbeeld bekijken van het aansluiten en werken met de FC-28-sensor. Hij heeft zichzelf bewezen aan de positieve kant, met de hulp van duizenden projecten die zijn gecreëerd.
Over FC-28
Er is een grote verscheidenheid aan sensoren voor het bepalen van de vochtigheid van de aarde, maar de meest populaire is het FC-28-model. Het heeft een lage prijs, waardoor het veel wordt gebruikt door alle radioamateurs in hun projecten. Er wordt gebruik gemaakt van een bodemvochtsensor met Arduino. Hij heeft twee sondes die elektrische stroom door de grond geleiden. Het blijkt dat als de grond nat is, de weerstand tussen de sondes minder is. Bij respectievelijk droge grond is de weerstand groter. Arduino accepteert deze waarden, vergelijkt en schakelt zo nodig bijvoorbeeld een pomp in. De sensor kan werken met zowel digitale als analoge modi, we zullen beide verbindingsopties overwegen. FC-28 wordt voornamelijk gebruikt in kleine projecten, bijvoorbeeld bij het automatisch bewateren van een bepaalde plant, omdat het onhandig is om het op grote schaal te gebruiken vanwege de grootte en nadelen, waar we ook rekening mee zullen houden.
Waar te koop
Feit is dat in Russische winkels sensoren voor het werken met Arduino relatief duur zijn. De gemiddelde prijs voor deze sensor in Rusland varieert van 200 tot 300 roebel, terwijl in Aliexpress dezelfde sensor slechts zo'n 30-50 kost. De mark-up is enorm. Je kunt natuurlijk nog steeds met je eigen handen een sensor maken om bodemvocht te meten, maar daarover hieronder meer.
Over verbinding
Het aansluiten van de vochtigheidssensor op de Arduino is heel eenvoudig. Het wordt geleverd met een comparator en een potentiometer voor het aanpassen van de gevoeligheid van de sensor, evenals voor het instellen van de grenswaarde bij aansluiting via een digitale uitgang. Het uitgangssignaal, zoals hierboven vermeld, kan digitaal en analoog zijn.
Verbinden met digitale uitgang
Verbonden op bijna dezelfde manier als analoog:
- VCC - 5V op Arduino.
- D0 - D8 op Arduino-bord.
- GND -aarde.
Zoals hierboven vermeld, bevinden zich een comparator en een potentiometer op de sensormodule. Alles werkt als volgt: met een potmeter stellen we de grenswaarde van onze sensor in. FC-28 vergelijkt de waarde met de limiet en stuurt de waarde vervolgens naar de Arduino. Laten we zeggen dat de sensorwaarden boven de drempel liggen, in welk geval de bodemvochtsensor op de Arduino 5V zendt, indien minder - 0V. Alles is heel eenvoudig, maar de analoge modus heeft nauwkeurigere waarden, dus het wordt aanbevolen om het te gebruiken.
Het bedradingsschema ziet eruit als de foto hierboven. manier
De programmeercode voor Arduino bij gebruik van de digitale modus wordt hieronder weergegeven.
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); } else {digitalWrite(led_pin, LOW); vertraging (1000); } }
Wat doet onze code? Eerst werden twee variabelen geïdentificeerd. De eerste variabele - led_pin - dient om de LED aan te duiden en de tweede - om de bodemvochtsensor aan te duiden. Vervolgens declareren we de LED-pin als output en de sensorpin als input. Dit is nodig zodat we de waarden kunnen krijgen en indien nodig de LED kunnen inschakelen om visueel te zien dat de sensorwaarden boven de drempel liggen. In de loop lezen we de waarden van de sensor. Als de waarde hoger is dan de limiet, zet u de LED aan, als deze lager is, schakelt u deze uit. In plaats van een LEDmisschien een pomp, het is allemaal aan jou.
Analoge modus
Om verbinding te maken via de analoge uitgang, moet je met A0 werken. De capacitieve bodemvochtsensor in Arduino neemt waarden aan van 0 tot 1023. Sluit de sensor als volgt aan:
- VCC sluit 5V aan op Arduino.
- GND op de sensor is verbonden met GND op het Arduino-bord.
- A0 maak verbinding met A0 op Arduino.
Schrijf vervolgens de onderstaande code in Arduino.
int sensor_pin=A0; int uitvoerwaarde; void setup() { Serial.begin(9600); Serial.println ("Lezen van de sensor"); vertraging (2000); } void loop () { output_value=analogRead (sensor_pin); output_value=kaart (output_value, 550, 0, 0, 100); Serial.print("Vocht"); Serial.print(output_value); Serieel.println("%"); vertraging (1000); }
Dus wat doet deze code? De eerste stap was het instellen van de variabelen. De eerste variabele is nodig om het contact van de sensor te bepalen, en de andere zal de resultaten opslaan die we met de sensor zullen ontvangen. Vervolgens lezen we de gegevens. In de lus schrijven we de waarden van de sensor naar de output_value variabele die we hebben gemaakt. Vervolgens wordt het percentage bodemvocht berekend, waarna we deze op de havenmonitor weergeven. Het bedradingsschema wordt hieronder getoond.
DIY
Hierboven is besproken hoe de bodemvochtsensor op de Arduino moet worden aangesloten. Het probleem met deze sensoren is dat ze van korte duur zijn. Het feit is dat ze erg vatbaar zijn voorcorrosie. Sommige bedrijven maken sensoren met een speciale coating om de levensduur te verlengen, maar het is nog steeds niet hetzelfde. Ook wordt overwogen om de sensor niet vaak te gebruiken, maar alleen wanneer dat nodig is. Zo is er een programmacode waarbij de sensor elke seconde de bodemvochtwaarden uitleest. U kunt de levensduur verlengen door hem bijvoorbeeld één keer per dag aan te zetten. Maar als dit niet bij u past, kunt u met uw eigen handen een bodemvochtsensor maken. Arduino zal het verschil niet voelen. In principe is het systeem hetzelfde. Gewoon, in plaats van twee sensoren, kunt u er zelf een plaatsen en een materiaal gebruiken dat minder gevoelig is voor corrosie. Idealiter gebruik je natuurlijk goud, maar gezien de prijs zal het erg duur zijn. Over het algemeen is het goedkoper om te kopen, gezien de prijs van FC-28.
Voors en tegens
Het artikel besprak opties voor het aansluiten van een bodemvochtsensor op Arduino, en er werden ook voorbeelden van programmacode gepresenteerd. De FC-28 is een echt goede bodemvochtsensor, maar wat zijn de specifieke voor- en nadelen van deze sensor?
Voors:
- Prijs. Deze sensor heeft een zeer lage prijs, zodat elke radioamateur zijn eigen automatische bewateringssysteem voor planten kan kopen en bouwen. Bij het werken met grote schalen is deze sensor natuurlijk niet geschikt, maar daar is hij ook niet voor bedoeld. Als je een krachtigere sensor nodig hebt - SM2802B, dan zul je er een vrij groot bedrag voor moeten betalen.
- Eenvoud. Het werk beheersen met deze bodemvochtsensor in Arduino kanelk. Slechts een paar draden, een paar regels code - en dat is alles. Bodemvochtcontrole gedaan.
Nadelen: