Innholdsfortegnelse:

ESP8266 temperaturkontrollert relé: 9 trinn (med bilder)
ESP8266 temperaturkontrollert relé: 9 trinn (med bilder)

Video: ESP8266 temperaturkontrollert relé: 9 trinn (med bilder)

Video: ESP8266 temperaturkontrollert relé: 9 trinn (med bilder)
Video: Arduino | NodeMCU ESP8266 Control Relay & Light Via Local Web Server 2024, November
Anonim
Image
Image

En venn av meg er en forsker som gjør eksperimenter som er veldig følsomme for lufttemperatur og fuktighet. Inkubatorrommet har en liten keramisk varmeapparat, men varmeapparatets termostat var ikke nær nøyaktig nok, bare i stand til å opprettholde temperaturen innen 10-15 grader.

Kommersielle enheter som logger temperatur og fuktighet kan være ganske dyre, og det kan være vanskelig å få data fra enheten. I tillegg kan de ikke kontrollere temperaturen, bare logge dataene. Han spurte hvor vanskelig det ville være å bygge en enhet som nøyaktig kunne kontrollere varmeren gjennom et relé mens den logger temperatur og fuktighet. Hørtes lett nok ut.

Vi tar en ESP8266, stafett, DHT22 og noen online IoT -plattformer.

Trinn 1: Rekvisita

Dette prosjektet bruker en håndfull forsyninger, som alle er ganske vanlige, og du kan allerede ha dem tilgjengelig i dag. Her er en fullstendig liste over det jeg brukte. Du kan gjerne justere etter behov for å dekke prosjektets behov.

  • ESP8266 ESP-01 (eller lignende ESP8266-kort)
  • DHT-22 temperatur- og fuktighetssensor
  • LM317 regulator for variabel spenning (eller en standard 3.3V regulator ville være enklere)
  • 5V høyt strømrelé (jeg begynte med en 10A, men blåste den ut innen 2 dager)
  • Ulike motstander og kondensatorer
  • Jumper ledninger
  • Standard stikkontakt og deksel
  • Elektrisk gjengeboks
  • Gammel USB -kontakt med adapter
  • Gammel stikkontakt

I ettertid ville det vært mye mer fornuftig å bruke en NodeMCU i stedet for ESP-01. Jeg hadde ikke en den gang, så jeg nøyde meg med det jeg hadde for hånden.

Trinn 2: Outlet Construction

Outlet Construction
Outlet Construction

Mens jeg teknisk sett begynte med mikrokontrolleren og koden, er det fornuftig å starte med stikkontakten først. Til dette prosjektet brukte jeg en enkelt gjengeboks, en standard 2-stikkontakt og strømledningen fra en gammel strømkontakt.

Den elektriske stikkontakten blir koblet til med de to hvite ledningene koblet sammen og de to jordledningene sammen. De to svarte ledningene som går gjennom høysiden av stafetten. Pass på at du får skruet terminalene godt ned, og ingen av trådene kommer til å bli korte ut, jeg satte litt loddetinn på ledningene slik at stativene holdt seg sammen.

Vær forsiktig med høyspenningen og dobbeltsjekk hver tilkobling. Det er en god idé å sette elektrisk tape på wire -lungene slik at de ikke vrikker løs

Trinn 3: Curciut Design

Curciut Design
Curciut Design
Curciut Design
Curciut Design

Kretsen er ganske grei, men hvis du bruker ESP-01 som jeg gjorde, må du legge til en spenningsregulator for å få en 3,3V. Standard reléer krever 5V, så du trenger en 3,3V og 5,0V skinne.

Kretsen min brukte en LM317 spenningsregulator med et sett med motstander for å få en konstant 3.3V -skinne, jeg banket på USB 5V for å drive reléet. Det er 3.3V-reléer, men ikke for høystrømreléer som trengs hvis du skal drive en liten romvarmer.

DHT22 krever en opptaksmotstand på 4,7 k.

Trinn 4: Lodde brettet

Lodde styret
Lodde styret
Lodde styret
Lodde styret
Lodde styret
Lodde styret
Lodde styret
Lodde styret

Layout og lodd alle komponentene. Dette kan være litt vanskelig, men forhåndsplanlegg sporene med et stykke grafpapir vil hjelpe.

Jeg brukte et USB -kort til en strømkontakt, men det var ganske svakt og erstattet det med to topptekster i stedet. Jeg brukte to kvinnelige overskrifter på brettet og loddet to mannlige topptekster direkte til en gammel USB-plugg. Dette viste seg å være mer pålitelig og solid. USB -ledningsfargene er:

Svart bakke Rød 5V

Jeg brukte også mannlige overskrifter til å avsløre DHT22 og Relay -pinnene på perfboardet mitt for å koble dem til standard jumper -ledninger.

Sørg for at du merker hver pinne, strøm og jordet kontakt hvis den trekkes ut senere.

Trinn 5: Monter kretskortet

Monter kretskortet
Monter kretskortet
Monter kretskortet
Monter kretskortet
Monter kretskortet
Monter kretskortet

På siden av gjengeboksen monterer du kretskortet med skruer og/eller varmlim. Sørg for at plasseringen er gjort slik at jumperledningene når rundt reléet ditt som er montert inne i esken, og du kan enkelt koble til strømkontakten.

Legg til en startkabel med varmekrymping til DHT22 -sensoren med passende lengde for din situasjon. Min var ca 8 centimeter lang. Jeg brukte noen CAT5-kabel i stedet for at ledningene kunne være litt bøyd på plass og ville være frittstående.

Trinn 6: Arudino -kode

Arudino -koden
Arudino -koden

Arduino -koden bruker min SensorBase -klasse, som er tilgjengelig på min Github -side. Du trenger ikke å bruke SensorBase -koden min. Du kan skrive direkte til MQTT -serveren og Thingspeak.

Dette prosjektet har tre viktige programvarefunksjoner:

  1. En lokal webserver for å angi og vise verdier
  2. Ekstern MQTT -server for å sende og lagre data
  3. Thingspeak dashbord for graftegning av data

Du kan bruke en eller flere av disse funksjonene. Bare juster koden etter behov. Dette er det spesifikke settet med kode jeg brukte. Du må justere passord og API -nøkler.

  • Sensorbasert kode på Github.
  • Lab -kode på Github.

Trinn 7: Thingspeak Dashboard

Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard
Thingspeak Dashboard

Opprett en gratis Thingspeak -konto og definer et nytt dashbord. Du må bruke den samme rekkefølgen på elementene som jeg har listet opp nedenfor, navnene spiller ingen rolle, men ordren gjør det.

Hvis du vil legge til eller fjerne elementer, justerer du Thingspeak -parameterne i Arduino -koden. Det er ganske greit og godt dokumentert på nettstedet deres.

Trinn 8: CloudMQTT -oppsett

CloudMQTT -oppsett
CloudMQTT -oppsett
CloudMQTT -oppsett
CloudMQTT -oppsett
CloudMQTT -oppsett
CloudMQTT -oppsett

Enhver MQTT -tjeneste, eller lignende IoT -tjeneste som Blynk, ville fungere, men jeg velger å bruke CloudMQTT for dette prosjektet. Jeg har brukt CloudeMQTT til mange prosjekter tidligere, og siden dette prosjektet vil bli overlevert til en venn, er det fornuftig å opprette en ny konto som også kan overføres.

Opprett en CloudMQTT -konto, og opprett deretter en ny "forekomst", velg størrelsen "Søt katt" siden vi bare bruker den til kontroll, ingen logging. CloudMQTT gir deg et servernavn, brukernavn, passord og portnummer. (Vær oppmerksom på at portnummeret ikke er standard MQTT -port). Overfør alle disse verdiene til ESP8266 -koden din på de tilsvarende stedene, og sørg for at saken er riktig. (seriøst, kopier/lim inn verdiene)

Du kan bruke "Websocket UI" -panelet på CloudMQTT for å se enhetens tilkoblinger, knappetrykk og, i det merkelige scenariet, at du får en feil, en feilmelding.

Du MÅ også bruke disse innstillingene når du konfigurerer Android MQTT -klienten, så merk verdiene hvis du trenger det. Forhåpentligvis er passordet ditt ikke for komplisert til å skrive inn på telefonen. Du kan ikke angi det i CloudMQTT.

Trinn 9: Avsluttende testing

Siste test
Siste test

Nå må vi teste den siste enheten.

Før du tester noe, dobbeltsjekk hver kabel og bruk multimeteret i kontinuitetsmodus for å spore alle ledninger. Sørg for at alt er koblet til der du tror det er tilkoblet. Fordi reléet isolerer høyspenningen fra lavspenningen, trenger du ikke bekymre deg for å koble ut mikrokontrolleren.

Jeg brukte en enkel elektriker kretstester for å bekrefte at alt var ordentlig kablet på høyspenningssiden, og det fungerte også bra å teste reléet mitt.

Legg til ESP2866 i wifi -nettverket ditt ved å koble til enheten via telefonen eller den bærbare datamaskinen. Dette bruker standard WifiManager -bibliotek, og han har all nødvendig dokumentasjon på sin Github -side.

Ved hjelp av en glødelampe plasserte jeg DHT22 -sensoren ved siden av pæren og plugget lampen i stikkontakten. Dette tillot temperaturen å varme opp raskt, noe som fikk reléet til å slå av lampen og gjenta prosessen. Dette var veldig nyttig for å teste alt, inkludert wifi-tilkoblingen min.

Enheten din skal slå på reléet på riktig måte når temperaturen er for lav og slå den av når temperaturen når den høye verdien. I testen min har dette vært i stand til å holde laboratoriet romtemperatur innen 1 grad Celcius 24/timer i døgnet.

Anbefalt: