Innholdsfortegnelse:

Automatisk vifte/klimaanlegg: 6 trinn
Automatisk vifte/klimaanlegg: 6 trinn

Video: Automatisk vifte/klimaanlegg: 6 trinn

Video: Automatisk vifte/klimaanlegg: 6 trinn
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, November
Anonim
Automatisk vifte/klimaanlegg
Automatisk vifte/klimaanlegg
Automatisk vifte/klimaanlegg
Automatisk vifte/klimaanlegg

Velkommen! I denne instruksjonsboken vil jeg guide deg gjennom hvordan du bygger ditt eget automatiske vifte-/klimaanlegg. Denne instruksen omhandler en vindusvifte, som brukes til å kjøle ned rom i sommervarmen. Målet med dette prosjektet er å lage et system som automatisk vil overvåke og regulere temperaturen i et rom ved å kontrollere en felles vindusvifte. I tillegg vil muligheten til å kontrollere viften trådløst med en smarttelefon bli implementert ved hjelp av et Esp8266/NodeMCU Wifi Development -kort sammen med IoT -appen, Blynk. Hovedkontrollsystemet bruker en Arduino og noen få andre komponenter. La oss komme inn på det!

Trinn 1: Samle komponenter

For denne instruksjonsmåten trenger du:

- Arduino Uno (leveres med USB -datakabel) - Kjøp her (Amazon) (andre lignende tavler som Arduino Mega vil også fungere)

- 16x2 LCD -skjerm (i dette prosjektet bruker jeg en skjerm uten en 16 -pinners moduladapter. Hvis du har adapteren, har Arduino opplæringsprogrammer om hvordan du kobler moduladapteren til en Arduino Uno)

- DHT11 temperatur-/fuktighetssensor (3 -pinners) - Kjøp her (Amazon) - det er to versjoner: en 3 -pinners og en 4 -pinners. Her bruker jeg 3 -pinners sensoren, da den er lettere å bruke og koble til fordi du ikke trenger å legge til en motstand. Sørg for å sjekke pinout av sensoren din, siden forskjellige produsenter har litt forskjellige pinouts for denne sensoren.

- 10k Ohm potensiometer - Kjøp her (Amazon)

- 2 trykknapper - Kjøp her (Amazon)

- Metal Gear Servo - Kjøp her (Amazon) - du trenger ikke å bruke en metal gear servo, da alt avhenger av vindusviften din. Servoen brukes til å flytte bryteren på viften, så alt avhenger av hvor mye kraft som kreves for å flytte bryteren. Jeg bruker en biffig metallgear -servo fordi viften min har en solid bryter, og generelt er det mindre sannsynlig at metallgir -servoer går i stykker enn vanlige plastgear -servoer.

- Mann til mann og mann til kvinne Jumper Wires - Kjøp her (Amazon)

- Esp8266/NodeMCU Wifi Development Board - Kjøp her (Amazon)

- Blynk (gratis mobilapp tilgjengelig på App Store og Google Play)

- Micro USB -kabel for programmering av Esp8266/NodeMCU

- Diverse materialer for å konstruere en enhet for å la servoen bevege bryteren på viften. (Et bilde av enheten min vil bli inkludert lenger ned)

Trinn 2: Koble til alt

Kabling av det hele
Kabling av det hele

Det skreddersydde koblingsskjemaet for Arduino er vist ovenfor.

*VIKTIG NOTAT*

DHT11 og Esp8266/NodeMCU må fremdeles kobles til Arduino. Servoen må også kobles til Esp8266/NodeMCU.

Tilkoblinger:

DHT11 - Arduino

VCC - 5v (på brødbrett)

GND - GND (på brødbrett)

Signal (S) - Analog pin A0

_

Arduino - Esp8266/NodeMCU

Digital Pin 8 - Digital Pin 3 (D3)

Digital Pin 9 - Digital Pin 2 (D2)

_

Servo tilkoblinger

Red Wire - 5v (på brødbrett)

Svart/brun ledning - GND (på brødbrett)

Gul/oransje ledning - digital pin 0 (D0) på Esp8266/NodeMCU

Trinn 3: Programmering av Arduino

Den nedlastbare Arduino -filen for hoved Arduino -kretsen ligger nedenfor.

*VIKTIG*

Sørg for at du har installert de nødvendige bibliotekene (dht11 og LiquidCrystal)

*Hvis du allerede har begge disse bibliotekene installert (dobbeltsjekk, siden det er mange forskjellige DHT11 -biblioteker), kan du laste opp Arduino -koden fra filen ovenfor til Arduino*

For å laste ned LiquidCrystal Library, i Arduino IDE, klikk på Sketch, Include Library, og klikk deretter på Manage Libraries. Vent til alle bibliotekene er lastet inn, og skriv deretter inn LiquidCrystal i søkefeltet. Det burde være det første biblioteket som dukket opp, av Arduino og Adafruit. (FYI dette kan allerede være installert, siden dette er et av bibliotekene som ofte er innebygd når du laster ned IDE. Hvis det er det, går du bare til neste avsnitt) Sørg for at det er den nyeste versjonen, og klikk Installere. Når den er ferdig installert, lukker du IDE -en.

For å laste ned dht11 -biblioteket, gå her, og klikk på den grønne knappen til høyre som sier "Klon eller nedlasting", og klikk "Last ned ZIP". En zip -fil bør lastes ned til enheten din. Åpne Arduino IDE og klikk på Sketch, Include Library og Add. ZIP Library. Velg den komprimerte ZIP -filen du nettopp lastet ned. Når biblioteket er installert, lukker du IDE -en igjen. Åpne den på nytt og naviger til Custom_Fan_AC_System. Nå kan du velge brettet og porten og laste det opp til Arduino.

Trinn 4: Konfigurere Blynk med Esp8266/NodeMCU

Last ned Blynk -appen enten fra App Store (iOS) eller Google Play Store (Android).

Åpne appen, og opprett en konto. Lag et nytt prosjekt, og gi det navnet Automatic Fan A/C System. Velg Esp8266 eller NodeMCU for enheten (enten burde fungere). Velg Wifi som tilkoblingstype. Klikk deretter på "Opprett prosjekt". En autentiseringskode bør opprettes. Det vil bli brukt senere.

Klikk nå på skjermen (eller sveip til venstre), og en meny skal dukke opp. Klikk på Styled Button, og skriv inn Systemkontroll som navnet. For Pin, bla til Digital og velg D1. Skyv modusen fra trykk til bryteren. For off -etiketten, gi den navnet Room. For den på etiketten, gi den navnet Mobile. Klikk deretter OK øverst til høyre på skjermen. Klikk på skjermen igjen for å gå til menyen, og klikk på glidebryteren. Gi den navnet Fan Switch. For pinnen, bla til Virtual og velg V0. Hvis det angitte området er fra 0-1023, endrer du 1023 til 180. Klikk deretter på OK øverst til høyre. Klikk på skjermen en siste gang og bla ned til du ser Segmented Switch. Klikk på "Legg til alternativ", og siden viften min har tre innstillinger, Av, Lav og Høy, kalte jeg det første alternativet Av, deretter Lav, deretter Høy. IKKE Koble denne bryteren til en PIN -kode. Plasser denne bryteren under glidebryteren. (årsaken til denne bryteren vil bli tydelig senere)

_

Det er et bibliotek til (muligens to) du må installere, og det er Blynk -biblioteket. Gå igjen til Arduino IDE, til Sketch, Include Library, deretter Library Manager. Søk Blynk i søkefeltet, og den av Volodymyr Shymanskyy skulle komme opp. Last ned den nyeste versjonen, og når den er ferdig, lukker du IDE -en.

_

Sørg for at du har Servobiblioteket installert. Det er et innebygd bibliotek for IDE, så det bør installeres. Biblioteket er av Michael Margolis og Arduino. Hvis den ikke er installert, installerer du den nyeste versjonen og går ut av IDE.

_

Esp8266 må konfigureres i IDE. Det er ganske enkelt, bare åpne IDE og gå til Fil, Innstillinger, og i boksen Extra Boards Manager URLs skriver du inn:

arduino.esp8266.com/stable/package_esp8266c…

Klikk deretter OK.

_

Gå til Tools, Board, deretter Boards Manager. Søk etter Esp8266. Hvis den ikke er installert, installerer du den og går ut av IDE igjen.

_

Åpne IDE, og koble Esp8266/NodeMCU til enheten med Micro USB -kabelen. Sørg for at Arduino Uno er frakoblet. Gå til Verktøy og velg den tilgjengelige porten, og velg NodeMCU 1.0 (Esp-12E Module) for brettet.

_

Last ned filen for Esp8266/NodeMCU ovenfor, og les gjennom kommentarene mine og fyll ut nødvendig informasjon. Når det er gjort, last det opp til brettet.

Trinn 5: Konstruere servo/viftebryteren

Konstruere servo/viftebryteren
Konstruere servo/viftebryteren
Konstruere servo/viftebryteren
Konstruere servo/viftebryteren
Konstruere servo/viftebryteren
Konstruere servo/viftebryteren

Her vil jeg vise deg hvordan jeg konstruerte en enhet slik at servoen kunne vifte mellom lav, høy og av.

Jeg brukte et stykke klart rør som passet godt rundt bryteren på viften min, og jeg brukte Lego Technic -brikker til å lage en arm med en glidende holdemekanisme som ville montere under vinduet, akkurat som viften. Alt avhenger av viften din og oppsettet av rommet. Jeg har et skrivebord i nærheten av viften, så jeg kan bare montere det på noe på skrivebordet. Hvis du ikke har en solid stasjonær gjenstand i nærheten av vinduet, må du kanskje feste servoen direkte til viften.

Lego -armen kan bevege seg fritt for en viss avstand, en avstand som gjør at bryteren kan bevege seg helt fra ende til ende. Jeg monterte også et Lego -stykke på servohornet ved å bruke noen små skruer og messingadaptere som fulgte med servoene. Jeg sikret ikke Lego -armen sterkt rundt røret som er på bryteren fordi bryteren må bevege seg fritt nok fordi vinkelen på røret endres på grunn av at bryteren er en halvsirkel. Jeg har nettopp laget en Lego -boks rundt bryteren slik at armen ikke skulle ha problemer med å slå viften av og på. Det er en video nedenfor som du kan laste ned og se som viser armen på nært hold og hvordan den beveger bryteren. På vei til testing!

Trinn 6: Testing og generell forklaring på prosjektet

Jeg bestemte meg for å lage dette prosjektet etter at broren min og jeg gjentatte ganger var uenige om temperaturen i rommet vårt. Jeg liker viften mye, så rommet er veldig kult, og han ender med å slå av viften mye av tiden og sier at det er for kaldt. I tillegg, når det er varmt ute, glemmer jeg noen ganger å slå på viften når jeg ikke er i rommet, og når jeg går i dvale, er rommet så varmt, og jeg må slå på viften da, noe som ikke gjør det ikke endre temperaturen raskt nok for en god søvn. Så jeg bestemte meg for å lage et system som kan løse problemet.

_

Dette systemet har to elementer: den automatiske delen og den manuelle delen

Den automatiske delen styres av Arduino, hvor den konstant tar temperaturen og viser den på LCD -skjermen. Arduino bruker også de to trykknappene til å justere ønsket temperatur i rommet. I automatisk modus eller rommodus slår Arduino på viften når ønsket temperatur er lavere enn den faktiske temperaturen. Når ønsket temperatur er nådd, slår den av viften. Blynk -appen brukes til å kontrollere hele systemet, ettersom knappen kan gjøre viften til rommodus og til mobilmodus, noe som gjør at brukeren kan styre servoen og viften eksternt. I mobilmodus bruker brukeren glidebryteren for å kontrollere servoen. Arduino viser fortsatt gjeldende temperatur og ønsket temperatur på LCD -skjermen.

_

Testing:

Når du har lastet opp koden til både Arduino og Esp8266/NodeMCU og opprettet en måte for servoen å kontrollere viftebryteren, må du slå på alt. Slå på Arduino og Esp8266/NodeMCU (enten det er via USB, en 5v kilde, etc.) og vent noen sekunder til alt er slått på. Åpne deretter Blynk -appen og gå inn i prosjektskjermen og trykk på play -knappen øverst til høyre. Den bør kobles til Esp8266/NodeMCU. Klikk på trykknappene for å kontrollere at de justerer ønsket temperatur, og sørg for at LCD -skjermen også endres med den. I Blynk -appen klikker du på bryteren slik at systemet er i mobilmodus. Deretter flytter du glidebryteren og slipper den, og du skal se servoen bevege seg (til posisjonen til antallet grader som glidebryteren viser. Hvis den ikke viser verdien, går du inn i glidebryteren og sjekker bryteren som sier "Vis verdi "). Flytt glidebryteren rundt til du får de eksakte tallene som flytter servoen slik at viften din slås på og av. Skriv inn disse tallene i Arduino -koden. * Jeg programmerte bare i innstillingene for lav og av, selv om min har en høy innstilling, siden den lave innstillingen er kraftig nok * Last opp koden til Arduino igjen.

Formålet med den segmenterte bryteren under glidebryteren er å vise verdiene for innstillingene på viften, siden du vil styre eksternt med glidebryteren. Jeg endret navnet på alternativene mine til

Alternativ 1. Av - (verdi)

Alternativ 2. Lav - (verdi)

Alternativ 3. Høy - (verdi)

På denne måten vet jeg hvor jeg skal sette glidebryteren når jeg fjernkontrollerer viften. Du bør angi servoverdiene i alternativene slik at du vet hvor du skal flytte glidebryteren. Deretter kan du bytte systemet tilbake til rom (automatisk) modus.

_

Når det er gjort. bare angi ønsket temperatur i rommet med de to trykknappene, så vil Arduino -systemet gjøre jobben!

//

Hvis du har spørsmål/problemer, kan du legge dem ned nedenfor, så hjelper jeg deg gjerne!:)

Anbefalt: