Cuprins:

DIY Ceas cu alarmă ușoară: 7 pași
DIY Ceas cu alarmă ușoară: 7 pași

Video: DIY Ceas cu alarmă ușoară: 7 pași

Video: DIY Ceas cu alarmă ușoară: 7 pași
Video: Cum scrii când începi un caiet nou 2024, Iulie
Anonim
DIY Light Alarm Clock
DIY Light Alarm Clock
DIY Light Alarm Clock
DIY Light Alarm Clock
DIY Light Alarm Clock
DIY Light Alarm Clock

Ați dorit vreodată să încercați unul dintre acele ceasuri de alarmă fanteziste care imită răsăritul soarelui pentru a vă trezi? Doriți să adăugați niște lumini colorate în camera dvs.? Doriți să controlați totul de pe orice dispozitiv cu browser de internet? Apoi verificați acest ceas cu alarmă pe care l-am făcut folosind ceea ce am învățat construind alimentatorul meu automat de pește.

Scopul principal al Alarmei de lumină este să mă asigur că există lumină în camera mea când mă trezesc, mai ales în timpul iernii, când de obicei este încă întuneric. Lumina se estompează pentru o perioadă de timp prestabilită care se termină cu luminozitate maximă la ora de alarmă setată. Dar acesta este doar primul mod, există alte 7 moduri de iluminare cu care să te joci!

Alarma de lumină este controlată printr-o pagină HTML care este găzduită pe placa ESP-8266-12e. Poate fi accesat din rețeaua dvs. de domiciliu sau poate fi configurat pentru a fi accesat de oriunde pe internet cu redirecționarea porturilor.

Pasul 1: Materiale:

  • Placă ESP-8266-12e (NodeMCU)
  • Cel mai recent IDE Arduino
  • Biblioteci necesare pentru codul instalat
  • Notepad ++ (pentru editarea codului HTML dacă doriți)
  • Browser (am folosit Chrome, dar orice ar trebui să funcționeze, mai ales dacă vă permite să vedeți codul html funcționând)
  • Imprimantă 3D cu o suprafață de construcție de cel puțin 150 mm x 150 mm
  • Filament de plastic alb sau transparent (pentru umbră, suportul poate fi de orice culoare aveți)
  • Afișaj cu 4 cifre pe 7 segmente cu cip TM1637, am folosit unul dintre acestea
  • Bandă LED RGBW adresabilă de 1 metru, sk6812. Banda mea are 60 LED-uri / metru, dar nu mai este vândută. Codul arduino este configurat pentru RGBW, deci va trebui să îl rescrieți dacă doriți să utilizați o bandă RGB. Aș recomanda o bandă cu cel puțin 60 LED-uri.
  • DACĂ banda nu are un suport adeziv: bandă scotch și super lipici
  • Protoboard pentru a monta placa
  • Sârmă 24AWG (recomand mai multe culori)
  • Cel puțin 6 ft de sârmă pentru alimentare. Vă recomandăm să folosiți orice magazin de hardware local vinde pentru lămpi de masă.
  • Sursa de alimentare de 5V, am folosit-o pe aceasta
  • Nu uitați adaptoarele pentru sursa de alimentare
  • Ciocan de lipit
  • Cablu USB pentru a programa placa
  • lipici fierbinte
  • Pinii antetului (masculin și feminin)
  • Răbdare

Pasul 2: Programarea plăcii

Consiliul va avea două seturi de cod pe acesta, codul arduino obișnuit care rulează și codul HTML pe care îl trimite browserului dvs. Încărcați codul arduino așa cum ați face cu orice altă placă. Cu toate acestea, codul HTML necesită un plug-in pentru a fi încărcat în memoria SPIFF de pe placă.

Pentru un tutorial despre modul de utilizare a SPIFF-urilor, consultați

Pentru cum puteți încărca codul HTML, consultați https://www.esp8266.com/viewtopic.php?f=32&t=10081, pentru a face acest lucru, va trebui să instalați un plugin pentru arduino.

Codul HTML trebuie salvat într-un folder din folderul proiectului arduino numit pur și simplu „date”.

Încărcarea codului HTML durează câteva minute, am putut juca o cursă online sau două în Mario Kart 8 în timp ce așteptam. Din acest motiv, dacă faceți modificări la HTML, utilizați notepad ++ pentru a edita și fixa fișierul într-un browser precum Chrome pentru a-l testa.

Pasul 3: Cum funcționează codul

Cum funcționează codul
Cum funcționează codul
Cum funcționează codul
Cum funcționează codul

Codul din acest proiect este separat în două fișiere: Codul rulat de placă și codul HTML stocat în memoria plăcii pe care îl trimite browserului atunci când navigați la pagina web.

Când conectați placa la alimentare, codul plăcii pornește, ca orice arduino. Se conectează la WiFi-ul de acasă și apoi contactează un server NIST pentru a obține ora curentă de setare a ceasului intern. După setarea ceasului, pornește serverul web și vă puteți conecta prin browserul dvs. preferat.

Trebuie să vă conectați după adresa IP a plăcii, deci asigurați-vă că rezervați un IP static pe router. Am schimbat și portul lămpii, așa că, pentru a mă conecta, navighez la 192.168.0.170:301/. Dacă doriți să vă conectați la lampa dvs. de oriunde din lume, va trebui să configurați redirecționarea porturilor pe router. Apoi va trebui să vă conectați la adresa IP pe care o vedeți când vă conectați la https://www.whatsmyip.org/ și la portul pe care ați configurat IP-ul local al lămpii pentru a fi aprins.

După conectare, placa trimite fișierul HTML către browserul dvs., care îl decodează și afișează pagina. Modificările pe care le faceți nu afectează placa până când nu apăsați unul dintre butoane. pe pagina web. Când apăsați un buton, browserul dvs. trimite un formular html către tablă cu setările curente, iar placa adoptă aceste setări și setează afișajele.

Setările sunt destul de simple. Pagina se adaptează la lățimea browserului dvs. și arată un pic mai bine pe mobil. Pentru a schimba aspectul paginii de setări va trebui să editați codul HTML și există o mulțime de alte tutoriale online pentru asta. Deoarece a fost prima dată când folosesc HTML, am învățat mai ales folosind

Când pagina se încarcă, veți vedea patru butoane, un glisor și un meniu derulant. Butonul de sus este butonul principal „introduceți” sau „activați”. Următoarele două butoane comută afișarea digitală a timpului și dacă acesta afișează ora în format de 12 ore sau 24 de ore. Glisorul controlează luminozitatea ceasului digital și este actualizat de fiecare dată când comutați modul de afișare sau porniți ceasul. Ultimul buton ar trebui să oprească toate luminile, dar dintr-un motiv care nu funcționează cu această versiune a codului. În schimb, apăsarea butonului „Engage” fără setări selectate va stinge luminile.

Meniul derulant conține 7 moduri de sistem, selectarea unuia va afișa setările necesare mai jos.

  • Modul 1: alarmă. Introduceți timpul în care doriți ca lumina să atingă luminozitatea maximă și cât timp doriți ca decolorarea să fie în minute întregi. Implicit este 6:00:00 AM și 15 minute. Lumina va rămâne la luminozitate maximă pentru aceeași perioadă de timp în care se estompează înainte de a se opri automat. Implicit poate fi modificat în cod HTML.
  • Modul 2: ceas analogic. Alegeți trei culori pentru a reprezenta orele, minutele și secundele unui ceas analogic. Un glisor deasupra celor trei selectoare de culori va pune automat culori presetate reci sau calde dacă este setat la stânga sau la dreapta, respectiv. Dacă glisorul este setat la stânga sau la dreapta, apoi revenit la centru, atunci culegătoarele de culori sunt setate la negru (0, 0, 0, 0) [R, G, B, W]. Când o culoare complet zero este trimisă pe tablă, aceasta este randomizată. * Acest lucru poate face ca luminile să clipească excesiv. * Dacă doriți ca o lumină să rămână stinsă, setarea oricărei valori la 1 va avea ca rezultat „negru” (toate valorile implicite sunt 1 (01, 01, 01, 01) atunci când selectorii de culori sunt inițializat). Selectorul de culori și glisoarele RGB sunt conectate, în timp ce glisorul W este independent.
  • Modul 3: Culoare. Alegeți o culoare pentru a seta luminile. Aceasta va rămâne până când va fi modificată de utilizator.
  • Modul 4: Ciclul de culoare. Alegeți trei culori pe care să le parcurgeți și introduceți timpul pentru a păstra fiecare culoare. La alegerea culorilor se aplică aceleași metode ca în modul 2. Culorile aleatoare funcționează cel mai bine cu acest mod.
  • Modul 5: Cilindru color. Alegeți trei culori (la fel ca și cele anterioare) și turația cilindrului. Luminile se vor afișa ca un model de dungi care se rotesc în jurul axei. la RPM pe care l-ați ales. RPM-ul implicit este de 60 sau 1 rev / sec. Culorile aleatoare pot duce la lumini intermitente!
  • Modul 6: Color Vortex. Setați trei culori și RPM. Acest mod nu este perfect, dar ideea este că luminile se învârtesc non-stop. Există aleatoriu construit, deci este mai bine să folosiți doar glisorul de temperatură pentru a alege dacă vortexul începe cald sau rece.
  • Modul 7: Curcubeu. Setați viteza ciclului, RPM-ul este destul de inutil aici. Acesta a fost un exemplu pre-făcut din Biblioteca Neopixel cu câteva modificări pentru a permite plăcii să răspundă în continuare la intrările utilizatorului.

Odată alese setările, apăsarea oricărui buton va trimite un formular HTML către tablă, care folosește valorile din formular pentru a modifica setările de afișare. Butonul „Engage” trimite toate setările, în timp ce cele două butoane de ceas trimit doar luminozitatea ceasului. Butonul „off” ar trebui să oprească doar banda LED, totuși există o eroare care împiedică acest lucru să funcționeze. În schimb, apăsarea „Engage” fără a modifica setările pare să funcționeze. Odată ce placa a analizat setările, vă redirecționează browserul către pagina HTML inițială.

Notă: Setarea orei alarmei schimbă modul de sistem la 1, care va opri orice mod care se executa înainte și va reseta toate setările. Cu toate acestea, pornirea unui mod diferit după setarea orei alarmei nu modifică ora setată, astfel încât să puteți seta alarma și apoi să începeți un nou mod. Dacă noul mod nu este dezactivat înainte ca alarma să înceteze în lumina albă, acest lucru poate provoca intermitent. Pentru a preveni acest lucru, placa este codificată pentru a opri toate luminile și pentru a seta modul de sistem la 1 (alarmă) la 2 dimineața, fără a modifica ora setată a alarmei. Acest timp greu de limită poate fi modificat în codul arduino.

Pasul 4: Configurarea rețelei și conectarea

Configurarea rețelei și conectarea
Configurarea rețelei și conectarea

Acest pas este puțin vag, deoarece fiecare router este diferit. Google modelul dvs. particular de router pentru a găsi setările pe care trebuie să le modificați.

Trebuie să vă conectați la router și probabil să activați modul avansat. Pe routerul meu, trebuie să merg la serverul DHCP pentru a rezerva o adresă IP. Găsiți adresa MAC a ESP8266; va fi cel de pe lista de clienți DHCP (sau echivalentul routerului dvs.) care dispare ori de câte ori deconectați ESP-ul.

Utilizați adresa MAC pentru a rezerva adresa IP a lămpii. Asigurați-vă că intrarea este activată dacă routerul dvs. are această setare.

Dacă doriți să vă conectați din afara rețelei dvs. personale, va trebui să vă conectați la router pentru a afla cum să configurați redirecționarea porturilor.

Pasul 5: Părți imprimate 3D

Părțile tipărite trebuie să se potrivească pe majoritatea imprimantelor. Există două părți: montura și umbra.

Montura este ceea ce banda LED este înfășurată în jurul său, într-un model spiralat, iar diametrul său este astfel încât o bandă de 60 de LED-uri de 1 metru ar trebui să se înfășoare de 3 ori și toate LED-urile ar trebui să se alinieze axial. Dacă utilizați o bandă în care LED-urile sunt distanțate diferit și nu se aliniază pe suport așa cum ar trebui, modificați diametrul cu modelele furnizate. Diametrul este C / pi, unde C este circumferința și este 1/3 lungimea benzii. Deschiderile semicirculare de pe peretele suportului permit trecerea cablului de alimentare și a aerului. Bretele transversale oferă rigiditate și o suprafață pentru a aplica benzile de comandă pentru montare.

Umbra se potrivește cu montarea și există o crestătură pentru a alinia umbra cu suportul. Crestătura trebuie să fie la poziția 12 sau 6 când este montată pe perete, iar afișajul ceasului cu 7 segmente ar trebui să fie aliniat cu crestătura. Umbra acționează ca un difuzor pentru lumini și, prin urmare, este foarte subțire. L-am imprimat cu o duză de.5mm, iar majoritatea imprimantelor comerciale vin cu duze de.4mm, deci ar trebui să existe puține probleme, dar asigurați-vă că ați verificat feliatorul pentru a vă asigura că nuanța se va imprima corect. De asemenea, asigurați-vă că folosiți un plastic alb sau altfel translucid pentru umbră. Alte culori vor distorsiona culorile luminilor sau vor bloca prea multă lumină.

Asigurați-vă că verificați dacă afișajul ceasului digital pe care îl utilizați se potrivește la umbră. Este proiectat pentru a se potrivi cu frecare, cu suficient spațiu pentru cablurile ceasului. Folosiți modelele pentru a schimba suportul ceasului. Când schimbați modelul nuanței, asigurați-vă că păstrați grosimea feței frontale sub 1 mm, astfel încât ceasul să fie vizibil prin ea cu difuzie mică.

Pasul 6: Asamblarea cablajului și a plăcii

Asamblarea cablajului și a plăcii
Asamblarea cablajului și a plăcii
Asamblarea cablajului și a plăcii
Asamblarea cablajului și a plăcii
Asamblarea cablajului și a plăcii
Asamblarea cablajului și a plăcii

Placa și cablajul sunt mult mai puțin complicate decât alimentatorul meu de pește. Pur și simplu lipiți câteva rânduri de știfturi de cap femelă pe un protoboard pentru ca ESP-8266-12e să stea, precum și două rânduri de știfturi de cap masculin pentru a conecta puterea. Am lipit cele două fire de date ale ceasului și firul de date al benzii LED la pinii lor respectivi de pe protoboard și toate firele de alimentare și de împământare au fost lipite pe șinele de alimentare respective pe care le-am făcut pe spatele plăcii.

Cealaltă parte a acestor fire ar trebui să fie anteturi feminine pentru ceas și conectorul benzii LED pentru banda LED. Este posibil să trebuiască să lipiți pini de sex masculin la ceas și vă recomand pini cu unghi. Firele cu bandă LED și firele de alimentare ar trebui să fie direcționate către partea de perete a plăcii (partea cu ESP), iar firele de ceas trebuie direcționate către partea frontală (unde sunt toate îmbinările de lipit).

Pentru o linie de alimentare, am folosit 6ft de sârmă de cupru 16-26. Era cam gros, așa că am împărțit fiecare fir între trei pini feminini pentru a mă conecta la șinele de alimentare și la sol. Cealaltă parte ar trebui să fie orice conector pe care îl aveți pentru sursa de alimentare.

Lipiți la cald toate îmbinările de lipit expuse (în special pe cablul de alimentare și, în special, dacă există cupru expus ca al meu) pentru a izola totul de pantalonii scurți accidentali. Puteți, de asemenea, să lipiți ceasul pe placă (partea din spate a ceasului pe partea de lipit a plăcii), dar am constatat că aceasta era o articulație slabă și că nu era atât de necesar odată ce totul a fost montat.

Înfășurați banda LED în jurul exteriorului suportului. ASIGURAȚI-vă că testați banda în modul 2 pentru a verifica dacă ceasul analogic merge în direcția corectă. Asigurați-vă că lăsați un spațiu de ~ 5 mm față de marginea frontală pentru umbră. Primul LED al benzii (LED-ul în care apare culoarea secundelor în partea de sus a fiecărui minut, la un capăt al benzii) merge la poziția de ora 12. când lampa este montată pe perete. Când aveți benzi cu LED-uri în poziție, utilizați suportul adeziv (dacă are unul) sau lipici pentru a-l lipi de suport. Super lipiciul va funcționa cel mai bine dacă banda nu are un suport adeziv. Folosiți bandă scotch pentru a ține banda în loc în timp ce testați și în timp ce cleiul se usucă.

Infilați firele LED prin orificiile semicirculare în suport pentru a vă conecta la placă. Cablul de alimentare este, de asemenea, filetat aici, asigurați-vă că alegeți o gaură pe care cablul nu o va trage din cauza gravitației sau a tragerilor accidentale.

Pasul 7: Montare

Pentru a vă monta pe perete, pur și simplu utilizați 3-4 benzi de comandă 3M sau oricâte doriți. Utilizați crestătura din suport pentru a verifica dacă este la nivel. După ce suportul este montat, conectați cablul de alimentare și firele LED la placă și introduceți ceasul în umbră. Apoi, pur și simplu introduceți umbra pe suport și conectați cablul de alimentare la sursa de alimentare!

Recomandat: