Sisukord:

DIY kerge äratuskell: 7 sammu
DIY kerge äratuskell: 7 sammu

Video: DIY kerge äratuskell: 7 sammu

Video: DIY kerge äratuskell: 7 sammu
Video: Цигун для начинающих. Для суставов, позвоночника и восстановления энергии. 2024, November
Anonim
DIY kerge äratuskell
DIY kerge äratuskell
DIY kerge äratuskell
DIY kerge äratuskell
DIY kerge äratuskell
DIY kerge äratuskell

Kas olete kunagi tahtnud proovida ühte neist uhketest äratuskelladest, mis jäljendavad päikesetõusu, et teid äratada? Kas soovite oma tuppa lisada värvilisi tulesid? Kas soovite seda kõike juhtida mis tahes Interneti -brauseriga seadmest? Seejärel vaadake seda äratuskella, mille tegin oma automaatse kalasöötja ehitamisel õpitu põhjal.

Valgusalarmi peamine eesmärk on veenduda, et mu toas on ärgates valgust, eriti talvel, kui väljas on tavaliselt veel pime. Valgus kustub etteantud ajavahemiku jooksul, mis lõpeb määratud helisemise ajal täie eredusega. Kuid see on alles esimene režiim, seal on veel 7 valgustusrežiimi, millega mängida!

Valgushäiret juhitakse HTML-lehe kaudu, mis on majutatud ESP-8266-12e tahvlil. Sellele saab juurde pääseda oma koduvõrgust või konfigureerida selle juurdepääsuks kõikjalt Internetist pordi suunamisega.

Samm: materjalid:

  • ESP-8266-12e (NodeMCU) plaat
  • Uusim Arduino IDE
  • Paigaldatud koodi jaoks vajalikud raamatukogud
  • Notepad ++ (soovi korral HTML -i redigeerimiseks)
  • Brauser (ma kasutasin chrome'i, kuid kõik peaksid töötama, eriti kui see võimaldab teil näha html -koodi töötamist)
  • 3D -printer, mille ehitusala on vähemalt 150 mm x 150 mm
  • Valge või läbipaistev plastkiud (varju jaoks võib kinnitus olla mis tahes värvi)
  • 4-kohaline 7-segmendiline ekraan koos TM1637 kiibiga, kasutasin ühte neist
  • 1 meetri adresseeritav RGBW LED -riba, sk6812. Minu ribal on 60LED/meeter, kuid seda enam ei müüda. Arduino kood on seadistatud RGBW jaoks, nii et peate selle ümber kirjutama, kui soovite kasutada RGB riba. Soovitan riba, millel on vähemalt 60LED.
  • KUI ribal pole kleepuvat alust: kleeplint ja superliim
  • Protoboard plaadi kinnitamiseks
  • 24AWG traat (soovitan mitut värvi)
  • Toiteallikaks vähemalt 6 jalga traati. Soovitan laualampide jaoks kasutada kõike, mida teie kohalik ehituspood müüb.
  • 5 V toiteallikas, ma kasutasin seda
  • Ärge unustage toiteallika adaptereid
  • Jootekolb
  • USB -kaabel plaadi programmeerimiseks
  • kuum liim
  • Päise tihvtid (mees- ja naissoost)
  • Kannatlikkus

2. samm: juhatuse programmeerimine

Juhatusel on kaks koodikomplekti, tavaline jooksev arduino -kood ja teie brauserisse saadetav HTML -kood. Laadite arduino koodi üles nagu iga teise tahvli puhul. HTML nõuab aga pistikprogrammi, mis laaditakse üles tahvli SPIFF-mällu.

SPIFF-ide kasutamise õpetuse leiate aadressilt

HTML -koodi üleslaadimise kohta leiate teavet aadressilt https://www.esp8266.com/viewtopic.php?f=32&t=10081. Selleks peate arduino jaoks installima pistikprogrammi.

HTML tuleb salvestada arduino projekti kausta lihtsalt kausta „data”.

HTML -i üleslaadimine võtab paar minutit, sain ootamise ajal mängida võrgusõitu või paar Mario Kart 8 -s. Seetõttu, kui muudate HTML -i, kasutage märkmete ++ abil faili redigeerimiseks ja selle testimiseks brauserisse (nt chrome).

Samm: kuidas kood töötab

Kuidas kood töötab
Kuidas kood töötab
Kuidas kood töötab
Kuidas kood töötab

Selle projekti kood on jagatud kaheks failiks: tahvli käivitatud kood ja tahvli mällu salvestatud HTML, mille see veebilehele navigeerimisel brauserisse saadab.

Kui ühendate tahvli toiteallikaga, käivitub tahvli kood, nagu iga arduino. See ühendub teie kodu WiFi -ga ja võtab seejärel ühendust NIST -serveriga, et saada praegune aeg sisemise kella seadmiseks. Pärast kella seadistamist käivitub veebiserver ja saate ühenduse luua oma lemmikbrauseri kaudu.

Ühendus peab toimuma plaadi IP -aadressi järgi, seega reserveerige kindlasti ruuterile staatiline IP. Vahetasin ka oma lambi pordi, nii et ühenduse loomiseks navigeerin 192.168.0.170:301/. Kui soovite oma lambiga ühenduse luua kõikjalt maailmast, peate oma ruuteris seadistama pordi suunamise. Seejärel peate looma ühenduse IP -aadressiga, mida näete, kui loote ühenduse saidiga https://www.whatsmyip.org/, ja pordiga, mille seadistate lambi kohaliku IP -aadressi sisse lülitama.

Kui olete ühenduse loonud, saadab plaat teie brauserisse HTML -faili, mis dekodeerib selle ja kuvab lehe. Teie tehtud muudatused ei mõjuta tahvlit enne, kui vajutate ühte nuppu. veebilehel. Kui vajutate nuppu, saadab teie brauser tahvlile html -vormi koos praeguste sätetega ja plaat võtab need seaded vastu ning määrab kuvarid.

Seaded on üsna sirged. Leht skaleerub teie brauseri laiuse järgi ja näeb mobiilseadmetes natuke parem välja. Seadete lehe välimuse muutmiseks peate muutma HTML -i ja selle jaoks on Internetis palju muid õpetusi. Kuna ma kasutasin esimest korda HTML -i, õppisin enamasti https://www.w3schools.com/HTML/html_intro. ASP abil.

Lehe laadimisel näete nelja nuppu, liugurit ja rippmenüüd. Ülemine nupp on peamine sisenemis- või kaasamisnupp. Järgmised kaks nuppu muudavad digitaalset ajakuva ja seda, kas see kuvab aega 12- või 24 -tunnises vormingus. Liugur reguleerib digitaalse kella heledust ja seda värskendatakse iga kord, kui lülitate ekraanirežiimi sisse või lülitate kella sisse. Viimane nupp peaks kõik tuled välja lülitama, kuid mingil põhjusel see selle koodiversiooniga ei tööta. Selle asemel lülitab tuled välja nupu "Engage" vajutamine, kui seadeid pole valitud.

Rippmenüü sisaldab 7 süsteemirežiimi, mille valimisel kuvatakse allpool vajalikud seaded.

  • Režiim 1: Alarm. Sisestage aeg, mille jooksul soovite valguse täieliku heleduse saavutada, ja kui kaua soovite, et tuhm oleks täisarvuline minut. Vaikimisi on 6:00:00 ja 15 minutit. Valgus püsib täisheledusel sama kaua, kui see kustub, enne kui automaatselt välja lülitub. Vaikimisi saab HTML -koodis muuta.
  • Režiim 2: analoogkell. Valige analoogkella tunni, minuti ja sekundi osutamiseks kolm värvi. Kolme värvivalija kohal olev liugur paneb automaatselt eelseadistatud jahedad või soojad värvid, kui need on seadistatud vastavalt vasakule või paremale. Kui liugur on seatud vasakule või paremale, siis tagasi keskele, siis on värvivalijad kõik mustaks seatud (0, 0, 0, 0) [R, G, B, W]. Kui tahvlile saadetakse nullvärv, juhitakse see juhuslikult. * See võib põhjustada tulede ülemäärast vilkumist.* Kui soovite, et tuli ei põleks, määrab mis tahes väärtuse väärtuseks 1 must (kõik väärtused on vaikimisi 1 (01, 01, 01, 01), kui värvivalijad on initsialiseeritud). Värvivalija ja RGB liugurid on lingitud, samas kui liugur W on sõltumatu.
  • Režiim 3: värv. Vali üks värv, millele tuled sisse lülitada. See jääb alles seni, kuni kasutaja seda muudab.
  • Režiim 4: värvitsükkel. Valige kolm värvi, mida mööda vaadata, ja sisestage aeg iga värvi hoidmiseks. Värvide valimisel kehtivad samad meetodid nagu režiimis 2. Selles režiimis toimivad kõige paremini juhuslikud värvid.
  • Režiim 5: värvisilinder. Valige kolm värvi (sama mis eelmine) ja silindri pöörete arv. Tuled kuvatakse ümber telje pöörlevate triipudena. valitud RPM -il. Vaikimisi RPM on 60 või 1 pööret sekundis. Juhuslikud värvid võivad põhjustada tulede vilkumist!
  • Režiim 6: värvipööris. Määrake kolm värvi ja pöörete arv. See režiim pole täiuslik, kuid idee on selles, et tuled keerlevad ööpäevaringselt. Sisse on ehitatud juhuslikkus, seega on kõige parem kasutada lihtsalt temperatuuri liugurit, et valida, kas keeris algab soojalt või jahedalt.
  • Režiim 7: Vikerkaar. Määrake tsükli kiirus, RPM on siin üsna kasutu. See oli Neopixeli raamatukogu eeltöödeldud näide, kus mõned muudatused võimaldasid plaadil endiselt kasutaja sisenditele vastata.

Kui seaded on valitud, saadab mis tahes nupu vajutamine tahvlile HTML -i vormi, mis kasutab vormi väärtusi kuvasätete muutmiseks. Nupp "Engage" saadab kõik seaded, kaks kella nuppu aga ainult kella heledust. Nupp "välja" peaks LED -riba lihtsalt välja lülitama, kuid on viga, mis takistab selle toimimist. Tundub, et selle asemel vajutab nuppu „Engage” ilma seadeid muutmata. Kui plaat on seadistusi analüüsinud, suunab see teie brauseri esialgsele HTML -lehele.

Märkus. Äratusaja määramine muudab süsteemirežiimi väärtuseks 1, mis peatab kõik varem töötanud režiimid ja lähtestab kõik seaded. Teise režiimi käivitamine pärast äratusaja määramist ei muuda aga teie määratud aega, nii et saate oma äratuse seada ja seejärel uue režiimi käivitada. Kui uut režiimi ei lülitata välja enne, kui alarm hakkab valges valguses kustuma, võib see vilkuda. Selle vältimiseks on plaadil raske kodeerida kõik tuled välja lülitada ja seadistada süsteemirežiim kell 2 (äratus) kell 2 öösel ilma seadistatud äratusaega muutmata. Seda rasket katkestusaega saab arduino koodis muuta.

Samm: võrgu seadistamine ja ühendamine

Võrgu seadistamine ja ühendamine
Võrgu seadistamine ja ühendamine

See samm on natuke ebamäärane, kuna iga ruuter on erinev. Muutuvate seadete leidmiseks googeldage oma ruuterimudelit.

Peate oma ruuterisse sisse logima ja tõenäoliselt täpsema režiimi sisse lülitama. IP -aadressi reserveerimiseks pean oma ruuteril minema DHCP -serverisse. Leidke oma ESP8266 MAC -aadress; see on see, mis on DHCP klientide loendis (või teie ruuteri samaväärses loendis), mis kaob iga kord, kui ESP -i lahti ühendate.

Kasutage lambi IP -aadressi reserveerimiseks MAC -aadressi. Veenduge, et sisestus oleks lubatud, kui teie ruuteril on see seade.

Kui soovite ühenduse luua väljastpoolt oma isiklikku võrku, peate puldi suunamise seadistamiseks uurima oma ruuterit.

Samm: 3D-prinditud osad

Trükitud osad peaksid sobima enamikule printeritele. Sellel on kaks osa: kinnitus ja varjund.

Kinnitus on see, mille ümber LED-riba on keerdunud, spiraalse mustriga ja selle läbimõõt on selline, et 60-LED-1-meetrine riba peaks ümber kolm korda ja kõik valgusdioodid peaksid aksiaalselt joonduma. Kui kasutate riba, mille valgusdioodid on paigutatud erinevalt ja ei joondu kinnituskohale nii nagu peaks, muutke läbimõõtu kaasasolevate mudelitega. Läbimõõt on C/pi, kus C on ümbermõõt ja 1/3 riba pikkusest. Poolikujulised avad kinnituse seina küljel võimaldavad toitekaabli ja õhuvoolu läbimist. Ristklambrid tagavad jäikuse ja pinna, millele paigaldamiseks paigaldada käsuribad.

Varjus on hõõrdekinnitus koos kinnitusega ja varju joondamiseks kinnitusega on sälk. Sälk peaks olema seinale paigaldatuna kella 12 või 6 asendis ning 7-segmendiline kellakuva peaks olema sälguga joondatud. Varjund toimib tulede hajutina ja on seetõttu väga õhuke. Trükkisin selle.5 mm otsikuga ja enamikul kommertsprinteritel on.4 mm otsikud, nii et probleeme peaks olema vähe, kuid kontrollige kindlasti oma viilutajat, et veenduda, et varjund prindib õigesti. Kasutage kindlasti ka valget või muul viisil poolläbipaistvat plastikut. Muud värvid moonutavad tulede värve või blokeerivad liiga palju valgust.

Kontrollige kindlasti, et teie kasutatav digitaalne kellaekraan sobib varju. See on konstrueeritud nii, et see sobiks hõõrdekohale ja piisavalt ruumi oleks juhtmete juhtmete jaoks. Kasutage mudeleid kella kinnituse muutmiseks. Varju mudeli muutmisel hoidke esipinna paksus kindlasti alla 1 mm, nii et kell oleks sellest vähese hajumisega nähtav.

6. samm: juhtmestik ja plaadi kokkupanek

Juhtmed ja juhatuse kokkupanek
Juhtmed ja juhatuse kokkupanek
Juhtmed ja juhatuse kokkupanek
Juhtmed ja juhatuse kokkupanek
Juhtmed ja juhatuse kokkupanek
Juhtmed ja juhatuse kokkupanek

Laud ja juhtmestik on palju vähem keerulised kui minu kalasöötja. ESP-8266-12e istumiseks lihtsalt joota paar rida naissoost päise tihvte protoboardile, samuti kaks rida isast kinnitusnõelu toite kinnitamiseks. Jootsin kaks kellaandmete juhet ja LED -riba andmesidejuhtme nende vastavatele tihvtidele protoboardil ning kõik toite- ja maandusjuhtmed joodeti tahvli tagaküljel tehtud vastavatele toitepiiretele.

Nende juhtmete teine pool peaks olema kella naissoost päised ja LED -riba LED -riba pistik. Võimalik, et peate jootma isased tihvtid kella külge ja ma soovitan selle jaoks nurga all olevaid tihvte. LED -riba juhtmed ja toitejuhtmed tuleks suunata plaadi seina poole (ESP -ga küljele) ja kellajuhtmed esiküljele (kus on kõik jootekohad).

Elektriliini jaoks kasutasin 6 jalga 16-26 keermega vasktraati. See oli natuke paks, nii et ma jagasin iga juhtme kolme naissoost tihvti vahel, et ühendada toite- ja maandusrööpad. Teine pool peaks olema mis tahes pistik, mille sa oma toiteallika jaoks said.

Kuumliimige kõik paljastatud jootekohad (eriti toitekaabli küljes ja ERITI, kui seal on vaske nagu minu oma), et isoleerida kõik juhuslikest lühikestest. Kella saab plaadile ka kuumliimiga liimida (kella tagakülg plaadi jooteküljele), kuid leidsin, et see on nõrk ühenduskoht ja kõik pole pärast paigaldamist nii vajalik.

Keerake LED -riba ümber kinnituse välispinna. Kontrollige kindlasti riba režiimis 2, et kontrollida, kas analoogkell liigub õiges suunas. Varju jaoks jätke esiservast kindlasti ~ 5 mm vahe. Riba esimene LED (sekundi värvi LED süttib iga minuti ülaosas, riba ühes otsas) läheb kell 12. kui lamp on seinale kinnitatud. Kui teil on LED -riba paigas, kasutage selle kleepuvat alust (kui see on olemas) või liimi, et see kinnitada kinnitusele. Superliim toimib kõige paremini, kui ribal pole kleepuvat alust. Kasutage kleeplinti, et riba testimise ajal ja liimi kuivamise ajal paigal hoida.

Keerake LED -juhtmed läbi poolringikujuliste avade kinnitusse, et plaadiga ühendada. Toitekaabel on ka siit läbi keeratud, vali kindlasti auk, mida kaabel raskusjõu või juhusliku tõmbamise tõttu ei tõmba.

7. samm: paigaldamine

Seinale kinnitamiseks kasutage lihtsalt 3-4 3M käsuriba või nii palju kui soovite. Kasutage kinnituse sälgu, et kontrollida, kas see on tasane. Kui kinnitus on paigaldatud, ühendage toitekaabel ja LED -juhtmed plaadiga ning sisestage kell varju. Seejärel pange varjund lihtsalt alusele ja ühendage toitekaabel toiteallikaga!

Soovitan: