Faceți un POV LED Writer de aer pentru sub $ 5

Faceți un POV LED Writer de aer pentru sub $ 5 / DIY

Poți să faci tot felul de lucruri cu LED-uri intermitente, iar în acest proiect simplu, vom face un dispozitiv mic care va lumina mesajele în aer atunci când îl rotiți înainte și înapoi. Este mai ușor decât crezi și costul total al pieselor este sub 5 USD.

Acest proiect utilizează o iluzie optică numită persistența viziunii pentru a face ca textul să apară în aer. Probabil ați întâmpinat acest fenomen atunci când cineva mișcă brusc un strălucitor luminat noaptea. Vom folosi un Arduino și câteva LED-uri pentru a imita acest efect. Acest proiect este simplu de construit, cu câteva componente și puțin lipire (deși dacă doriți câteva sfaturi despre a începe cu fierul de lipit verificați acest ghid Aflați cum să lipiți, cu aceste simple sfaturi și proiecte Aflați cum să lipiți, cu aceste simple Sfaturi și proiecte Sunteți un pic intimidat de gândul unui fier fierbinte și a unui metal topit? Dacă doriți să începeți să lucrați cu electronice, va trebui să învățați să lipiți, să ne ajutați..

Vei avea nevoie

  • Arduino (am folosit un Nano de 2 USD pentru că este compact și ieftin, dar orice model ar trebui să fie bine).
  • 5x LED-uri roșii.
  • Rezistențe de 5 Ohm 220 Ohm.
  • 1x suport pentru baterii 9V.
  • 1x comutator rotativ.
  • 1 bucată de protoboard.
  • O carcasă pentru produsul finit (am folosit o cutie mică de carton vopsită în negru).

Veți avea nevoie, de asemenea, de un fier de lipit și de un fel de lipire pentru a pune totul împreună.

În timp ce opțional, un fitil de lipit poate fi foarte util în cazul în care faceți orice eroare de lipit. Un breadboard și câteva fire de conectare sunt de asemenea utile pentru a vă testa circuitul.

Cablarea

Cablajul nu ar putea fi mai simplu. În primul rând, conectați arduinul, LED-urile și rezistoarele, după cum se arată în această diagramă.

Pinii D2 până la D6 merg la fiecare rezistor respectiv, care sunt atașați la anodul pozitiv (piciorul lung) al fiecărui LED. Catodul este conectat la sol, care se conectează înapoi la Arduino. Când sa terminat, ar trebui să arate ceva de genul:

Asta este: circuitul nostru sa terminat! Vom adăuga o carcasă a bateriei și o comutator la ea mai târziu, dar asta este tot ce trebuie să testați dacă funcționează.

Cod

Acum conectați-vă arduinul la computer și deschideți ID-ul Arduino. Dacă sunteți nou în folosirea Arduino și doriți un ghid bun în ceea ce privește accesul la acest link, începeți cu Arduino: Ghidul pentru începători Arduino: Ghidul unui începător Arduino este o platformă de prototipuri electronice open source bazată pe platforme flexibile, să utilizeze hardware și software. Este destinat artiștilor, designerilor, pasionaților și tuturor celor interesați să creeze obiecte sau medii interactive. Citește mai mult va fi util.

Deschideți o nouă schiță și copiați acest cod. Codul a fost modificat din acest proiect și îl puteți descărca integral la acest Gist.

 / / cat de mult timp fiecare led rămâne pe int întârziereTime = 1; // cât timp între fiecare charBreak int = 3; // cat timp sa asteptati dupa terminarea mesajului inainte de a repeta int resetTime = 20; int LED1 = 2; int LED2 = 3; int LED3 = 4; int LED4 = 5; int LED5 = 6; setare void () pinMode (LED1, OUTPUT); pinMode (LED2, OUTPUT); pinMode (LED3, OUTPUT); pinMode (LED4, OUTPUT); pinMode (LED5, ieșire);  int a [] = 1, 6, 26, 6, 1; int b [] = 31, 21, 21, 10, 0; int c2 [] = 14, 17, 17, 10, 0; int d] = 31, 17, 17, 14, 0; int e]] = 31, 21, 21, 17, 0; int f [] = 31, 20, 20, 16, 0; int g [] = 14, 17, 19, 10, 0; int h [] = 31, 4, 4, 4, 31; int i [] = 0, 17, 31, 17, 0; int j [] = 0, 17, 30, 16, 0; int k [] = 31, 4, 10, 17, 0; int l [] = 31, 1, 1, 1, 0; int m [] = 31, 12, 3, 12, 31; int n [] = 31, 12, 3, 31, 0; int o [] = 14, 17, 17, 14, 0; int p [] = 31, 20, 20, 8, 0; int q] = 14, 17, 19, 14, 2; int r [] = 31, 20, 22, 9, 0; int s [] = 8, 21, 21, 2, 0; int t [] = 16, 16, 31, 16, 16; int u [] = 30, 1, 1, 30, 0; int v [] = 24, 6, 1, 6, 24; int w] = 28, 3, 12, 3, 28; int x [] = 17,10,4,10,17; int y] = 17, 10, 4, 8, 16; int z [] = 19, 21, 21, 25, 0; int eos [] = 0, 1, 0, 0, 0; int excl [] = 0, 29, 0, 0, 0; int interogare [] = 8, 19, 20, 8, 0; int spațiu [] = 0, 0, 0, 0, 0; void displayLine (int linie) int myline; mylin = linie; dacă (mylin> = 16) digitalWrite (LED1, HIGH); myline = 16; altfel digitalWrite (LED1, LOW); dacă (myline> = 8) digitalWrite (LED2, HIGH); myline = 8; altfel digitalWrite (LED2, LOW); dacă (myline> = 4) digitalWrite (LED3, HIGH); myline = 4; altfel digitalWrite (LED3, LOW); dacă (myline> = 2) digitalWrite (LED4, HIGH); myline = 2; altfel digitalWrite (LED4, LOW); dacă (myline> = 1) digitalWrite (LED5, HIGH); (c == 'a') pentru (int i = 0; i  <5; i++)displayLine(a[i]);delay(delayTime);displayLine(0); if (c == 'b')for (int i = 0; i <5; i++)displayLine(b[i]);delay(delayTime);displayLine(0); if (c == 'c2')for (int i = 0; i <5; i++)displayLine(c2[i]);delay(delayTime);displayLine(0); if (c == 'd')for (int i = 0; i <5; i++)displayLine(d[i]);delay(delayTime);displayLine(0); if (c == 'e')for (int i = 0; i <5; i++)displayLine(e[i]);delay(delayTime);displayLine(0); if (c == 'f')for (int i = 0; i <5; i++)displayLine(f[i]);delay(delayTime);displayLine(0); if (c == 'g')for (int i = 0; i <5; i++)displayLine(g[i]);delay(delayTime);displayLine(0); if (c == 'h')for (int i = 0; i <5; i++)displayLine(h[i]);delay(delayTime);displayLine(0); if (c == 'i')for (int it = 0; it <5; it++)displayLine(i[it]);delay(delayTime);displayLine(0); if (c == 'j')for (int i = 0; i <5; i++)displayLine(j[i]);delay(delayTime);displayLine(0); if (c == 'k')for (int i = 0; i <5; i++)displayLine(k[i]);delay(delayTime);displayLine(0); if (c == 'l')for (int i = 0; i <5; i++)displayLine(l[i]);delay(delayTime);displayLine(0); if (c == 'm')for (int i = 0; i <5; i++)displayLine(m[i]);delay(delayTime);displayLine(0); if (c == 'n')for (int i = 0; i <5; i++)displayLine(n[i]);delay(delayTime);displayLine(0); if (c == 'o')for (int i = 0; i <5; i++)displayLine(o[i]);delay(delayTime);displayLine(0); if (c == 'p')for (int i = 0; i <5; i++)displayLine(p[i]);delay(delayTime);displayLine(0); if (c == 'q')for (int i = 0; i <5; i++)displayLine(q[i]);delay(delayTime);displayLine(0); if (c == 'r')for (int i = 0; i <5; i++)displayLine(r[i]);delay(delayTime);displayLine(0); if (c == 's')for (int i = 0; i <5; i++)displayLine(s[i]);delay(delayTime);displayLine(0); if (c == 't')for (int i = 0; i <5; i++)displayLine(t[i]);delay(delayTime);displayLine(0); if (c == 'u')for (int i = 0; i <5; i++)displayLine(u[i]);delay(delayTime);displayLine(0); if (c == 'v')for (int i = 0; i <5; i++)displayLine(v[i]);delay(delayTime);displayLine(0); if (c == 'w')for (int i = 0; i <5; i++)displayLine(w[i]);delay(delayTime);displayLine(0); if (c == 'x')for (int i = 0; i <5; i++)displayLine(x[i]);delay(delayTime);displayLine(0); if (c == 'y')for (int i = 0; i <5; i++)displayLine(y[i]);delay(delayTime);displayLine(0); if (c == 'z')for (int i = 0; i <5; i++)displayLine(z[i]);delay(delayTime);displayLine(0); if (c == '!')for (int i = 0; i <5; i++)displayLine(excl[i]);delay(delayTime);displayLine(0); if (c == '?')for (int i = 0; i <5; i++)displayLine(ques[i]);delay(delayTime);displayLine(0); if (c == '.')for (int i = 0; i <5; i++)displayLine(eos[i]);delay(delayTime);displayLine(0); if (c ==")for (int i = 0; i <5; i++)displayLine(space[i]);delay(delayTime);displayLine(0); delay(charBreak);  void displayString(char* s) for (int i = 0; i<=strlen(s); i++) displayChar(s[i]);   void loop() //Change the text inside here to change the text displayed. //Make sure to keep the brackets and the quotation marks. displayString("… hello!… "); delay(40);  

Salvați schița și încărcați-o în bord. Dacă întâmpinați erori, asigurați-vă că ați selectat portul corect și com portul corect. LED-urile dvs. ar trebui să înceapă să clipească. Dacă nu, verificați toate conexiunile pe panoul tău. Integerii declarați la începutul codului determină cât de rapid este afișat textul. Cu cât este mai mare numărul, cu atât mai repede va trebui să emiteți dispozitivul. Am constatat că cifrele folosite aici funcționează bine.

Acum, pentru a face un test rapid. Deconectați-vă dispozitivul Arduino de la cablul USB și atașați suportul pentru baterii la pinii VIN și GND ai arduinei

Acum că puteți să-l mișcați, încercați cu atenție să rotiți LED-urile din fața dvs. Ar trebui să vedeți niște scrisori care se formează în aer, cu condiția să fie destul de întunecată în jurul vostru. Am aflat că mi-a ajutat telefonul să se ridice pentru a captura acest lucru.

Functioneaza! Acum, pentru ao face un pic mai permanent.

Fier de la Ready!

Așezați placa dvs. Arduino, rezistențe și LED-uri pe protoboard astfel:

Puteți face, desigur, aspectul la fel de compact pe cât doriți, atâta timp cât circuitul rămâne același. Asigurați-vă că lăsați cel puțin o linie de contacte protoboard pe fiecare parte a dispozitivului dvs. Arduino pentru componente și sursă de alimentare. Dacă sunteți un începător în domeniul electronicii, iată câteva sfaturi utile pentru dvs. Electronica începătorului: 10 abilități pe care trebuie să le cunoașteți Electronica începătorilor: 10 abilități pe care trebuie să le cunoașteți Mulți dintre noi nu au atins nici măcar un fier de lipit - dar facem lucrurile incredibil de satisfăcătoare . Iată zece dintre cele mai de bază competențe electronice DIY pentru a vă ajuta să începeți. Citeste mai mult .

Vom fi lipiti catodii LED impreuna intr-o linie pentru a face un teren comun, la fel ca si cand am facut matricea noastra LED-urilor Upgrade Your Christmas Wreath Cu o matrice LED activat de mișcare Upgradeaza-ti coroana de Craciun cu ajutorul unei matrice LED activate Motion coroana utilizează o matrice Arduino și LED pentru a produce un afișaj uimitor de lumină care vă va impresiona prietenii și familia. Citeste mai mult .

Îndoiți fiecare catod astfel încât acesta să se suprapună cu următorul și să-l lipiți pentru a crea o linie neîntreruptă. Acum trebuie să ne lipim anodii de picioarele rezistențelor de lângă ei. Am gasit cel mai usor mod de a face acest lucru pentru a lipi fiecare picior pe tamponul respectiv, apoi puneti fierul intre ele pentru a incalzi ambele articulatii, inainte de a adauga in cele din urma mai multa lipire pentru a acoperi decalajul dintre ele.

Verificați fiecare conexiune pentru a vedea că este solid atașată și apoi utilizați unelte de tăiat fir pentru a tăia picioarele excesive de la rezistențele și LED-urile.

Acum, pentru a repeta aceeași sarcină, dar de data aceasta conectați celălalt capăt al rezistențelor noastre la picioarele Arduino. Aceasta este cea mai fidelă parte a lipirii. Fiecare rezistor se atașează mult la pinul lui Arduino singur sau circuitul nu va funcționa așa cum se intenționează. Am făcut mai multe greșeli aici și a trebuit să folosesc fitilul de lipit pentru a elimina lipirea nedorită de mai multe ori.

După ce ați făcut toate conexiunile corecte, verificați dublu că niciuna dintre ele nu se suprapune cu vecinii lor. Dacă aveți acces la un multimetru aici, puteți utiliza modul de continuitate pentru a verifica fiecare pin are doar o linie neîntreruptă la rezistorul său. Dacă tocmai ați primit un multimetru, există un ghid de pornire excelent în acest articol. 7 abilități tehnice pentru a vă învăța copiii, deoarece școlile nu vor avea 7 abilități tehnice pentru a vă învăța copiii, deoarece școlile nu vor mai citi

Odată ce ați verificat fiecare conexiune, reduceți lungimea excesivă de la picioarele rezistențelor

Adăugarea alimentării

Acum rulați o bucată de fir din pinul GND al arduinului dvs. într-o orificiu de lângă care se termină linia dvs. de catoduri lipite și plasați firul negru al suportului bateriei lângă el.

Acum lipiți firul de pinul GND, la fel cum am făcut-o cu rezistențele, și lipiți ambele fire până la capătul liniei de catozi pentru a crea un punct comun pentru circuit.

În cele din urmă, atașați un fir pe pinul VIN al arduinului dvs. și plasați comutatorul între firul respectiv și acumulator. Îmi cer scuze pentru comutatorul acoperit cu lipici calzi în această fotografie, trebuia să demonstrez mașina terminată pentru a fotografia această scenă!

După ce toate sunt lipite împreună, puneți o baterie și apăsați comutatorul. Felicitări! Circuitul se termină. Dacă nu vedeți nimic de aprindere, verificați cu atenție fiecare îmbinare de lipit pentru a vedea unde poate exista o pauză sau un scurtcircuit.

împrejmuire

Acum, când lucrăm, să o punem într-o cutie. Aici a fost utilizată o cutie de carton vopsită, deși ați putea face ceva mai permanent folosind o cutie cumpărată într-un magazin hobby sau chiar o cutie veche de tupperware. Pentru un extra geek cred, ai putea să-ți tipăriți chiar și pe unul dintre aceste imprimante ieftine 3D. 5 Imprimante ieftine 3D puteți cumpăra astăzi 5 imprimante ieftine 3D pe care le puteți cumpăra de fapt În prezent, câțiva ani în urmă, chiar și cele mai ieftine imprimante 3D au fost aproape incomode de marca de 1.000 $ - acum puteți obține o imprimantă 3D de calitate la un preț de până la 400 $. Citeste mai mult

Tăiați protoboard-ul la dimensiune, marcând-o și răsuciți cu grijă piesele de care nu aveți nevoie.

Plasați circuitul în interiorul incintei dvs. și marcați unde trebuie să străpungă LED-urile și comutatorul. Puteți, de asemenea, să marcați în mod opțional unde conectorul USB de pe placa Arduino se potrivește cu marginea, astfel încât să puteți conecta-l pentru a schimba textul fără a deschide caseta. Găuriți sau tăiați găurile de care aveți nevoie în carcasă.

Acum, adăugați un adeziv fierbinte la marginile LED-urilor și lipiți-le în poziție. Am lipit o bucată de burete sub circuit, astfel încât să stea în cutie. Atașați comutatorul la carcasă. Am folosit lipici fierbinți, deși șuruburile sau șuruburile ar face o legătură mult mai puternică. De asemenea, puteți lipi suportul pentru baterii de partea din spate a plăcii de circuite pentru a opri deplasarea în interior atunci când elementul este în uz, dar asigurați-vă că toate contactele metalice de pe carcasă nu ating niciunul dintre îmbinările de lipit!

Lucrul este făcut!

Închideți carcasa și ați terminat! Pentru a schimba textul, atașați cablul USB la placa Arduino și modificați textul din paranteze după displayString în buclă metodă. Găsiți un loc întunecat și distrați-vă!

Ați construit o mașină POV înainte și știți căi de îmbunătățire a designului? Planificați să construiți unul singur? Spuneți-ne despre proiectul dvs. în comentariile de mai jos, ne-ar plăcea să-l auzim!

Aflați mai multe despre: Arduino, Electronics.