Innehållsförteckning:

Propagatortermostat som använder ESP8266/NodeMCU och Blynk: 7 steg (med bilder)
Propagatortermostat som använder ESP8266/NodeMCU och Blynk: 7 steg (med bilder)

Video: Propagatortermostat som använder ESP8266/NodeMCU och Blynk: 7 steg (med bilder)

Video: Propagatortermostat som använder ESP8266/NodeMCU och Blynk: 7 steg (med bilder)
Video: ОБОГРЕВАТЕЛЬ БОЛЬШЕ НЕ НУЖЕН! Адский экокамин! 2024, November
Anonim
Förökningstermostat med ESP8266/NodeMCU och Blynk
Förökningstermostat med ESP8266/NodeMCU och Blynk
Förökningstermostat med ESP8266/NodeMCU och Blynk
Förökningstermostat med ESP8266/NodeMCU och Blynk
Förökningstermostat med ESP8266/NodeMCU och Blynk
Förökningstermostat med ESP8266/NodeMCU och Blynk

Jag köpte nyligen en uppvärmd förökningsväxel, som ska hjälpa till att få mina blommor och grönsaksfrön att gro tidigare under säsongen. Den kom utan termostat. Och eftersom termostater är ganska dyra bestämde jag mig för att göra min egen. Eftersom jag ville använda detta tillfälle för att leka lite med Blynk, baserade jag min termostat på ett ESP8266/NodeMCU -utvecklingsbord som jag hade liggande.

För tidigare projekt använde jag webbplatser som instructables.com mycket för inspiration och hjälp när jag fastnade. Inte mer än rättvist att själv göra ett litet bidrag, så här är min första instruerbara någonsin!

Friskrivningsklausul: Detta projekt fungerar på AC 230V vilket är ganska farligt och allt fel kan döda dig. Jag kan inte hållas ansvarig för skador, personskador eller förlust av liv. Gör detta på egen risk

Steg 1: Lista över saker jag använde

Lista över saker jag använde
Lista över saker jag använde
Lista över saker jag använde
Lista över saker jag använde
Lista över saker jag använde
Lista över saker jag använde

1 NodeMCU V3.0

2 DS18B20 1-tråds temperaturgivare

1 Relämodul

1 LCD1602 I2C -skärm

3 färgade tryckknappar

1 158x90x60 fodral med klart lock

1 5V USB -telefonladdare

1 kort USB 2.0 A hane till B hane Micro 5 -stifts datakabel

1 4,7 kΩ motstånd

1 vattentätt plywoodblock, ca 10x5x2cm

1 bit vitt plaströr, diameter 12 mm, längd 16 cm

1 230V strömkabel med kontakt

1 230V honuttag (2 stift)

1 230V honuttag (3 stift)

1 6 position 2 rad kopplingsplint

1 stereoljudkabel med 3,5 mm stereokontakt i ena änden

1 3,5 mm stereo uttag hona

2 kabelförskruvningar M16

1 bit vit perspex ca 160x90

Och några anslutningstrådar, krympslang, lim, dubbelsidig tejp, svart sprayfärg, distansbrickor för kretskort, M3 -bultar och 1,5 mm/6,5 mm/12 mm/16 mm borr

Steg 2: Designa termostaten

Design av termostaten
Design av termostaten

Som sagt är termostaten byggd upp kring ett ESP8266/NodeMCU -utvecklingsbord.

Den faktiska temperaturen för både jorden och luften i förökaren kommer att mätas med 2 temperatursensorer. Dessa sensorer har ett så kallat 1-Wire-gränssnitt, vilket innebär att de kan anslutas parallellt med en ingångsport. Som nämnts i detta utmärkta datablad kräver 1-trådsbussen ett externt pullup-motstånd på cirka 5kΩ. Jag använder ett 4,7kΩ motstånd mellan sensornas signalledning och 3,3V på NodeMCU.

För att kunna öka eller minska önskad markjordstemperatur läggs 2 tryckknappar till, liksom en 16x2 tecken LCD -skärm för att ge lite feedback på nuvarande och måltemperaturer. Denna LCD-skärm har en inbyggd bakgrundsbelysning. För att förhindra att bakgrundsbelysningen lyser hela tiden bestämde jag mig för att lägga till lite kod för att dämpa skärmen efter en tid. För att kunna aktivera bakgrundsbelysningen igen lade jag till ytterligare en tryckknapp. Slutligen läggs en relämodul till för att slå på och av strömmen till värmekabeln i propagatorn.

Bilden ovan visar hur dessa komponenter är anslutna till huvudenheten.

Steg 3: Gör termostaten 'Blynk'

Gör termostaten 'Blynk'
Gör termostaten 'Blynk'
Gör termostaten 'Blynk'
Gör termostaten 'Blynk'
Gör termostaten 'Blynk'
Gör termostaten 'Blynk'

Eftersom vi behöver lite data från Blynk -appen i vår kod senare, låt oss först ta hand om Blynk -verksamheten.

Följ de första tre stegen i Blynk -instruktionerna för att komma igång.

Skapa nu ett nytt projekt i Blynk -appen. Som projektnamn valde jag 'Propagator'. Välj 'NodeMCU' från enhetslistan, anslutningstypen är 'WiFi'. Jag gillar det mörka temat, så jag valde 'Dark'. Efter att ha tryckt på OK visas en popup som anger att en Auth Token skickades till din e -postadress. Kontrollera din e -post och skriv ner denna token, vi behöver i NodeMCU -koden senare.

Klicka på den tomma skärmen som nu visas och lägg till:

  • 2 mätare (300 energi vardera, alltså 600 totalt)
  • 1 SuperChart (900 energi)
  • 1 värdevisning (200 energi)
  • 1 reglage (200 energi)
  • 1 LED (100 energi)

Detta förbrukar exakt din gratis 2000 energibalans;-)

Bilderna ovan visar hur du lägger upp skärmen med dessa element. Genom att trycka på varje element kan de detaljerade inställningarna justeras (visas också på bilderna ovan).

När du är klar aktiverar du ditt projekt genom att välja "spela" -knappen. Appen kommer (naturligtvis) att misslyckas med att ansluta, eftersom det ännu inte finns något att ansluta till. Så låt oss gå vidare till nästa steg.

Steg 4: Koden som får allt att fungera

Nu är det dags att programmera vår ESP8266/NodeMCU. Jag använder Arduino IDE -applikationen för detta, som kan laddas ner här. För att ställa in den för ESP8266/NodeMCU, ta en titt på denna fantastiska instruerbara av Magesh Jayakumar.

Koden jag skapade för min Propagator -termostat finns i filen Thermostat.ino nedan.

Om du vill återanvända den här koden, se till att du uppdaterar ditt WiFi SSID, lösenord och din Blynk Authorization-token i koden.

Steg 5: Konstruera temperatursensormodulen

Konstruera temperatursensormodulen
Konstruera temperatursensormodulen
Konstruera temperatursensormodulen
Konstruera temperatursensormodulen
Konstruera temperatursensormodulen
Konstruera temperatursensormodulen

Propagatorns bas kommer att fyllas med ett lager vass sand eller mycket fint korn på cirka 2 cm tjockt. Detta kommer att sprida bottenvärmen jämnare. För att korrekt mäta jordens temperatur bestämde jag mig för den vattentäta DS18B20 temperatursensorn. Även om min propagator kom med en inbyggd analog termometer för att mäta temperaturen på luften inuti, bestämde jag mig för att lägga till en annan temperatursensor för att mäta lufttemperaturen också elektroniskt.

För att hålla båda sensorerna snyggt på plats skapade jag en enkel träkonstruktion. Jag tog en bit vattentät plywood och borrade ett 6,5 mm hål från sida till sida för att hålla jordtemperaturgivaren och ledde sensortråden genom blocket. Bredvid det borrade jag ett 12 mm hål i mitten av plywoodblocket, till ungefär 3/4 av den totala höjden, och ett 6,5 mm hål från sidan, halvvägs genom blocket, som slutade i 12 mm -hålet. Detta hål rymmer lufttemperaturgivaren.

Lufttemperaturgivaren är täckt av ett vitt plaströr som passar inuti 12 mm -hålet. Rörets längd är cirka 16 cm. Röret har flera 1,5 mm hål borrade i den nedre halvan (där sensorn är), den övre halvan är svartmålad. Tanken är att luften i den svarta delen av röret värms upp lite, stiger upp till toppen och flyr, vilket skapar ett luftflöde runt sensorn. Förhoppningsvis leder detta till en bättre avläsning av lufttemperaturen. Slutligen, för att undvika att sanden eller gruset kommer in, fylls hålen för sensorkablarna med lim.

För att ansluta sensorerna använde jag en gammal stereoljudkabel som har en 3,5 mm stereokontakt i ena änden. Jag klippte av kontakterna på andra sidan och lödde de 3 trådarna (min ljudkabel har en kopparjord, röd och vit tråd):

- båda svarta ledningarna från sensorerna (jord) går till jordkabeln på ljudkabeln

- båda röda trådarna (+) går till den röda tråden

- båda gula trådarna (signal) går till den vita tråden

Jag isolerade de lödda delarna individuellt med lite värmekrympslang. Använde också lite värmekrympslang för att hålla de 2 sensorkablarna ihop.

Den färdiga temperatursensormodulen visas på den fjärde bilden ovan.

Efter avslutad temperatursensormodul installeras den i mitten av den uppvärmda utbredaren med hjälp av lite dubbelsidig tejp. Tråden matas genom den befintliga öppningen (som jag var tvungen att förstora lite för att få tråden att passa) i förökningsbasen.

Steg 6: Konstruera termostatmodulen

Konstruera termostatmodulen
Konstruera termostatmodulen
Konstruera termostatmodulen
Konstruera termostatmodulen
Konstruera termostatmodulen
Konstruera termostatmodulen
Konstruera termostatmodulen
Konstruera termostatmodulen

ESP8266/NodeMCU, displayen, reläet och 5V strömförsörjningen passar snyggt in i 158x90x60 mm höljet med transparent lock.

Jag behövde en basplatta för att montera NodeMCU, LCD -display och relä inuti fodralet. Jag tänkte beställa en 3D -tryckt basplatta, så jag skapade en.stl -fil i SketchUp. Jag ändrade mig och gjorde det helt enkelt själv från en bit 4 mm vit perspex. Med SketchUp skapade jag en mall för att markera den exakta platsen för 3 mm -hålen att borra. Se.skp -filen för ett exempel. Komponenterna monteras på bottenplattan med hjälp av några distansdistanser av lämplig längd.

Jag borrade hålen för knapparna och kontakterna på fodralets sidor, installerade knapparna och kontakterna och kopplade dem med hjälp av olika färgade trådar för att undvika felanslutningar. Jag kopplade försiktigt upp 230V AC -delarna. Återigen: 230V AC kan vara farligt, se till att du vet vad du gör när du förbereder den här delen av projektet!

5V -nätaggregatet och kopplingsplinten hålls på plats på botten av höljet med lite dubbelhäftande tejp.

Efter att ha anslutit trådarna till NodeMCU tog det lite tjafs att fixa bottenplattan i höljet med några m3 bultar.

Slutlig åtgärd: sätt på det genomskinliga locket så är vi klara!

Steg 7: Slutsats

Det har varit riktigt roligt att bygga denna termostat för min propagator, och att hålla reda på mina framsteg med att bygga den och skriva detta instruerbart.

Termostaten fungerar som en charm, och att styra och övervaka den med Blynk -appen fungerar också bra.

Men det finns alltid utrymme för förbättringar. Jag funderar på att förbättra temperaturkontrollen genom att undvika att "överskjuta målet" för mycket. Förmodligen kommer jag att titta på det så kallade PID-biblioteket.

En annan idé: jag kan lägga till ett "Over The Air" OTA -alternativ för att uppdatera NodeMCU -programvaran utan att behöva öppna fallet varje gång.

Rekommenderad: