Cuprins:

Suport pentru sticle muzicale care interacționează cu lumini reglabile: 14 pași
Suport pentru sticle muzicale care interacționează cu lumini reglabile: 14 pași

Video: Suport pentru sticle muzicale care interacționează cu lumini reglabile: 14 pași

Video: Suport pentru sticle muzicale care interacționează cu lumini reglabile: 14 pași
Video: „Programarea nu e doar despre a scrie cod” 🎙️ Secretele Specialiștilor #Podcast 11 2024, Noiembrie
Anonim
Image
Image
Suport pentru sticle muzicale care interacționează cu lumini reglabile
Suport pentru sticle muzicale care interacționează cu lumini reglabile
Suport pentru sticle muzicale care interacționează cu lumini reglabile
Suport pentru sticle muzicale care interacționează cu lumini reglabile

Cu ceva timp în urmă, un prieten de-al meu a comandat un inel cu LED de 16 biți cu care să se clatine și, în timp ce făcea acest lucru, a avut ideea să pună o sticlă deasupra acestuia. Când l-am văzut, am fost fascinat de aspectul luminii care luminează balonul și mi-am amintit de minunatul proiect „Mc Lighting” al utilizatorului Hackaday Tobias Blum:

hackaday.io/project/122568-mc-lighting

Un aspect al proiectului său a fost de a controla LED-urile WS2812 printr-o interfață web auto-scrisă fără a utiliza niciun serviciu extern. Inspirat de abordarea sa de a controla un inel cu LED-uri, am decis să combin aceste două idei și să le aduc la nivelul următor. În mintea mea am avut un suport pentru sticle pentru până la trei sticle, controlabil printr-o pagină web locală, cu mai multe fulgere. moduri, inclusiv cele care interacționează cu muzica ambientală. Pentru a crea un dispozitiv portabil, acesta este alimentat de o baterie Li-Ion.

În acest instructable voi parcurge procesul de construire și vă voi învăța despre funcția sa de bază. Ulterior, ar trebui să vă puteți construi propria versiune și să aveți o idee despre cum să adăugați webcontrol la un proiect fără a utiliza niciun serviciu extern.

Pasul 1: Opțiuni de construire

Când vine vorba de electronica acestui proiect, puteți folosi fie o placă NodeMCU, care este ușor de utilizat și destul de ieftină, fie vă puteți construi propria placă ca mine. Nu există niciun beneficiu special în acest sens, tocmai am avut un cip ESP8226-12E întins și am decis să îl folosesc, astfel încât să pot păstra placa NodeMCU pentru prototipare rapidă. Există o singură diferență majoră: aveți nevoie de o placă USB de 3,3 V la serie pentru a programa placa de control auto-fabricată. În ciuda acestui fapt, nu face diferența tipului pe care îl alegeți, țineți cont doar când vine vorba de piesele necesare.

Există însă o opțiune care face diferența: modul muzică. Dacă decideți să îl includeți, suportul pentru sticle poate fi folosit ca VU-metru și, în plus, poate schimba culoarea LED-urilor ori de câte ori basul muzicii atinge un prag dat. Pentru aceasta este nevoie de hardware suplimentar. Trebuie să construiți un amplificator care amplifică ieșirea unei capsule de microfon cu condensator și un filtru low-pass pentru frecvențele de bas. Deși s-ar putea să pară dificil, chiar nu este. Nu necesită piese speciale și recomand cu tărie includerea acestui circuit, deoarece îmbunătățește dispozitivul destul de mult.

Pasul 2: Piese și materiale necesare

Piese și materiale necesare
Piese și materiale necesare

Cazul:

Poate că cea mai dificilă parte a acestui proiect este cazul. Cum am vrut să încerc ceva nou, am decis să folosesc plăci MDF cu grosimea de 18 mm și să le vopsesc. Comparativ cu alte tipuri de lemn / materiale, MDF are avantajul că suprafața sa poate fi șlefuită în special netedă și, prin urmare, vopseaua de pe acesta poate arăta extrem de lucioasă. În plus, aveți nevoie de niște sticlă acrilică cu o grosime de 4 mm ca acoperire a inelelor LED.

Carcasa are o lungime de 33 cm și o lățime de 9 cm, așa că vă recomand o placă cu următoarele dimensiuni:

Placă MDF 400 x 250 x 18 mm

Capacele inelului cu LED au un diametru de aproximativ 70 mm, astfel încât placa dvs. de sticlă acrilică trebuie să aibă cel puțin următoarele dimensiuni:

Placă acrilică 250 x 100 x 4 mm

Pentru a-l vopsi, am obținut 125 ml de vopsea acrilică albă și 125 ml de strat transparent lucios. În plus, vă recomand să utilizați o rolă de spumă, deoarece vă permite să aplicați vopseaua mai uniform. Pentru partea de șlefuit am folosit o foaie de șmirghel cu o granulație de 180, una cu 320 și una cu 600.

Electronică:

Pentru electronică aveți nevoie de trei inele LED de 16 biți WS2812. Aveți grijă, deoarece am găsit două tipuri de inele LED de 16 biți, aveți nevoie de cele cu diametrul mai mare (în jur de 70 mm) și, prin urmare, decalajul mai mare dintre LED-uri.

Pentru alimentarea cu energie electrică aveți nevoie de o baterie Li-Ion, un încărcător corespunzător și un comutator. În plus, aveți nevoie de un regulator de tensiune de 3,3 V cu tensiune scăzută (LDO) și de doi condensatori pentru a alimenta microcontrolerul. Vă explic de ce aveți nevoie de regulatorul LDO la pasul 7.

Dacă decideți să construiți amplificatorul de muzică opțional și circuitul de filtrare, aveți nevoie de un amplificator opțional și de câteva componente pasive. Și dacă alegeți să creați propria unitate de control, aveți nevoie de cipul ESP, o placă de rupere, niște rezistențe, un buton și niște pini.

Și recomand cu tărie o bucată de perfboard pentru a lipi totul pe el.

Inel cu LED

Celulă Li-Ion de 3,7 V (am recuperat una de tip TW18650 dintr-un acumulator neutilizat)

Încărcător Li-Ion

Switch (Nimic special, am folosit unul vechi pe care l-am recuperat dintr-un set de difuzoare rupte)

Regulator de tensiune LDO (în plus condensatorii menționați în foaia tehnică: condensator ceramic 2 x 1uF)

perfboard

Circuit muzical (opțional):

Conform schematic

Microcontroler:

NodeMCU

ESP8266 12E (placa adaptor, buton, rezistențe și pini conform schemei)

USB către serie (necesar pentru a programa placa de control auto-fabricată, dacă aveți deja una, nu este nevoie să obțineți alta)

Pasul 3: Frezarea carcasei

Frezarea cazului
Frezarea cazului
Frezarea cazului
Frezarea cazului
Frezarea cazului
Frezarea cazului

Un prieten de-al meu și-a construit un MP-CNC și a fost atât de amabil să-mi frezeze cele două părți din MDF și cele trei inele acrilice. Părțile din lemn sunt partea de sus și de jos a unei cutii în formă de pastilă. În partea de sus a cutiei, există trei locuri pentru inelele LED și capacele lor acrilice. Deoarece aceste adânciri sunt proiectate să fie doar cu o fracțiune mai mari decât PCB-urile, acestea se potrivesc și stau la locul lor fără a fi nevoie de lipici sau șuruburi. Același lucru este valabil și pentru huse acrilice. Deoarece au un diametru mai mare decât inelele cu LED-uri, acestea sunt plasate pe o margine deasupra LED-urilor (vezi imaginea).

Pasul 4: Completați cazul

Completați cazul
Completați cazul
Completați cazul
Completați cazul
Completați cazul
Completați cazul
Completați cazul
Completați cazul

S-ar putea să fi observat că, chiar acum, lipsesc mai multe lucruri în cazul frezat. Lucruri precum găuri pentru cablurile inelului, o gaură pentru mufa USB și un buzunar pentru baterie. În plus, dacă alegeți să includeți circuitul muzical, este necesară și o gaură pentru microfon. În plus, vă recomand să faceți găuri sub inelele LED, astfel încât să le puteți împinge afară din carcasă. Am folosit un instrument de rectificat rotativ pentru a adăuga găurile descrise mai sus.

În cea de-a treia imagine, puteți vedea „întreținerea” și orificiile cablurilor pentru inel. După cum probabil ați observat deja, am creat două găuri de cablu. Nu a fost intenționat. Acest lucru a fost într-un stadiu incipient în care am crezut că unghiurile inelelor ar fi neimportante, dar nu sunt. Montați-le pe toate trei cu cablurile pe aceeași parte. Am ajuns să le montez spre partea din față.

Important: Purtați întotdeauna o mască de praf atunci când tăiați, găuriți sau frezați în MDF. Același lucru este valabil și pentru șlefuirea acestuia.

Pasul 5: Finalizarea cazului

Finalizarea cazului
Finalizarea cazului
Finalizarea cazului
Finalizarea cazului
Finalizarea cazului
Finalizarea cazului

Acum, carcasa este vopsită. Înainte de a face acest lucru, vă recomand să urmăriți sau să citiți un tutorial despre acest lucru, deoarece acest lucru sa dovedit a fi mai greu decât am crezut că este. Acesta acoperă tot ce trebuie să știți despre subiect.

Mai întâi, șlefuiți bine exteriorul pieselor din MDF. Pentru asta am folosit hârtia grit 160. După aceea, multe tutoriale recomandă etanșarea suprafeței, în special la margini, cu un grund special din MDF. Am omis această parte, deoarece grundul este destul de scump și, chiar dacă rezultatul nu este atât de bun pe cât ar fi putut fi, aș face-o din nou.

Apoi, puteți începe să pictați suprafața în culoarea dorită. Am decis să-l pictez pe al meu într-un alb clar. Așteptați să se usuce culoarea, apoi șlefuiți-o cu șmirghel fin (eu am folosit gritul 320), îndepărtați-l și aplicați următorul strat de culoare. Repetați acest proces până când sunteți mulțumit de opacitatea culorii. Am aplicat patru straturi de culoare.

După ultimul strat de culoare, șlefuiți-l cu un șmirghel și mai fin decât înainte (în cazul meu grit 600) și îndepărtați tot praful rămas pe suprafață. După aceea, puteți aplica primul strat al stratului transparent. Ca și în cazul culorii, aplicați câte straturi este nevoie pentru a vă satisface. Am folosit trei pentru partea superioară și laterală și două pentru partea inferioară. Puteți vedea rezultatul pe una dintre imagini. Deși suprafața ar putea fi mai netedă (mai mult șlefuire și grund MDF), sunt mulțumit de efectul de luciu obținut.

Pasul 6: Pregătirea inelelor

Pregătirea inelelor
Pregătirea inelelor
Pregătirea inelelor
Pregătirea inelelor

În paralel cu procesul de uscare al primului strat de culoare, puteți șlefui inelele din sticlă acrilică. După aceea, aceste inele difuzează lumina emisă de inelele LED. Apropo de asta, am experimentat PCB-urile acestor inele cu câteva margini nedorite rămase din procesul de producție, deci este posibil să fie nevoie să le debavorați. Altfel nu se vor încadra în carcasă.

Ulterior, unele fire trebuie lipite pe inele. Vă recomand să utilizați fir flexibil. Am folosit unul rigid și am avut problema că au împins cele două părți ale carcasei, ceea ce presupunea o îndoire urâtă. În plus, firul rigid este mai probabil să se rupă, ceea ce duce la un proces de lipire urât, deoarece trebuie să scoateți inelul corespunzător și placa controlerului din carcasă.

Pasul 7: Alimentare

Alimentare electrică
Alimentare electrică

O singură celulă de baterie Li-Ion este utilizată ca sursă de alimentare. Se încarcă prin circuitul încărcătorului. Acest circuit are o protecție la suprasarcină și la supracurent. Pentru a opri dispozitivul este încorporat un comutator care întrerupe ieșirea pozitivă a plăcii încărcătorului.

Deoarece tensiunea maximă a celulei bateriei este de 4,2 V, ESP8266 nu poate fi alimentat direct. Tensiunea este prea mare pentru microcontrolerul de 3,3V, deoarece supraviețuiește doar tensiunilor cuprinse între 3,0V - 3,6V. Un regulator de tensiune low dropout (LDO) este un regulator de tensiune care funcționează chiar și atunci când tensiunea de intrare este aproape de tensiunea de ieșire specificată. Deci, o tensiune de scădere de 200 mV pentru un LDO de 3,3V înseamnă că produce ieșiri de 3,3V atâta timp cât tensiunea de intrare este peste 3,5V. Când depășește această valoare, tensiunea de ieșire începe să scadă. Deoarece ESP8266 funcționează cu tensiuni de până la 3,0 V, așa funcționează până când tensiunea de intrare a LDO scade la aproximativ 3,3 V (coborârea nu este liniară). Acest lucru ne permite să alimentăm controlerul prin celula bateriei până când acesta este complet descărcat.

Pasul 8: Placă de microcontroler

Placă de microcontroler
Placă de microcontroler

Dacă utilizați o placă NodeMCU, acest pas este destul de simplu. Conectați doar ieșirea de 3,3V și pământul sursei de alimentare la una dintre plăcile de 3V și pinii G. În plus, vă recomand să lipiți placa pe o bucată de perfboard, deoarece acest lucru face mai ușor să conectați totul.

În cazul în care ați decis să vă construiți propria placă de control, primul pas este să lipiți cipul ESP pe placa adaptorului. După aceea, adăugați toate componentele și conexiunile așa cum se arată în schemă. Cele două butoane sunt necesare pentru a reseta și a aprinde controlerul. Este posibil să observați pe următoarele imagini că folosesc un singur buton. Motivul este că tocmai am găsit unul întins, așa că, în loc de butonul pentru GPIO0, folosesc doi pini și un jumper.

Puteți vedea circuitul meu terminat la pasul următor.

Pasul 9: Circuit muzical (opțional)

Circuit muzical (opțional)
Circuit muzical (opțional)
Circuit muzical (opțional)
Circuit muzical (opțional)
Circuit muzical (opțional)
Circuit muzical (opțional)

Ca intrare pentru muzică este utilizată o capsulă simplă de microfon cu condensator. Este alimentat printr-un rezistor de limitare a curentului conectat la șina de alimentare de 3,3V. Pe scurt, capsula funcționează ca un condensator, așa că atunci când undele sonore își lovesc diafragma, capacitatea și analogul cu tensiunea sa, se schimbă. Această tensiune este atât de mică încât cu greu o putem măsura cu convertorul analogic digital ESP (ADC). Pentru a schimba acest lucru, amplificăm semnalul cu un Op-Amp. Tensiunea de ieșire amplificată este apoi filtrată printr-un filtru pasiv low pass de ordinul întâi cu o frecvență de întrerupere de aproximativ 70Hz.

Dacă decideți să utilizați o placă NodeMCU, puteți conecta ieșirea circuitului descris mai sus la pinul A0 al plăcii. Dacă doriți să vă construiți propria placă de control, trebuie să adăugați un divizor de tensiune la circuit. Motivul pentru aceasta este ESP-urile ADC de la bord, care au o tensiune de intrare maximă de 1V. NodeMCU are acest divizor de tensiune deja încorporat, așa că, pentru ca codul și amplificatorul să funcționeze pe ambele plăci, și cel auto-fabricat are nevoie de el.

Pasul 10: Finalizați și montați dispozitivele electronice

Finalizați și montați electronica
Finalizați și montați electronica
Finalizați și montați electronica
Finalizați și montați electronica
Finalizați și montați electronica
Finalizați și montați electronica

Mai întâi, introduceți inelele LED în adâncirile desemnate din partea superioară a carcasei. După aceea, conectați sursa de alimentare, microcontrolerul, inelele și, dacă l-ați construit, circuitul amplificatorului conform schemei.

Avertisment: Înainte de a face acest lucru, verificați din nou dacă ați oprit alimentarea cu ajutorul comutatorului. Am uitat să fac asta și am prăjit un regulator LDO în timpul lipirii. După aceea, sunteți gata să montați dispozitivele electronice în interiorul carcasei.

Am început prin a atașa celula bateriei la carcasă cu niște lipici fierbinți. După aceea, am poziționat circuitul încărcătorului și am verificat dacă pot conecta sau nu un cablu USB. Deoarece nu aveam încredere că lipiciul fierbinte va rezista forței de împingere a cablului de mai multe ori, am ciocănit cu grijă cuie subțiri prin tampoanele de lipit ale încărcătorului pentru tensiunea de intrare. După încărcător am lipit capsula microfonului la locul său.

Ulterior am folosit niște știfturi îndoite pentru a repara microcontrolerul. Această metodă îmi permite să scot controlerul din carcasă pentru reparații ori de câte ori am nevoie, fără a fi nevoie să tai adeziv fierbinte și să distrug MDF-ul.

Acum, am folosit niște legături de cablu și știfturi îndoite pentru a monta firele. Ultimul lucru de făcut este să introduceți inelele de acoperire din acril. Aveți grijă în timp ce faceți acest lucru, astfel încât să nu deteriorați vopseaua, deoarece aceasta se potrivește destul de bine. S-ar putea chiar să reduceți la diametrul interior și / sau exterior al inelelor acrilice, deoarece placa MDF a absorbit vopsea și astfel adâncirile au devenit puțin mai mici.

Pasul 11: intermitentul microcontrolerului

Intermitentul microcontrolerului
Intermitentul microcontrolerului

După ce ați terminat construirea hardware, nu mai rămâne decât să clipească software-ul. Am folosit ID-ul Arduino pentru asta. Dar înainte de a putea programa controlerul, trebuie să adăugați câteva biblioteci și să selectați placa potrivită.

Biblioteci

Puteți utiliza fie Managerul de biblioteci IDEs (Schiță -> Includeți bibliotecile -> Gestionare biblioteci) pentru a le adăuga, fie le puteți descărca și muta în folderul bibliotecii IDEs. Recomand managerul, deoarece este mai convenabil și puteți găsi toate bibliotecile necesare acolo.

DNSServer de Kristijan Novoselic (necesar pentru WiFiManager)

WiFiManager by tzapu and tablatronix (deschide un AP unde puteți introduce acreditările WiFi locale)

WebSockets de Markus Sattler (necesar pentru comunicarea între dispozitivul utilizatorului și sticla)

Adafruit NeoPixel de la Adafruit (necesar pentru controlul inelelor LED)

Bord

Indiferent ce tip de placă de control ați ales să utilizați, în Instrumente -> Placă selectați NodeMCU 1.0 (modul ESP-12E). Asigurați-vă că dimensiunea blițului este setată la 4M (1M SPIFFS) și viteza de încărcare la 115200.

Intermitent

Pentru a bloca placa NodeMCU, pur și simplu conectați-o la computer, selectați portul corect și încărcați programul. Conectați convertorul USB la serial la cei trei pini ai plăcii. Conectați GND și GND, RX și TX și TX și RX. Pentru a intra în modul bliț al controlerului, reporniți-l cu butonul RST și, în timp ce faceți acest lucru, mențineți apăsat butonul GPIO0. După aceea, asigurați-vă că placa convertorului este setată la 3,3V. Finalizați procesul încărcând programul.

Important: Porniți dispozitivul înainte de a clipi.

Pasul 12: Încărcați pagina web

Încărcați pagina web
Încărcați pagina web
Încărcați pagina web
Încărcați pagina web
Încărcați pagina web
Încărcați pagina web

Fișierele necesare pentru pagina web sunt stocate în memoria flash a microcontrolerelor. Înainte de prima utilizare, trebuie să le încărcați manual. Pentru aceasta, alimentați dispozitivul (poate că mai întâi trebuie să îl încărcați). LED-urile ar trebui să strălucească în roșu (datorită camerei mele, acesta arată ca portocaliu pe imagine), ceea ce înseamnă că suportul pentru sticle nu este conectat la o rețea. După scurt timp, ar trebui să se deschidă un punct de acces WiFi numit „bottleStandAP”. Parola implicită este „12345678”, o puteți modifica în fișierul ino. Conectați-vă smartphone-ul / tableta / laptopul la acesta. O notificare ar trebui să apară și să vă redirecționeze către o pagină web. Dacă nu se întâmplă așa ceva, pur și simplu deschideți browserul și introduceți 192.168.4.1. Pe această pagină, faceți clic pe Configurare WiFi și introduceți acreditările rețelei. După aceea, punctul de acces ar trebui să se închidă, iar LED-urile își schimbă culoarea într-un albastru deschis. Aceasta înseamnă că dispozitivul s-a conectat cu succes la rețeaua dvs.

Acum trebuie să determinați adresa IP a dispozitivelor. Pentru a face acest lucru, îl puteți conecta la computer, puteți deschide monitorul serial al IDE-ului Arduino (baud rate este 115200) și reporniți dispozitivul. Alternativ, puteți deschide pagina web a routerului WiFi. După ce cunoașteți adresa IP a dispozitivului, deschideți browserul și tastați xxx.xxx.xxx.xxx/upload (unde xs reprezintă IP-ul sticlei). Extrageți fișierele din.rar și încărcați-le pe toate. După aceea, introduceți adresa IP a dispozitivului dvs. și pagina de control ar trebui să se deschidă. Și prin aceasta, ai terminat de construit propriul tău sticlă. Felicitări!

Pasul 13: Pagina web

Pagina web
Pagina web
Pagina web
Pagina web

Pagina web vă permite să vă controlați suportul pentru sticle. Când deschideți pagina principală, puteți vedea trei cercuri albastre în partea de sus a mijlocului. Acestea vă permit să selectați setările inelului pe care doriți să le modificați. Roata de culoare schimbă culoarea inelelor selectate atunci când faceți clic pe ea. Câmpul de mai jos vă arată culoarea selectată. Prin apăsarea butonului aleator, inelele selectate sunt setate în modul de culoare aleatorie. Aceasta înseamnă că culoarea se schimbă ori de câte ori se încheie un ciclu al modului de respirație.

Pe a doua pagină puteți selecta diferitele moduri. Culoarea fixă și luminozitatea fixă fac exact ceea ce implică numele lor. Modul respirație creează un efect „respirație”, ceea ce înseamnă că luminozitatea inelelor crește la un timp personalizat la maxim, apoi scade la minim. Modul ciclu aprinde doar un LED pentru un anumit timp, apoi aprinde următorul, apoi următorul și așa mai departe. Modul prag muzical schimbă culoarea ori de câte ori microfonul detectează un semnal mai mare decât un prag setat personalizat. Nu numai muzica poate declanșa acest lucru, ci și palma, de exemplu. În modul VU meter, numărul de LED-uri care se aprind depinde de volumul basului muzicii.

Notă: Puteți utiliza riglele fără a activa modurile corespunzătoare. De exemplu: Dacă utilizați modul ciclu și modificați luminozitatea prin intermediul riglei luminozității fixe, inelele vor rămâne în modul ciclu, dar își vor schimba luminozitatea în funcție de ceea ce ați setat.

Pasul 14: Cum funcționează toate acestea?

Principiul funcțional este destul de ușor de înțeles. Ori de câte ori deschideți pagina web, ESP8266 trimite fișierele web pe dispozitivul dvs. Apoi, când schimbați ceva pe pagină, un caracter special, urmat în cea mai mare parte de o valoare întreagă, este trimis microcontrolerului printr-o conexiune web. Controlerul prelucrează apoi aceste date și schimbă luminile în consecință.

Partea web este scrisă în html, css și javascript. Pentru a face această sarcină mai ușoară, am făcut din cadrul Materialize CSS și jQuery. Dacă doriți să schimbați aspectul site-ului web, aruncați o privire la documentația cadrului. Alternativ, puteți scrie pur și simplu propria pagină și o puteți încărca. Trebuie doar să stabiliți conexiunea websocket și să trimiteți aceleași date.

Recomandat: