Cuprins:

Ceas NeoPixel: 10 pași (cu imagini)
Ceas NeoPixel: 10 pași (cu imagini)

Video: Ceas NeoPixel: 10 pași (cu imagini)

Video: Ceas NeoPixel: 10 pași (cu imagini)
Video: Ceas V2.0 cu sincronizare automata 2024, Noiembrie
Anonim
Image
Image
Piese electronice necesare
Piese electronice necesare

*********************************************************************************************************

ACEASTA ESTE O INTRARE ÎN CONCURSUL MICRO CONTROLLER, VA ROG VOTATI PENTRU MINE

********************************************************************************************************

Am construit o oglindă infinită NeoPixel acum câțiva ani în timp ce eram în Thailanda și pot fi văzute AICI.

Am făcut-o în mod greu, nu folosind un Arduino, ci un microprocesor de sine stătător, un PIC18F2550. Aceasta a implicat săparea în registrele și momentele Micro pentru a scrie codul, dintre care unele conțineau asamblare.

Toate acestea sunt cunoștințe extraordinare și m-au ținut în locul meu, deoarece lucrează cu copiii Arduino să se joace. Cea mai mare parte a muncii a fost realizată prin utilizarea bibliotecilor terțe, în timp ce înainte am scris propriul cod de bibliotecă.

Acest ceas a fost conceput pentru a emite lumină din periferie pe perete la care este atașat folosind LED-uri RGB adresabile individual WS2812B distanțate la 144 pe metru. Acest lucru mi-a dat un diametru de ceas de 200 mm, lucru pe care l-aș putea face eu pe imprimanta mea 3D.

Are un efect uimitor, în special pe timp de noapte sau într-o cameră întunecată, lumina strălucește aproximativ 500 mm, oferind o strălucire totală de peste un metru de diametru. Modelele sunt uimitoare.

Ceasul afișează ore (albastru), minute (verde) și secunde (roșu). De asemenea, este afișată data pe un afișaj de 8 cifre cu 7 segmente și ziua săptămânii într-o formă de listă.

Ceasul este controlat de smartphone prin WiFi folosind aplicația Blynk și un server local Blynk care rulează pe un RPi 3.

Utilizarea unui server local pentru Blynk este opțională și configurarea nu face parte din acest instructable. Blynk găzduit pe web poate fi utilizat după crearea unui cont la www.blynk.cc și descărcarea aplicației.

Există o mulțime de informații despre utilizarea Blynk pe site-ul lor, deci nu face parte din acest instructable.

La un pas ulterior în acest instructable există un cod QR de scanat, veți avea apoi aplicația mea pe telefon.

Aplicația are comenzi pentru afișarea ceasului sau a modelelor (cu feedback LCD pe aplicație), posibilitatea de a vă seta fusul orar oriunde vă aflați în lume și de a obține ora prin intermediul unui server NTP. De asemenea, poate fi setat să doarmă.

Există un modul cu ceas în timp real cu rezervă de baterie care oferă funcții de dată / oră către Arduino.

Firmware-ul de pe NodeMCU-E12 poate fi actualizat prin ceas (OTA).

Acum, să începem …

Pasul 1: Instrumente necesare

Un fier de lipit bun și lipit

stripuri de sârmă

tăietoare mici de sârmă

cleste mici cu nas lung

ferăstrău mic pentru tăierea plăcii vero

cuțit ascuțit de hobby

foarfece

lipici de hârtie

Pasul 2: Piese electronice necesare

Piese electronice necesare
Piese electronice necesare
Piese electronice necesare
Piese electronice necesare

1 x modul NodeMCE-12E de AICI

1 x modul de ceas RTC AICI

1 x 8 cifre 7 segmente modul Max7219 aici

1 x mufă de alimentare DC aici

2 x comutatoare de nivel (necesare deoarece Arduino are 3.3v și afișajul segmentului RTC și 7 este de 5v) aici

68 LED-uri ale unei benzi LED WS2812B 114 / mtr aici.

Alimentare DC 5v 10A aici.

Rezistent 10kOhm 1 / 4W.

După cum este necesar sârmă de conectare.

Placă Vero de aproximativ 77 mm x 56 mm pentru a asambla toate modulele și a le conecta.

De fapt, am folosit un schimbător de nivel Adafruit pentru liniile I2c ale modulului RTC, deoarece ar fi trebuit să fie I2c sigur !!

Cu toate acestea, cred că majoritatea comutatoarelor de nivel logice bidirecționale de 3,3v până la 5v ar trebui să funcționeze.

Tăierea benzii cu LED-uri a irosit un LED, deoarece tampoanele pentru lipirea ambelor capete ale benzii cu 60 de LED-uri erau necesare, iar tampoanele sunt necesare pe banda cu 7 LED-uri.

Pasul 3: Părți tipărite

Piese tipărite
Piese tipărite
Piese tipărite
Piese tipărite
Piese tipărite
Piese tipărite

Există trei părți imprimate 3D; corpul principal al ceasului, capacul frontal și capacul bateriei din spate.

Capacul bateriei ar putea fi omis.

Există, de asemenea, o „mască” tipărită sub coperta frontală cu zilele săptămânii pe ea. Am tipărit asta pe hârtie obișnuită. Am furnizat un fișier.dwg și.dxf.

Există 2 coperte frontale disponibile, una nu are nume, doar în cazul în care nu puteți edita piesa.

Imprimanta mea 3D (duză de 0,4 mm) avea următoarele setări cu Slic3r:

înălțimea primului strat = 0,2 mm

înălțimea straturilor = 0,2 mm

temperatura patului = 60 C

temp duza = 210 C

perimetre verticale = 2

cochilii orizontale = 3

umplere = stele rectilinii la 45 grade

fără bor

fără material de sprijin

Este foarte recomandat să aveți o metodă de nivelare a patului

Fișiere imprimate 3D și desen mască aici:

Pasul 4: Completați fișierul de asamblare

Mai jos este un fișier IGS al ansamblului complet pentru oricine dorește să modifice ceasul.

Pasul 5: Instalarea bibliotecilor

INSTALAȚI PLACILE ESP

Veți avea nevoie de IDE-ul Arduino. Instalarea nu face parte din acest instructable, dar poate fi descărcată de AICI.

Odată ce ID-ul Arduino este instalat, dacă nu a fost deja realizat, va trebui să copiați / lipiți textul de mai jos în caseta de text din Fișier> Preferințe - Adrese URL suplimentare pentru panouri:

arduino.esp8266.com/stable/package_esp8266com_index.json

Reporniți IDE-ul.

După ce ați făcut acest lucru, accesați Instrumente> Board> Boards Manager. Lăsați-l să se actualizeze și ar trebui să vedeți versiunea comunității ESP8266 în lista plăcilor instalate.

INSTALAȚI BIBLIOTECE

Instalarea tuturor bibliotecilor în folderul Documente / Arduino / Biblioteci ca de obicei, în afară de cele instalate de managerul de bord.

După instalarea bibliotecilor, reporniți Arduino IDE, accesați Schiță> Includeți bibliotecă> Gestionați bibliotecile, lăsați-l să se actualizeze, ar trebui să vedeți noile biblioteci în listă.

RTClib - disponibil aici Adafruit_NeoPixel - disponibil aici

HCMAX7219 de aici

Blynk - disponibil aici. urmați cu atenție instrucțiunile de instalare.

Toate celelalte „include” din fișierul NeoPixelClock sunt fie instalate de Board Manager, fie sunt împachetate cu instalarea Arduino IDE.

Pasul 6: Instalarea firmware-ului

În acest stadiu, este o idee bună să conectați totul împreună pe o placă de pâine în scopul testării.

Verificați cu atenție toate cablurile înainte de a conecta sursa de alimentare de 5v și / sau cablul USB.

Navigați la folderul Sketch Documente> Arduino.

Creați un dosar „NeopixelClock”.

pune fișierul.ino de mai jos în dosar.

Deschideți IDE-ul Arduino.

Setați IDE pentru a afișa numerele de linie, accesați Fișier> Preferințe și bifați caseta „Afișați numerele de linie”, faceți clic pe OK.

Conectați placa NodeMCU la un port USB.

Accesați Instrumente> Placă și selectați NodeMCU 1.0 (modul ESP-12E)

Accesați Instrumente> Port și selectați portul la care este conectată placa dvs.

INSTALAȚI OTA FIRMWARE

Pentru a utiliza actualizarea OTA trebuie mai întâi să ardeți o bucată specială de firmware pe NodeMCU.

accesați Fișier> Exemple> ArduinoOTA> BasicOTA.

un program se va încărca în IDE, completați partea pentru ssid cu routerele SSID. Puteți vedea acest nume dacă treceți mouse-ul peste pictograma WiFi din tava de sistem.

Completați parola cu parola de rețea (de obicei scrisă în partea de jos a routerului wireless.

Acum încărcați pe placa dvs. NodeMCU prin USB.

După finalizare, apăsați butonul de resetare de pe placa NodeMCU.

INSTALAȚI FIRMWARE-ul NEOPIXELCLOCK

Accesați Fișier> Sketchbook> NeoPixelClock și deschideți fișierul NeoPixelClock.

Completați „auth”, „ssid” și „pass” ar trebui să fie la rândul 114.

Notă; cum să obțineți jetonul de autoritate este explicat în pasul următor

De asemenea, puteți seta fusul orar local pe linia 121, acesta poate fi de 1/4 oră între -12 și +14 conform fusurilor orare din întreaga lume. Acest lucru poate fi setat și în aplicație, dacă preferați. În prezent este setat pentru Queensland, Australia.

La numărul de linie 332 trebuie să setați adresa IP pentru serverul dvs. local dacă îl utilizați.

O notă despre portul serverului local. Datorită unei actualizări recente a software-ului Blynk, portul este acum 8080 nu 8442.

Dacă utilizați noul software actualizat, schimbați acest lucru.

Sau dacă utilizați serverul web Blynk, comentați linia 332 și decomentați linia 333.

Asta este toată editarea care trebuie făcută.

Acum încărcați acest lucru pe placa dvs. NodeMCU prin USB.

După ce s-a încărcat cu succes, deconectați cablul USB de pe placă.

Veți vedea sub Instrumente> Port un nou port (arată ca o adresă IP), selectați-l ca port pentru a comunica cu NodeMCU pentru actualizările viitoare pe care le puteți face.

Dacă totul a mers bine, ceasul ar trebui să înceapă, dacă nu, apăsați butonul „resetare” de pe modulul NodeMCU.

Notă: Am observat că uneori nu pornește prima dată, am descoperit că deconectarea sursei de alimentare și re-conectarea funcționează de cele mai multe ori. Lucrez la o soluție pentru ca acest eșec să pornească corect.

Pasul 7: aplicația pentru smartphone

Aplicație pentru smartphone
Aplicație pentru smartphone
Aplicație pentru smartphone
Aplicație pentru smartphone

Pentru a începe să îl utilizați:

1. Descărcați aplicația Blynk: https://j.mp/blynk_Android sau https://j.mp/blynk_iOS dacă nu este deja instalată.

2. deschideți aplicația sau conectați-vă, dacă este nouă, va trebui să vă creați un cont.

NOTĂ, acest lucru nu este același lucru cu contul online.

3. Atingeți pictograma QR din aplicație în partea de sus și îndreptați camera spre codul QR de mai sus sau deschideți linkul de mai jos -

tinyurl.com/yaqv2czw

4. ar trebui trimis un cod de autoritate la adresa de e-mail nominalizată, pe care ar trebui să o introduceți în codul Arduino acolo unde este indicat într-un pas ulterior. Dacă apăsați pictograma piuliță, veți putea trimite din nou un e-mail dacă este necesar.

După cum sa menționat anterior, ar trebui să creați un cont online la www. Blynk.cc. înainte de a face acest lucru.

Iartă-mă pentru vagitate, nu pot testa acest lucru deoarece am deja aplicația și nu folosesc serverul web.

Pasul 8: Construirea Adunării Consiliului de Administrație Vero

Construirea Adunării Consiliului de Administrație Vero
Construirea Adunării Consiliului de Administrație Vero
Construirea Adunării Consiliului de Administrație Vero
Construirea Adunării Consiliului de Administrație Vero
Construirea Adunării Consiliului de Administrație Vero
Construirea Adunării Consiliului de Administrație Vero

Am decis să pun toate plăcile și modulele pe o bucată de tablă vero.

Acest lucru păstrează totul îngrijit și ordonat.

Schema poate fi văzută în fișierul.pdf de mai jos.

Anteturile de pe placă au fost îndepărtate după testare, am conectat toate perifericele direct la placa Vero deoarece nu era suficient spațiu pentru anteturi și conectorii asociați.

Ne pare rău că nu am făcut nicio fotografie cu partea inferioară a tabloului, dar nu ar trebui să fie prea dificil să ne dăm seama. Puteți chiar să îmbunătățiți aspectul meu. Păstrați placa Vero de aceeași dimensiune, altfel nu se va potrivi cu baza imprimată 3D.

Cu schimbatoarele de nivel logice, LV (+ 3,3v) merge la 3,3v pe oricare dintre pinii de 3v de pe modulul Arduino, HV (+ 5v) merge la pinul VIN de pe placa Arduino.

Toate terenurile provin de la oricare / toate pinii Arduino GND și ar trebui să fie toate legate împreună pentru a evita buclele.

Conectați-vă utilizând ceva de genul unui fir cu un singur miez izolat cu calibru 26, izolația PTFE ar fi bună deoarece nu se topește.

Verificați cu atenție toate cablurile de 2 sau 3 ori.

Treceți peste el cu un set de mai multe metri la verificarea continuității, verificați dacă toate Gnd-urile sunt conectate înapoi la VIN GND.

Verificați toate conexiunile + 5v de pe modulul RTC, pinii HV ai modulelor de schimbare cu două niveluri și pinul VIN + 5v de pe modulul NodeMCU.

O idee bună pentru a verifica și celelalte cabluri.

Pasul 9: Asamblarea ceasului

Adunarea ceasului
Adunarea ceasului
Adunarea ceasului
Adunarea ceasului
Adunarea ceasului
Adunarea ceasului

După ce ați imprimat piesele, curățați orice intermitent, bulgări și umflături cu un cuțit ascuțit.

Deoarece aveam doar filament albastru și negru, am pictat interiorul cavităților LED cu vopsea model argintie.

Acest lucru cred că ar trebui să contribuie la reflectarea mai bună a luminii și, de asemenea, să prevină sângerarea luminii prin pereți către cavitățile adiacente.

Ansamblul Vero Board trebuie conectat:

la banda LED + 5v, Gnd și DIN din ansamblul plăcii vero.

la afișajul pe 7 segmente de la ansamblul plăcii vero.

la mufa DC de la ansamblul plăcii vero.

Un fir către banda LED separată cu 7 căi (DIN) de la capătul (numărul 60) al benzii LED principale cu 60 căi (DOUT).

Am lipit datele doar (DOUT) de la capătul (LED numărul 60) al benzii LED cu 60 de căi, + 5v și Gnd pentru banda LED cu 7 căi pe care am conectat-o de la ansamblul plăcii vero.

pentru a preveni pantalonii scurți, am așezat o bucată mică de card subțire între începutul și sfârșitul benzii LED cu 60 de căi, deoarece erau foarte aproape.

Măsurați și tăiați toate firele la lungimile corespunzătoare, am adăugat 5 sau 6 mm pentru a oferi o mică marjă de manevră.

Nu am îndepărtat hârtia de susținere a benzii lipicioase de pe benzile cu LED-uri, acest lucru ar fi făcut dificilă introducerea în bază și foarte dificil de îndepărtat, dacă este necesar.

Mi s-a părut că fâșiile se potrivesc frumos și bine, împingeți-le până la capătul cavității.

Așezați ansamblul plăcii Vero în cavitate, există stand-off-uri pentru a-l menține de jos cu 2 mm.

Puneți afișajul cu 8 direcții pe 7 segmente în cavitate, există montanți stand-off pentru montarea acestuia.

Mufa de curent continuu se potrivește perfect în cavitate, lipiți firele în interiorul etichetelor. Scoateți eticheta laterală, dacă doriți.

Toate firele trebuie așezate cu grijă în cavitățile furnizate.

În cele din urmă treceți mufa de alimentare de la sursa de alimentare prin orificiu și introduceți-o în mufa DC, împingeți cablul în canelura prevăzută dedesubt.

Verificați cu atenție toate cablurile de 2 sau 3 ori. Vedeți schema de cabluri de mai jos.

Pasul 10: Montarea capacului frontal pentru a termina

Blocul de bază are câteva cârlige mici care ies în afară pe inelul exterior, acestea ar trebui aliniate cu găurile din capacul frontal.

Masca de hârtie trebuie să fie tipărită în negru, decupată și lipită pe capacul frontal cu ceva de genul unui lipici.

Găurile vor fi perforate prin hârtie atunci când este, cu capacul frontal, presat pe bază.

Suntem pregătiți să plecăm, conectați-l, ceasul ar trebui să pornească automat, dacă nu, așa cum am aflat de mai multe ori, deconectați alimentarea și reconectați-l din nou.

Dacă nu aveți baterie în modulul RTC, va trebui să setați ora și data.

Faceți acest lucru cu aplicația, setați fusul orar cu controlul sus / jos, apoi apăsați butonul „SET NTP TIME”.

Veți vedea în terminalul aplicației dacă reușește sau nu, dacă nu, încercați din nou.

Când este afișat DONE, butonul Ceas poate fi apăsat și ceasul trebuie să ruleze și să afișeze ora, data și ziua săptămânii.

Modelele pot fi rulate apăsând butonul Patterns, acest lucru poate fi întrerupt în orice moment prin apăsarea butonului Clock sau a butonului Patterns.

Luminozitatea LED-urilor ceasului și a afișajului pe 7 segmente pot fi ajustate pentru luminozitate cu glisoarele asociate.

Toate LED-urile pot fi aprinse apăsând butonul Off.

Agățați-l de perete și lumina va străluci în exterior pe perete, deosebit de frumoasă într-o cameră întunecată.

Orice întrebări pe care o voi încânta să încerc și să răspund.

DISCURAȚI-vă și nu uitați să mă votați.

************************************************** ************************************************** ***** ACEASTA ESTE O INTRARE ÎN CONCURSUL DE MICRO CONTROLLER, VA ROG VOTATI PENTRU MINE ******************************** *************************************************** ***********************

Recomandat: