Gästblogg: Styrning av bevattning balkonglådor

Har du en balkong med massor av växter? Kanske några som står i sol medans andra står i skugga?
Det är precis det som jag har!
Medans jorden torkade ut för alla växter som stod i solen så var ju fortfarande de i skuggan fuktiga. Det gjorde att jag var tvungen att vattna varannan dag för vissa växter skulle ta sig bra. Och samtidigt kunde jag övervattna de som stod i skuggan.

I detta inlägg tänkte jag visa hur jag löste problemet, frigjorde tid samt fick sinnesfrid 🙂

Bakgrund

Har du en balkong med massor av växter? Kanske några som står i sol medans andra står i skugga?
Det är precis det som jag har!
Medans jorden torkade ut för alla växter som stod i solen så var ju fortfarande de i skuggan fuktiga. Det gjorde att jag var tvungen att vattna varannan dag för vissa växter skulle ta sig bra. Och samtidigt kunde jag övervattna de som stod i skuggan.

I detta inlägg tänkte jag visa hur jag löste problemet, frigjorde tid samt fick sinnesfrid 🙂

Vänligen notera att jag använder mig av www.mysensors.org arduino bibliotek. Det som specas nedan är en sk NOD och den skickar information till en gateway som sedan snackar med valfri controller. Det finns jättefina beskrivningar på deras sida för att bygga gatewayen samt andra saker. Det går såklart att skriva en sketch till Arduinon som är självförsörjande utan allt detta.
Men jag vill ha informationen och kunna styra allt via mitt hemmaautomationssystem.

 

Detta behöver du för att styra 2 krukor eller rabatter:

1 Arduino Nano
1 Relämodul för arduino med 2st relä
1 NRF24l01+ 2.4GHz Wireless Module, ta gärna den med stora antennen.
1 Socket Adapter plate Board for 8Pin NRF24L01 Wireless Transceive module 51
1 2 Arduino Fuktighetssensorer
2 Minivattenpumpar som kan vara helt under vatten och är på 12V
1 DC-DC konverter som omvandlar 12V till 5V
1 Switchat Nätaggregat 12V (rekommenderar minst 3A)
1 SI7021 temperatur/luftfuktighets modul till Arduino
1 Låda som kan husera elektroniken
1 set bevattningssystem med små mikrosprinklers
1 Hink/balja som skall hålla mycket vatten.
Diverse kabel, kopplingsplintar etc
Det är viktigt att inte låta sig avskräckas om du är en nybörjare! Jag kan inte påstå att jag är duktig på att skriva kod och jag har spenderat många timmar på enkla misstag.
Men jag lyckades få ihop allt 🙂

Så här gjorde jag:

Fuktighetssensor:

Fuktsensor

Koppla in en fuktighetssensor till pin A0-A1 och en till pin A2-A3 på Arduinon.
Det spelar ingen roll vilken polaritet så bara in med kablarna.
På själva sensorn är det bäst om man kluddar över lite vanligt smältlim på kabelytorna så att de vattentätas lite.

Kopplingsplintar:

Märk upp 4st kopplingsplintar som kan heta ”5V”, ”5V GND”, ”12V” samt ”12V GND”. Vi kommer använda flera kopplingar än det finns pins så vi drar ut 5V och GND från arduinon samt behöver även separera inkommande 12V och GND.
Börja med att dra en kabel mellan Arduinons pin GND till kopplingsplinten ”5V GND”.
Samt en kabel mellan Arduinons pin 5V till ”5V” kopplingsplinten.

Luftfuktighetssensor:

Koppla in SI7021 modulen som har 4 pins, VCC, GND, SDA samt SCL. SDA går till pin A4 och SCL går till pin A5 på Arduinon. Denna modul fungerar med 3.3V så koppla in VCC till pin 3.3V på Arduinon och GND till ”5V GND” kopplingsplinten.

Relämodul:

Koppla nu in relämodulen. Ditt relä bör ha en bygel, med bland annat en pin som heter JDVcc. Plocka bort bygeln. Koppla JDVcc till ”5V” och den GND pin som finns precis bredvid till ”5V GND”.
Det finns en till GND på relämodulen men den skall vi INTE använda. Dra sedan en kabel från pin 5v på relät till ”5V” kopplingsplinten. In1 samt In2 pinnarna på relät dras till pin D3 respektive pin D4 på arduinon.

Vattenpumpar:

Vi vill bryta på plus-sidan i relät så sätt vattenpumpens pluskabel in till mittenuttaget på relät. Repetera med den andra pumpen till det andra relät. Koppla minus-sidan på vattenpumpen till ”12V GND”, repetera för den andre vattenpumpen. Dra sedan en kabel från ”12V” kopplingsplinten till den vänstra sidan av relät. Beroende på relä så kommer det vara NC, normally closed.
Repetera för för det andra relät. Det är vad vi vill ha för om relät bråkar så skall strömmen brytas och pumparna stanna.

Spänningsmatning:

På DC konvertern så har den input sida samt output sida. På outputsidan drar du pluspolen till ”5V” samt minuspolen till ”5V GND”. På DC konverterns inputsida drar du pluspolen till ”12V” och minuspolen går till ”12V GND”

Ovan är det som krävs för att styra allt om endast arduino är styrenheten.
Jag vill kunna styra den på distans så då behövs detta tillägget.

Trådlös styrning

NRF24L01+ är en sändnings/mottagningsmodul och har 8 pinnar. Denna trycks ner i motsvarande pinnar på socket adaptern. Detta chip fungerar med 3.3V men adaptern behöver 5V och omvandlar sedan till 3.3V.  Anledningen till att vi gör så här är att vi vill säkerställa chipet får tillräckligt med bra ström.  En Arduino kan inte leverera tillräckligt med ström på 3.3V pin och man kan få missade sändningar/mottagningar. På socket board kopplas pin VCC till ”5V” och pin GND till ”5V GND” kopplingsplintarna. Resterande pins kopplas till arduinon enligt följande:
CE till 9, CSN till 10, MOSI till 11, MISO till 12 samt SCK till 13.
IRQ används ej.

230V
Kvar som finns att göra är att koppla in nätaggregatets pluspol samt minuspol till ”12V” respektive ”12V GND”.
Nu är elektroniken färdig!

Stoppa dock inte in strömadaptern i vägguttaget än. Koppla vattenslang till pumparna och dra snyggt till krukorna/rabatterna.
Dra samtidigt jordfuktighetsgivarna och placera allt strategiskt i krukorna för maximal effekt.
Fyll hinken/baljan med vatten och stoppa ner pumparna.

All elektronik behöver skyddas så in med det i en skyddad miljö, exempelvis en elektroniklåda i plast.
SI7021 modulen får hänga utanför för är den inne i lådan kommer den rapportera den värme som kommer från elektroniken.

Arduino Nano

Programmering av Arduino

Koppla upp Arduinon till din dator med en micro usb till vanlig USB. Starta arduino programmet som finns att ladda ner på https://www.arduino.cc/en/Main/Software
Se till att ni har mysensors bibliotek inläst.  Hur ni sätter upp detta finns en jättefin beskrivning och film här https://www.mysensors.org/about/arduino

Sketchen som jag använt mig av finns här:

 

Det som jag får ut är temperatur samt relativ luftfuktighet genom SI7021 modulen. Den mäter detta var 30e sekund. Men om inte temperaturen ändrats med mer än 0.2C eller luftfuktigheten med 1%RH så skickas inget. Dock skickar jag en uppdatering var 20e minut för vissa loggfunktioner kräver värden då och då.

Fuktigheten i jorden mäts 1 gång i timmen och skickar då värdena. Viktigt här är att varje Arduino är lite känslig för yttre omständigheter. Fuktigheten i jorden får bestämmas från kruka till kruka och sedan får man beakta de värden man får. Jag har därför lagt in en kalibreringsfunktion. När jag stoppar ner sensorn så vattnar jag krukan. Sedan skickar jag en notis till arduinon att jag vill ha info om vad fuktigheten är just då. Det värdet jag får (brukar ligga mellan 60-80) blir sedan en referens till 100%.
Jag kan sedan skapa en regel eller dyligt för att starta bevattningen vid ett värde på 30 eller 40 ”fuktighet” eller som 50% referens. Det är viktigt att inte be om för regelbundna mätningar.
Det som egentligen händer är att vi skickar lite ström genom 1 Arduino pin och mäter vad vi får i den andra. Ström plus vatten plus järn/koppar etc gör att det korroderar. Och 1 gång per timme, alternativt mer sällan och kanske aldrig på natten gör att sådana sensorer förmodligen kan hålla i flera år. Fast de kostar ändå väldigt lite att byta ut.

Reläna styrs genom notiser som jag skickar till Arduinon. Så reglerna om hur allt skall skötas görs i mitt hemmaautomationssystem och inte lokalt i Arduinon.
Men det går bra att starta från min sketch och skriva om den för att vara fristående.

Om allt gjorts korrekt så är det dags att ansluta nätaggregatet till vägguttaget. Sedan kan man kalla på närmsta person och stolt visa resultatet och njuta av en häftigt automatiserad balkong!

Disclaimer: Ta det alltid lugnt med el och säkerställ att du vet vad du gör.
Koden är inte optimerad och kan säkerligen förbättras. Berätta gärna om det i kommentarerna!

Färdig lösning i låda
Fuktighetssensor i jord
Sprinkler
Sprinkler Monterad
Hink med vatten

 

 

 

 

 

 

Slut!

Kommentera