Teknologi

Skapa din egen smarta jordbrukssensor med Arduino: En teknisk DIY-guide

  • 15 min läsning
  • Hostragons-teamet
Skapa din egen smarta jordbrukssensor med Arduino: En teknisk DIY-guide

Skapa din egen smarta jordbrukssensor med Arduino projektet är ett kostnadseffektivt IoT-system för jordbruk som mäter jordfuktighet, omgivningstemperatur, luftfuktighet och ljusnivåer, samt ger bevattningsvarningar när det behövs och kan skicka data till en webbpanel. I denna guide kommer du att hitta alla komponenter, kopplingsscheman, exempel på kod, kalibreringssteg, tips för hållbarhet och metoder för att övervaka data online, som behövs för att installera en Arduino-baserad sensor på cirka 1-2 timmar.

Smarta jordbrukssensorer används för att minska onödig bevattning, tidigt upptäcka växtstress och digitalt följa produktionsförhållanden, från små hobbyträdgårdar till växthus. Färdiga industriella system är kraftfulla, men för en nybörjare, student, maker eller liten verksamhet är ett modulärt system byggt med Arduino mer ekonomiskt och lärorikt. Dessutom kan tillförlitliga resultat för dagliga beslut erhållas med rätt sensorval och regelbunden kalibrering.

I denna artikel är målet inte bara att skapa en fungerande krets; utan också att ta itu med mätlogik, datavaliditet, energiförbrukning, internetanslutning och säker publicering tillsammans. Om du vill visa sensorvärdena på en webbplats eller en specifik kontrollpanel, krävs en pålitlig infrastruktur för datalagring. Vid denna punkt kan du överväga Hostragons webbhostinglösningar för projektets dokumentation, API-slutpunkter eller administrationspanel, och Hostragons domänsökning för domänpublicering.

Projektets syfte och funktionsprincip

Denna smarta jordbrukssensor samlar in fyra grundläggande data från miljön där växten befinner sig: jordfuktighet, temperatur, luftfuktighet och ljusintensitet. Arduino läser dessa data med jämna mellanrum, jämför dem med förbestämda trösklar och kan skicka resultaten till en seriell skärm, LCD-skärm, SD-kort eller via Wi-Fi till en webbserver. I sin enklaste användning ger systemet en varning med en LED eller en buzzer när jordfuktigheten faller under den angivna nivån. Vid en mer avancerad användning kan det aktivera en mini-vattenpump med hjälp av ett relämodul.

Till exempel, om jordfuktigheten på en liten balkong där tomater odlas sjunker under 35% under en längre tid, kan växten börja stressa. Din sensor mäter varje 10:e minut, kollar medelvärdet av de senaste 6 mätningarna och meddelar att bevattning behövs om fukten är låg. Denna metod är säkrare än att fatta beslut baserat på en enstaka felaktig mätning, eftersom jordsensorer ibland kan visa plötsliga avvikelser på grund av salinitet, kontaktkvalitet eller plötsliga temperaturförändringar.

Logiken inom IoT är enkel: enheten mäter, mikrokontrollern tolkar, anslutningsmodulen överför data, webbpanelen eller databasen lagrar historik. Om du planerar att publicera webbpanelen offentligt rekommenderas det att använda HTTPS. Även om sensorvärden inte ser ut som personuppgifter kan de ge ledtrådar om plats, produktionsmönster och verksamhetsvanor. Därför är det en bra säkerhetspraxis att tänka på vad är SSL-certifikat och varför är de nödvändiga när du publicerar din panel.

Nödvändiga material och ungefärlig kostnad

Följande lista består av stabila och lättillgängliga komponenter för nybörjare. Priserna varierar beroende på märke, kvalitet och leverantör, så det är mer korrekt att fokusera på praktiska urvalskriterier istället för att ange exakta priser. Om du planerar att använda sensorn utomhus, är den viktigaste komponenten den kapacitiva jordfuktighetssensorn och vattentålig låda.

  • Arduino Uno eller Arduino Nano: Uno är lämplig för nybörjare, medan Nano är bättre för kompakta installationer.
  • Kapasitativ jordfuktighetssensor: Mer korrosionsbeständig än resistiva sensorer.
  • DHT22 eller DHT11 temperatur- och fuktsensor: DHT22 är mer exakt och har ett bredare intervall.
  • LDR ljussensor och 10K motstånd: Tillräcklig för att mäta ljusnivåer ungefärligt.
  • ESP8266 Wi-Fi-modul eller direkt ESP32-kort: Används för internetanslutning.
  • Relämodul och mini-vattenpump: Valfritt för dem som vill lägga till automatisk bevattning.
  • Extern 5V strömadapter eller powerbank: Ger stabil strömförsörjning på fältet.
  • Breadboard, jumperkablar, lödningsutrustning: Behövs för prototyp och permanenta anslutningar.
  • IP65-låda, kabelgenomföring, silikonpackning: Rekommenderas för utomhusbeständighet.

Startkostnaden är låg jämfört med färdiga industrisystem i de flesta scenarier. För ett grundläggande mätssystem räcker Arduino, jordfuktighetssensor, DHT-sensor och kablar. Kostnaden ökar i takt med att Wi-Fi, webbpanel, automatisk pump och utomhusskydd läggs till, men fördelarna med systemet ökar också. Särskilt i små växthus kan registrering av bevattningsbeslut tydligt visa vilka dagar under några veckor som vattenstress har uppstått.

Jämförelse av Arduino, ESP32 och färdiga sensorsatser

Det är viktigt att bestämma vilken korttyp du ska välja innan du påbörjar projektet. Arduino Uno är lätt att lära sig, medan ESP32 erbjuder Wi-Fi och högre bearbetningskapacitet vilket ger fördelar för IoT. Färdiga kit erbjuder snabb installation men kan ha begränsad anpassning.

Jämförelse av Arduino, ESP32 och färdiga sensorsatser
AlternativFördelarNackdelarOptimalt användningsområde
Arduino UnoMycket resurser, lätt att koppla, idealisk för utbildningIngen inbyggd Wi-Fi, tar mer plats inuti lådanFörsta prototyper och lärandeprojekt
Arduino NanoLiten storlek, låg kostnad, lämplig för permanent monteringUSB och pin-struktur kan vara utmanande för nybörjareKruka, balkong och kompakta växthusinstallationer
ESP32Inbyggt Wi-Fi/Bluetooth, kraftfull processor, låg energiförbrukning3.3V logiknivå kräver uppmärksamhetIoT-system som skickar data till webbpanelen
Färdigt jordbrukskitSnabb start, komponenter kommer i paket och är kompatiblaBegränsad anpassning och lärandevärdeAnvändare med lite tid

Om du är nybörjare är det säkraste sättet att bygga en prototyp med Arduino Uno och läsa av värdena i seriemonitor. När du vill skicka data till internet kan du lägga till ESP8266-modulen eller gå direkt till ESP32. Om du planerar att skapa en professionell mini-panel erbjuder ESP32 en renare arkitektur med färre komponenter.

Kopplingsschema: Grundläggande kretsinstallation

I den grundläggande installationen ansluts den kapacitiva jordfuktighetssensorn till en analog pinne, DHT-sensorn till en digital pinne och LDR ansluts till den analoga pinnen via en spänningsdelare. Gör alla anslutningar utan ström innan du bygger kretsen. Om du använder en vattenpump eller relä, undvik att köra strömledningen genom Arduino; ge pumpen en separat strömkälla och skicka endast kontrollsignalen från Arduino.

Rekommenderade pinanslutningar

  • Jordfuktighetssensor VCC: 5V, GND: GND, AO: A0
  • DHT22 VCC: 5V, GND: GND, DATA: D2
  • LDR: Ena sidan till 5V, andra sidan till A1 och GND via 10K motstånd
  • Varnings-LED: Ansluts till D8 pin med 220 ohm motstånd
  • Reläsignal: Ansluts till D7 pin, pumpen drivs av extern strömförsörjning

Proben på jordfuktighetssensorn bör placeras vertikalt i jorden; kabelanslutningspunkten får inte vara i kontakt med jorden. Istället för att lämna sensorn i en konstant fuktig miljö är det mer exakt att placera den nära rotområdet, men bortom punkten där vatten samlas direkt. Om du har flera krukor eller bäddar är det mer hälsosamt att använda en separat sensor för varje sektion. Att försöka representera hela området med en enda sensor kan vara missvisande, särskilt i droppbevattningssystem.

Installation av Arduino IDE och bibliotek

Efter att ha laddat ner Arduino IDE från den officiella källan och kopplat din enhet till datorn, bekräfta först att kortet fungerar med det enkla blinkande exemplet. Installera sedan det nödvändiga biblioteket för DHT-sensorn. Du kan ladda ner DHT sensor library och Adafruit Unified Sensor-paketet genom att öppna Biblioteksadministratören i Arduino IDE. Detta steg gör att temperatur- och fuktmätningar blir lättare att läsa i koden.

Om du planerar att koppla projektet till webbpanelen måste du också lägga till ESP8266 eller ESP32-kortförvaltaren i IDE. Men denna guide ger grundkoden med Arduino Uno-logik, så att mät- och beslutsalgoritmen blir tydlig. Senare kan samma logik utvidgas på ESP32 med HTTP POST eller MQTT-protokollet. När du har skapat en API-slutpunkt kan API och integrationsguider hjälpa dig med den arkitektoniska planeringen.

Exempel på Arduino-kod

Följande kod läser av jordfuktighet, temperatur, luftfuktighet och ljusnivå. Om jordfuktigheten är under den angivna tröskeln ger den en LED-varning. Förvänta dig inte procentuella värden direkt utan kalibrering; varje sensor och jordtyp kan producera olika analoga intervall. Därför bör du justera de torra och fuktiga värdena i koden baserat på dina egna mätningar.

#include <DHT.h>
#define DHTPIN 2
#define DHTTYPE DHT22
#define SOIL_PIN A0
#define LDR_PIN A1
#define LED_PIN 8
DHT dht(DHTPIN, DHTTYPE);
int dryValue = 820;
int wetValue = 360;
int minMoisture = 40;
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(LED_PIN, OUTPUT);
}
void loop() {
int soilRaw = analogRead(SOIL_PIN);
int lightRaw = analogRead(LDR_PIN);
float temp = dht.readTemperature();
float hum = dht.readHumidity();
int soilPercent = map(soilRaw, dryValue, wetValue, 0, 100);
soilPercent = constrain(soilPercent, 0, 100);
if (soilPercent < minMoisture) { digitalWrite(LED_PIN, HIGH); }
else { digitalWrite(LED_PIN, LOW); }
Serial.print("Jordfuktighet: "); Serial.print(soilPercent); Serial.println("%");
Serial.print("Temperatur: "); Serial.print(temp); Serial.println(" C");
Serial.print("Luftfuktighet: "); Serial.print(hum); Serial.println("%");
Serial.print("Ljus råvärde: "); Serial.println(lightRaw);
Serial.println("---");
delay(10000);
}

Koden använder en mätintervall på 10 sekunder. I verkliga jordbruksapplikationer är 10 sekunder ofta en onödig frekvens. För krukor eller växthus kan 5-15 minuters intervaller vara tillräckliga. Om du använder batteri, kan längre mätintervall, att endast ge ström vid mätningstillfället, och att använda lågenergilägen förlänga batteriets livslängd avsevärt.

Kalibrering: Det mest kritiska steget för korrekt mätning

I många Arduino-jordbruksprojekt uppstår fel inte i kretsen utan under kalibreringen. Jordfuktighetssensorn producerar råa analoga värden; dessa värden betyder inte direkt procentuell fuktighet. Först måste du bestämma sensorns råa värden i torra och fuktiga förhållanden. Till exempel kan du läsa 820 när du håller sensorn i torr luft och 360 när den är helt nedsänkt i blöt jord. Dessa två ytterligheter definieras i koden som dryValue och wetValue.

Kalibreringssteg

  • Kör sensorn i en torr miljö och ta 10 mätningar; registrera medelvärdet som torrt värde.
  • Placera sensorn i mycket blöt jord som inte flyter i vatten; ta 10 mätningar.
  • Gör samma procedur med den verkliga jordblandningen du kommer att använda; torv, lerjord och sandjord beter sig olika.
  • Följ mätvärdena på seriemonitor och uppdatera gränserna i koden.
  • Bestäm den minimi fuktighetsgränsen genom att experimentera med växtarten.

I praktiken representerar värdena 0% och 100% inte den absoluta fuktigheten i jordbruket; de representerar det torra-fuktiga intervallet för just din sensor. Ändå är de mycket användbara för bevattningsbeslut. För att fatta mer tillförlitliga beslut kan du använda medelvärdet av de senaste 3 eller 5 mätningarna istället för en enskild mätning. Denna metod minskar plötsliga hopp som kan orsakas av sensorens kontakt eller elektrisk brus.

Skicka data till webbpanelen och publicera

Det steg som verkligen gör den smarta jordbrukssensorn användbar är möjligheten att följa mätvärden i efterhand. Att se den aktuella fuktigheten är inte tillräckligt; att se bevattningsbehovet, temperaturförändringar och ljustrender under de senaste 7 dagarna ger mer informerade beslut. För detta kan du skicka dina sensorvärden till en webbserver, spara dem i en databas med en enkel PHP- eller Node.js API och visa dem på en grafpanel.

Den enkla arkitekturen kan se ut som följer: ESP32 läser av sensorerna, skickar en HTTP POST-begäran till servern i JSON-format, servern validerar de mottagna uppgifterna och sparar dem i en MySQL-databas. På panelens sida visas de senaste mätningarna i tabell eller grafisk form. För att publicera denna panel på din egen domän kan du använda Hur man registrerar en domän och val av rätt webbhostingpaket för stabil publicering.

För säkerhetens skull, lägg till en enkel tokenkontroll till API:et. Till exempel kan enheten skicka en hemlig nyckel med varje begäran; servern sparar inte data utan att validera denna nyckel. Skydda panelens åtkomst med lösenord, håll programvaran uppdaterad och använd absolut HTTPS. Om du vill dela information offentligt, undvik att visa känsliga platsdata. Plats för växthus, åker eller lager kan vara kommersiellt viktigt.

Viktiga punkter för dem som vill lägga till automatisk bevattning

Viktiga punkter för dem som vill lägga till automatisk bevattning

Att lägga till ett relä och en mini-pump gör projektet mer imponerande, men eftersom vatten och elektricitet är i samma system krävs försiktighet. Arduino bör endast fungera som beslutsfattare och pumpen ska inte drivas direkt från en Arduino-pin. En separat adapter, relä eller MOSFET-drivrutin bör användas för pumpen. Låga spännings 5V eller 12V DC-pumpar är säkrare för hobbyprojekt.

Den största risken med automatisk bevattning är att pumpen kan köras för länge på grund av sensorfel. Därför, sätt en maximal bevattningstid i programvaran. Till exempel, även om jordfuktigheten är låg, ska pumpen inte köras mer än 20 sekunder och vänta tills nästa mätning. Du kan också ställa in ett dagligt maxantal bevattningar. Dessa säkerhetsgränser förhindrar att en liten sensorfel förstör växten eller tömmer vattentanken.

Rekommenderad bevattningslogik

  • Om jordfuktigheten är under tröskeln, bekräfta först med 2 på varandra följande mätningar.
  • Kör pumpen kort; till exempel i 10-20 sekunder.
  • Vänta minst 5 minuter för att jorden ska absorbera vatten efter bevattning.
  • Om fukten fortfarande är låg, starta en andra kort bevattningscykel.
  • Begränsa det dagliga maxantalet arbetscykler i programvaran.

Utomhusbeständighet och underhåll

Kretsen som fungerar på laboratoriebordet kanske inte fungerar lika bra utomhus under en längre tid. Fukt, regn, sol, insekter, damm och temperaturskillnader sätter press på elektroniska komponenter. Därför bör kretskortet placeras i en låda av IP65-standard, använd kabelgenomföringar och behåll små avfuktande påsar inuti lådan för att minska kondens. När du placerar sensorproben i jorden, skydda kabelanslutningarna med silikon eller värmeslanger.

Underhållsschemat är också viktigt. Kontrollera varje vecka att sensorn inte har flyttat sig, att kablarna inte har lossnat och att mätningarna ligger inom rimliga intervall. Granska kalibreringsvärdena en gång i månaden. Om sensorn ger mycket olika värden under samma fuktighetsförhållanden kan probens yta vara smutsig, anslutningen kan vara oxiderad eller sensorn kan vara sliten. Kapacitiva sensorer har längre livslängd än resistiva sensorer, men de tål inte oändligt med konstant fuktighet.

Vanliga misstag och lösningar

Det vanligaste felet vid första installationerna är att anta att sensorvärdena direkt motsvarar verkliga procentuella fuktigheter. Ett annat misstag är att använda jordfuktighetssensorn genom att helt nedsänka den i vatten, vilket kan skada dess elektroniska delar. Dessutom kan en DHT-sensor som lämnas direkt i solen visa högre temperaturer än verkligheten. Temperatur- och fuktsensorn bör placeras i skugga, på en punkt där luft kan cirkulera.

  • Värdena visar konstant 0 eller 100: De torra och fuktiga kalibreringsvärdena kan ha angetts felaktigt eller omvänt.
  • DHT-sensorn visar nan: Kontrollera biblioteket, pinvalet eller kabelanslutningen.
  • Arduino återställs när pumpen startar: Pumpen kan överbelasta samma strömledning; använd en separat strömförsörjning.
  • Wi-Fi-anslutningen bryts: Kontrollera antennens position, strömförsörjningen och signalstyrkan.
  • Mätningarna fluktuerar mycket: Testa att använda medelvärden, förkorta kablarna och ge en mer stabil strömförsörjning.

Dataanalys: Från siffror till beslut

Det verkliga värdet av en smart jordbrukssensor ligger i dess förmåga att omvandla rådata till meningsfulla beslut. Till exempel, om jordfuktigheten är låg, temperaturen hög och ljusnivån hög kan växten förlora vatten snabbt. Å andra sidan, även om jordfuktigheten ser låg ut, kan det vara möjligt att skjuta upp bevattningen några timmar om luften är sval och ljusnivån är låg. Därför ger det mer korrekta resultat att titta på kombinationer snarare än att bara förlita sig på en enda sensorvärde.

Genom att registrera data under en vecka kan du se hur snabbt fuktigheten faller efter bevattning. Om fuktigheten sjunker snabbt vid samma tidpunkt varje dag kan du justera din bevattningsplan enligt detta. Om vissa områden har konstant hög fuktighet kan det finnas dräneringsproblem. Denna typ av observation kan öka produktionskvaliteten även på liten skala. Om du vill dela projektet som en blogg eller teknisk dokumentation, kan en projektsida publicerad på din egen domän fungera både som portfolio och som en utbildningsresurs. För detta kan du granska Guide för att skapa webbplats och installation av SSL-certifikat för säker publicering.

Idéer för att utveckla projektet

Efter att ha fått det grundläggande systemet att fungera kan du utveckla projektet på många sätt. Till exempel kan du lägga till en regnsensor för att skjuta upp bevattningen i öppna områden beroende på vädret. Med en pH-sensor och EC-sensor kan du övervaka näringslösningen. Genom att lägga till en OLED-skärm kan du visa mätningar lokalt, och med en SD-kortmodul kan du hålla reda på data även utan internet. På en mer avancerad nivå kan du överföra data till plattformar som Home Assistant med MQTT.

  • Förlänga batteriets livslängd med djupsömnsläge på ESP32
  • Skapa ett oberoende energisystem med solpanel och laddningsmodul
  • Grafisk rapportering med Grafana eller en anpassad panel
  • Skicka bevattningsvarningar via Telegram eller e-post
  • Övervaka flera sensorer på en central plats
  • Integrera en mobilapp via API

Om du installerar flera enheter, ge varje sensor ett unikt enhets-ID. På serversidan gör det enklare att lagra enhets-ID, mättid, sensortyp och värdefält för framtida analyser. När databasen växer blir backupschema också viktigt. Om din kontrollpanel ska användas för verksamhetsbeslut, kan det vara bra att titta på Säkerhetskopieringslösningar för hosting redan i ett tidigt skede.

Att omvandla projektet till en blogg ur ett SEO- och innehållsperspektiv

Detta projekt behöver inte förbli enbart en teknisk övning. Genom att omvandla dina mätresultat, installationsbilder, problem och lösningssteg till en bloggartikel kan du både bidra till gemenskapen och skapa en värdefull teknisk resurs för sökmotorerna. I tekniska DIY-innehåll uppskattar Google tydliga bilder, unika mätdata, fel-lösningssteg och verkliga användarupplevelser.

När du publicerar din artikel, ange tydligt ämnet i titeln, berätta för läsaren vad de kommer att lära sig i första stycket, ge materiallistan i en tabell och stöd koden med kommentarer. Att lägga till dina egna testresultat ger styrka i E-E-A-T. Till exempel, "den kapacitiva sensorn visade 812 i torr jord och 428 efter bevattning" är konkreta data som särskiljer innehållet från vanliga kopierade guider. För en snabb och säker webbplats där du kan publicera ditt projekt kan du granska Hostragons hostingpaket alternativ.

Slutord

Skapa din egen smarta jordbrukssensor med Arduino projektet är ett genomförbart startprojekt som kombinerar elektronik, programvara och jordbruksobservation. Genom att välja rätt sensor, noggrant kalibrera, säkert designa strömförsörjning och regelbundet registrera data kan du skapa ett användbart beslutsstödsystem för en liten trädgård eller växthus. Om du vill övervaka data på en webbpanel ger en pålitlig hosting, domän och SSL-infrastruktur en mer professionell känsla till projektet. När du är redo kan du planera din domän och hostingmiljö via Hostragons för att säkert publicera ditt projekt.

Vanliga frågor

Behöver jag programvarukunskaper för att skapa en smart jordbrukssensor med Arduino?

En grundläggande förståelse av Arduino IDE och förmågan att redigera färdig kod är tillräckligt. Om du kan ändra pin-nummer, tröskelvärden och kalibreringsintervall, kan du slutföra startprojektet. För att lägga till webbpanel och API krävs dock grundläggande kunskaper om HTTP, databaser och servrar.

Är kapacitiva jordfuktighetssensorer bättre än resistiva sensorer?

För långvarig användning är kapacitiva jordfuktighetssensorer mer lämpliga. Resistiva sensorer är mer benägna att korrodera i fuktig jord och kan förlora mätprecision över tid. Kapacitiva modeller bör väljas för utomhus- eller växthusprojekt.

Kan detta system användas i verkligt jordbruk?

Det är lämpligt för små växthus, hobbyträdgårdar, utbildningsprojekt och preliminära prov. Det kan ge nytta som beslutsstödsystem vid kommersiell produktion, men industriella sensorer, redundanta mätningar och professionell automationssäkerhet rekommenderas för kritiska bevattningsbeslut.

Är det säkert att visa sensorvärden på internet?

Det kan göras säkert. Att använda API-token, skydda panelen med lösenord, aktivera HTTPS och hålla programvaran uppdaterad är viktigt. Att använda SSL för dataöverföring på domän och hosting är en bra början.

Kan jag driva Arduino-sensorn med batteri eller solpanel?

Ja, men du måste minska energiförbrukningen. Att förlänga mätintervallet, använda ESP32:s djupsömnsläge, ge ström endast vid mättillfället och lägga till en solpanel med lämplig laddningskontroll kan öka batteriets livslängd.

Dela detta inlägg:

Hostragons-teamet

Aktuella guider från vårt expertteam inom webbhotell, servrar och domäner. Låt oss hitta rätt lösning för ditt projekt tillsammans.

Kontakta oss