Indholdsfortegnelse:

Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk: 7 trin (med billeder)
Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk: 7 trin (med billeder)

Video: Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk: 7 trin (med billeder)

Video: Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk: 7 trin (med billeder)
Video: Sådan får du varme i radiatoren igen 2024, November
Anonim
Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk
Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk
Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk
Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk
Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk
Propagatortermostat ved hjælp af ESP8266/NodeMCU og Blynk

Jeg har for nylig købt en opvarmet formerer, som skulle hjælpe med at få mine blomster- og grøntsagsfrø til at spire tidligere på sæsonen. Den kom uden termostat. Og fordi termostater er ret dyre, besluttede jeg at lave min egen. Da jeg ville bruge denne mulighed til at lege lidt med Blynk, baserede jeg min termostat på et ESP8266/NodeMCU udviklingsbræt, som jeg havde liggende.

Til tidligere projekter brugte jeg websteder som instructables.com meget til inspiration og hjælp, når jeg sad fast. Ikke mere end rimeligt selv at yde et lille bidrag, så her er min første instruerbare nogensinde!

Ansvarsfraskrivelse: Dette projekt fungerer på AC 230V, hvilket er ret farligt, og alt forkert kan dræbe dig. Jeg kan ikke holdes ansvarlig for skader, kvæstelser eller tab af liv. Gør dette på egen risiko

Trin 1: Liste over ting, jeg har brugt

Liste over ting jeg brugte
Liste over ting jeg brugte
Liste over ting jeg brugte
Liste over ting jeg brugte
Liste over ting jeg brugte
Liste over ting jeg brugte

1 NodeMCU V3.0

2 DS18B20 1-tråds temperatursensor

1 Relæmodul

1 LCD1602 I2C display

3 farvede trykknapper

1 158x90x60 kuffert med klart omslag

1 5V USB telefon oplader

1 kort USB 2.0 A han til B han mikro 5 -pins datakabel

1 4,7 kΩ modstand

1 vandtæt krydsfinerblok, ca. 10x5x2cm

1 stykke hvidt plastrør, diameter 12 mm, længde 16 cm

1 230V strømkabel med stik

1 230V hunstikdåse (2 ben)

1 230V hunstikdåse (3 ben)

1 6 position 2 række klemrække

1 stereolydkabel med 3,5 mm stereo jackstik i den ene ende

1 3,5 mm stereostik hun

2 M16 -kabelforskruningsstik

1 stykke hvid perspex omkring 160x90

Og nogle forbindelsestråde, varmekrympeslanger, lim, dobbeltsidet klæbende tape, sort spraymaling, afstandsstykker til printplader, M3 bolte og 1,5 mm/6,5 mm/12 mm/16 mm bor

Trin 2: Design af termostaten

Design af termostaten
Design af termostaten

Som sagt er termostaten opbygget omkring et ESP8266/NodeMCU udviklingsbord.

Den faktiske temperatur på både jorden og luften i propagatoren måles af 2 temperatursensorer. Disse sensorer har en såkaldt 1-Wire-grænseflade, hvilket betyder, at de kan forbindes parallelt med en indgangsport. Som nævnt i dette fremragende datablad kræver 1-Wire-bussen en ekstern pullup-modstand på ca. 5kΩ. Jeg bruger en 4,7kΩ modstand mellem sensorernes signallinje og 3,3V på NodeMCU.

For at kunne øge eller reducere den ønskede måljordtemperatur tilføjes 2 trykknapper samt en LCD -skærm på 16x2 tegn for at give lidt feedback på den aktuelle og måltemperatur. Denne LCD-skærm har en indbygget baggrundsbelysning. For at forhindre, at baggrundslyset hele tiden var tændt, besluttede jeg at tilføje noget kode for at dæmpe skærmen efter noget tid. For at kunne aktivere baggrundslyset igen, tilføjede jeg endnu en trykknap. Endelig tilføjes et relæmodul til at tænde og slukke for strømmen til varmekablet i propagatoren.

Billedet ovenfor viser, hvordan disse komponenter er forbundet til hovedenheden.

Trin 3: Lav 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'

Fordi vi senere har brug for nogle data fra Blynk -appen i vores kode, lad os først tage os af Blynk -forretningen.

Følg det første 3 trin i Blynk -vejledningen til at komme i gang.

Opret nu et nyt projekt i Blynk -appen. Som projektnavn valgte jeg 'Propagator'. Vælg 'NodeMCU' på enhedslisten, forbindelsestypen er 'WiFi'. Jeg kan godt lide det mørke tema, så jeg valgte 'Dark'. Efter at have trykket på OK, vil der blive vist en popup, der angiver, at der blev sendt et Auth Token til din e -mail -adresse. Tjek din mail, og skriv dette token ned, vi skal bruge NodeMCU -koden senere.

Tryk på den tomme skærm, der nu vises, og tilføj:

  • 2 målere (300 energi hver, så 600 i alt)
  • 1 SuperChart (900 energi)
  • 1 Værdi Display (200 energi)
  • 1 skyder (200 energi)
  • 1 LED (100 energi)

Dette forbruger præcis din gratis 2000 energibalance;-)

Billederne ovenfor viser, hvordan du layouter skærmen med disse elementer. Ved at trykke på hvert element kan de detaljerede indstillinger justeres (også vist på billederne ovenfor).

Når det er gjort, skal du aktivere dit projekt ved at vælge 'play' -knappen. Appen vil (naturligvis) ikke oprette forbindelse, fordi der endnu ikke er noget at oprette forbindelse til. Så lad os gå videre til det næste trin.

Trin 4: Koden der får det hele til at fungere

Nu er det tid til at programmere vores ESP8266/NodeMCU. Jeg bruger Arduino IDE -applikationen til dette, som kan downloades her. For at konfigurere den til ESP8266/NodeMCU, tag et kig på denne fantastiske instruerbare af Magesh Jayakumar.

Koden, jeg oprettede til min Propagator -termostat, findes i filen Thermostat.ino herunder.

Hvis du vil genbruge denne kode, skal du sørge for at opdatere dit WiFi SSID, adgangskode og dit Blynk Authorization-token i koden.

Trin 5: Konstruktion af temperatursensormodul

Konstruktion af temperatursensormodul
Konstruktion af temperatursensormodul
Konstruktion af temperatursensormodul
Konstruktion af temperatursensormodul
Konstruktion af temperatursensormodul
Konstruktion af temperatursensormodul

Propagatorens bund fyldes med et lag skarpt sand eller meget fint grus på ca. 2 cm tykt. Dette vil sprede bundvarmen mere jævnt. For korrekt at måle 'jord' -temperaturen besluttede jeg at gå efter den vandtætte DS18B20 temperatursensor. Selvom min propagator kom med et indbygget analogt termometer til at måle temperaturen i luften indeni, besluttede jeg at tilføje en anden temperatursensor til også at måle lufttemperaturen elektronisk.

For at holde begge sensorer pænt på plads skabte jeg en simpel trækonstruktion. Jeg tog et stykke vandtæt krydsfiner og borede et hul på 6,5 mm fra side til side for at holde jordtemperaturføleren og førte sensortråden gennem blokken. Ved siden af det borede jeg et 12 mm hul i midten af krydsfinerblokken til omkring 3/4 af den samlede højde og et 6,5 mm hul fra siden, halvvejs gennem blokken, og sluttede i 12 mm hullet. Dette hul indeholder lufttemperaturføleren.

Lufttemperaturføleren er dækket af et hvidt plastrør, der passer ind i hullet på 12 mm. Rørets længde er cirka 16 cm. Røret har flere 1,5 mm huller boret i den nederste halvdel (hvor sensoren er), den øverste halvdel er malet sort. Tanken er, at luften i den sorte del af røret varmes lidt op, stiger til toppen og slipper ud og dermed skaber en luftstrøm omkring sensoren. Forhåbentlig fører dette til en bedre aflæsning af lufttemperaturen. Endelig, for at undgå at sandet eller gruset kommer ind, er hullerne til sensorkablerne fyldt med lim.

For at forbinde sensorerne brugte jeg et gammelt stereolydkabel, der har et 3,5 mm -stik i stereo i den ene ende. Jeg afbrød stikket på den anden side og lodde de 3 ledninger (mit lydkabel har en kobberjord, rød og hvid ledning):

- begge sorte ledninger fra sensorerne (jord) går til jordkablet på lydkablet

- begge røde ledninger (+) går til den røde ledning

- begge gule ledninger (signal) går til den hvide ledning

Jeg isolerede de loddede dele individuelt med noget varmekrympeslange. Brugte også noget varmekrympeslange til at holde de 2 sensortråde sammen.

Det færdige temperatursensormodul er vist på det 4. billede ovenfor.

Efter afslutning af temperatursensormodulet installeres det i midten af den opvarmede propagator ved hjælp af noget dobbeltsidet klæbende tape. Tråden føres gennem den eksisterende åbning (som jeg var nødt til at forstørre lidt for at få tråden til at passe) i propagatorbasen.

Trin 6: Konstruktion af termostatmodulet

Konstruktion af termostatmodulet
Konstruktion af termostatmodulet
Konstruktion af termostatmodulet
Konstruktion af termostatmodulet
Konstruktion af termostatmodulet
Konstruktion af termostatmodulet
Konstruktion af termostatmodulet
Konstruktion af termostatmodulet

ESP8266/NodeMCU, displayet, relæet og 5V strømforsyningen passer fint ind i 158x90x60 mm etuiet med gennemsigtigt dæksel.

Jeg havde brug for en bundplade til at montere NodeMCU, LCD -display og relæ inde i kabinettet. Jeg tænkte på at bestille en 3D -printet bundplade, så jeg lavede en.stl -fil i SketchUp. Jeg ændrede mening og lavede det simpelthen selv af et stykke 4 mm hvid perspex. Ved hjælp af SketchUp oprettede jeg en skabelon for at markere det nøjagtige sted for de 3 mm huller, der skal bores. Se.skp -filen for et eksempel. Komponenterne monteres på bundpladen ved hjælp af nogle afstandsstykker af passende længde.

Jeg borede hullerne til knapperne og konnektorerne i kabinettets sider, installerede knapperne og stikene og tilsluttede dem med forskellige farvede ledninger for at undgå forkerte forbindelser. Jeg tilsluttede omhyggeligt 230V AC -delene. Igen: 230V AC kan være farlig, sørg for at vide, hvad du laver, når du forbereder denne del af projektet!

5V strømforsyningen og klemrækken holdes på plads i bunden af kabinettet med nogle dobbeltsidede tape.

Efter tilslutning af ledningerne til NodeMCU krævede det lidt bøvl at fikse bundpladen i sagen med nogle m3 bolte.

Sidste handling: Sæt det gennemsigtige dæksel på plads, og vi er færdige!

Trin 7: Konklusion

Det har været rigtig sjovt at konstruere denne termostat til min propagator og holde styr på mine fremskridt med at bygge den og skrive denne instruerbar.

Termostaten fungerer som en charme, og at kontrollere og overvåge den ved hjælp af Blynk -appen fungerer også fint.

Men der er altid plads til forbedringer. Jeg tænker på at forbedre temperaturkontrollen ved at undgå at "overskride målet" for meget. Sandsynligvis vil jeg kigge på det såkaldte PID-bibliotek.

En anden idé: Jeg tilføjer muligvis en 'Over The Air' OTA -mulighed for at opdatere NodeMCU -softwaren uden at skulle åbne sagen hver gang.

Anbefalede: