Hur ansluter man jordfuktighetssensor till Arduino?

Innehållsförteckning:

Hur ansluter man jordfuktighetssensor till Arduino?
Hur ansluter man jordfuktighetssensor till Arduino?
Anonim

När åker du någonstans långt borta under en viss tid? Det finns ingen som vattnar dina inomhusblommor, så du måste be om hjälp från dina grannar, som i sin tur kan vara försumliga med detta. Som ett resultat av din ankomst kommer växterna att må dåligt. För att förhindra att detta händer kan du göra ett automatiskt bevattningssystem. För detta ändamål behöver vi en Arduino och en jordfuktighetssensor. I artikeln kommer vi att överväga ett exempel på att ansluta och arbeta med FC-28-sensorn. Han har visat sig vara på den positiva sidan, med hjälp av tusentals projekt har skapats.

Om FC-28

Det finns ett stort urval av sensorer för att bestämma jordens luftfuktighet, men den mest populära är FC-28-modellen. Det har ett lågt pris, på grund av vilket det används i stor utsträckning av alla radioamatörer i sina projekt. Jordfuktighetssensor med Arduino används. Han har två sonder som leder elektrisk ström genom marken. Det visar sig att om jorden är våt är motståndet mellan sonderna mindre. Med torr mark respektive är motståndet större. Arduino accepterar dessa värden, jämför och vid behov sätter på till exempel en pump. Sensorn kan arbeta med både digitala och analoga lägen, vi kommer att överväga båda anslutnings alternativen. FC-28 används främst i små projekt, till exempel vid automatisk vattning av en viss växt, eftersom det är obekvämt att använda den i stor skala på grund av dess storlek och nackdelar, vilket vi också kommer att överväga.

Jordfuktighetssensor FC-28
Jordfuktighetssensor FC-28

Var kan man köpa

Faktum är att i ryska butiker är sensorer för att arbeta med Arduino relativt dyra. Det genomsnittliga priset för denna sensor i Ryssland varierar från 200 till 300 rubel, medan i Aliexpress kostar samma sensor bara cirka 30-50. Påslaget är enormt. Naturligtvis kan du fortfarande göra en sensor för att mäta markfuktighet med dina egna händer, men mer om det nedan.

Om anslutning

Att ansluta fuktighetssensorn till Arduino är mycket enkelt. Den levereras med en komparator och en potentiometer för att justera sensorns känslighet, samt för att ställa in gränsvärdet vid anslutning med en digital utgång. Utsignalen, som nämnts ovan, kan vara digital och analog.

Markfuktighetssensor Pinout
Markfuktighetssensor Pinout

Ansluter med digital utgång

Ansluten på nästan samma sätt som analog:

  • VCC - 5V på Arduino.
  • D0 - D8 på Arduino-kortet.
  • GND -jorden.

Som nämnts ovan finns en komparator och en potentiometer på sensormodulen. Allt fungerar enligt följande: med en potentiometer ställer vi in gränsvärdet för vår sensor. FC-28 jämför värdet med gränsen och skickar sedan värdet till Arduino. Låt oss säga att sensorvärdena ligger över tröskeln, i vilket fall jordfuktighetssensorn på Arduino sänder 5V, om mindre - 0V. Allt är väldigt enkelt, men analogt läge har mer exakta värden, så det rekommenderas att använda det.

Ansluter med digit alt läge
Ansluter med digit alt läge

Kopplingsschemat ser ut som på bilden ovan. sätt

Programmeringskoden för Arduino när du använder digit alt läge visas nedan.


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); } annat { digitalWrite(led_pin, LOW); fördröjning(1000); } }

Vad gör vår kod? Först identifierades två variabler. Den första variabeln - led_pin - tjänar till att beteckna lysdioden och den andra - för att beteckna markfuktighetssensorn. Därefter förklarar vi LED-stiftet som en utgång och sensorstiftet som en ingång. Detta är nödvändigt så att vi kan få värdena, och vid behov slå på lysdioden för att visuellt se att sensorvärdena ligger över tröskeln. I slingan läser vi värdena från sensorn. Om värdet är högre än gränsen, slå på lysdioden, om den är lägre, stäng av den. Istället för en LEDkanske en pump, allt är upp till dig.

Analogt läge

För att ansluta med den analoga utgången måste du arbeta med A0. Den kapacitiva jordfuktighetssensorn i Arduino tar värden från 0 till 1023. Anslut sensorn enligt följande:

  • VCC anslut 5V till Arduino.
  • GND på sensorn är ansluten till GND på Arduino-kortet.
  • A0 anslut till A0 på Arduino.

Skriv sedan koden nedan i Arduino.


int sensor_pin=A0; int output_value; void setup() { Serial.begin(9600); Serial.println("Läser sensorn"); delay(2000); } void loop() { output_value=analogRead(sensor_pin); output_value=map(output_value, 550, 0, 0, 100); Serial.print("Fukt"); Serial.print(output_value); Serial.println("%"); fördröjning(1000); }

Så vad gör den här koden? Det första steget var att ställa in variablerna. Den första variabeln behövs för att bestämma kontakten för sensorn, och den andra kommer att lagra resultaten som vi kommer att få med sensorn. Därefter läser vi data. I loopen skriver vi värdena från sensorn till output_value-variabeln vi skapade. Sedan beräknas andelen markfuktighet, varefter vi visar dem på portmonitorn. Kopplingsschemat visas nedan.

Markfuktighetssensor analog anslutning
Markfuktighetssensor analog anslutning

DIY

Det diskuterades ovan hur man ansluter jordfuktighetssensorn till Arduino. Problemet med dessa sensorer är att de är kortlivade. Faktum är att de är mycket benägna attkorrosion. Vissa företag tillverkar sensorer med en speciell beläggning för att öka livslängden, men det är fortfarande inte samma sak. Också övervägt är alternativet att använda sensorn inte ofta, men bara när det behövs. Det finns till exempel en programkod där sensorn varje sekund läser av markfuktighetsvärdena. Du kan förlänga livslängden om du slår på den till exempel en gång om dagen. Men om detta inte passar dig kan du göra en jordfuktighetssensor med dina egna händer. Arduino kommer inte att känna skillnaden. I grund och botten är systemet detsamma. Helt enkelt, istället för två sensorer, kan du sätta din egen och använda ett material som är mindre känsligt för korrosion. Helst, naturligtvis, använd guld, men med tanke på dess pris kommer det att bli väldigt dyrt. I allmänhet är det billigare att köpa med tanke på priset på FC-28.

DIY jordfuktighetssensor
DIY jordfuktighetssensor

För- och nackdelar

Artikeln diskuterade alternativ för att ansluta en jordfuktighetssensor till Arduino, och exempel på programkod presenterades också. FC-28 är en riktigt bra jordfuktighetssensor, men vilka är de specifika för- och nackdelarna med denna sensor?

Pros:

  • Pris. Denna sensor har ett mycket lågt pris, så varje radioamatör kommer att kunna köpa och bygga sitt eget automatiska bevattningssystem för växter. Naturligtvis, när du arbetar med stora skalor, är denna sensor inte lämplig, men den är inte avsedd för detta. Om du behöver en mer kraftfull sensor - SM2802B, måste du betala en ganska stor summa för den.
  • Enkelhet. Att bemästra arbetet med denna jordfuktighetssensor i Arduino kanvarje. Bara några ledningar, ett par rader kod - och det är allt. Markfuktighetskontroll klar.

Nackdelar:

Rekommenderad: