Cuprins:
- Pasul 1: Materiale
- Pasul 2: Construirea inelului
- Pasul 3: Realizarea circuitului
- Pasul 4: Puneți totul împreună
- Pasul 5: Desenarea globului
- Pasul 6: Codul
- Pasul 7: Testare
- Pasul 8: Terminarea
Video: (POV) Persistența globului vizual: 8 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
!Actualizați! Am adăugat un program Excel care face mult mai ușor desenarea și codificarea imaginilor noi
O simplă persistență a globului vizual. RULEAZĂ VIDEO
Acesta este un proiect pe care l-am avut în minte de ceva vreme, iar concursul „Make It Glow” a fost doar motivația de care aveam nevoie pentru a mă inspira să scot un vechi afișaj POV cu 5 LED-uri și să îl duc la nivelul următor, folosind shift registre. Dacă vă place acest instructable, vă rugăm să luați în considerare votul pentru acesta.
O introducere rapidă în POV sau persistența vederii: orice lumină de tensiune alternativă clipește de fapt cu o frecvență de 60 Hz sau de 60 de ori pe secundă. Creierul nostru percepe aceasta ca lumină constantă. De acest concept vom profita, pentru a crea o imagine sferică folosind un singur rând de LED-uri. Pentru acest proiect, am decis că 24 de LED-uri secvențiate folosind trei registre de schimbare pe 8 biți ar oferi rezoluția minimă necesară pentru glob.
Pasul 1: Materiale
Iată ce am folosit.
- (1) Arduino Uno (pentru prototipare)
- (1) Bareduino (pentru tablă permanentă opțională) VIRTUABOTIX LINK
- (3) Registre de schimbare HC595N
- (24) LED-uri albastre
- (24) Rezistențe de 220 ohmi
- (1) panou de verificare
- (1) suportul bateriei și bateria
- (1) Inel de 10 "diametru (suficient de lat pentru a ține LED-uri și cu cât este mai ușor cu atât mai bine)
- (1) bucată de tijă filetată (am folosit 5/16 ")
- (1) Motor (am folosit unul de la un vechi Dirt Devil)
- (1) Cuplaj motor
- (1) Deconectare 120V (comutator luminos)
- (1) Controler viteză ventilator
Pasul 2: Construirea inelului
Am folosit o bucată de bară plată de aluminiu de 1/8 "grosime x 1/2" lată pentru inelul meu și filet de 5/16 "pentru catargul central, pentru că le aveam așezate în jur, dar cred că acest lucru ar putea fi făcut pe un Imprimantă 3D completă cu suporturi PCB și să fie mult mai ușoară. Am construit acest inel pentru o construcție anterioară folosind 5 LED-uri, fiecare oprit dintr-un DO separat al Arduino.
Nu este nimic special la diametrul inelului. Al meu este de aprox. Rundă de 10 , doar pentru că bara plată pe care o aveam avea 3 'lungime pentru început. Am rulat-o pe o forfecare / frână / rolă 3 în 1 de la Harbor Freight, dar ai putea forma și inelul în jurul unui disc tăiat din placaj și au rezultate bune. De altfel, nu văd niciun motiv pentru care inelul să nu poată fi făcut din lemn. Prefer doar să lucreze cu metl.
Am făcut găuri pentru LED-uri la aproximativ 5/16 "pe centru. Această distanță a completat toate, cu excepția 1", în partea de sus și de jos pe o parte a inelului. Va trebui să înșurubați o consolă în centrul inelului pentru a oferi o suprafață de montare a panourilor.
Pasul 3: Realizarea circuitului
Aceasta a fost prima mea încercare de a utiliza registre de schimb, așa că am început să cercetez pe site-ul Arduino și am găsit un exemplu extrem de util, pe care l-am modificat pentru a-mi satisface nevoile. Puteți găsi tutorialul la Arduino ShiftOut. M-am bazat pe „Exemplul de cod 2.3 - Matrice dual definite” ca cod de bază, mai multe despre asta mai târziu.
Dacă urmați tutorialul, veți învăța cum să trimiteți bucăți de informații, unul câte unul, în serie de la Arduino la registrele de schimbare. Acest aranjament vă permite să controlați toate cele 24 de LED-uri din acest proiect cu doar 3 pini pe Arduino. Vom folosi capacitatea serial in, parallel out a 74HC595 pentru a încărca 24 de biți de informații sau 3 octeți în registrele de schimbare și apoi vom transfera datele în paralel cu LED-urile.
Deoarece primul bit de date pe care îl încărcăm se va termina în ultimul loc al registrului, vom atașa LED1 sau cel mai sudic LED la QO din primul registru Shift. Urmați schema din exemplul ShiftOut și atașați al treilea registru de schimbare la al doilea, în același mod în care al doilea este atașat la primul.
Vă recomand să rulați exemplul de cod pe parcurs, mai întâi cu un singur registru, apoi cu două. Exemplul de cod secvențează luminile astfel încât să fie ușor de văzut dacă ceva nu este cablat. Am reușit să adaug pur și simplu un Byte3 la „Code Sample 2.3 - Dual Defined Arrays” și un al treilea array pe care l-am numit Blue. Puteți vedea acest lucru în codul ShiftOutArrayByte3R1 încărcat la acest pas.
Pasul 4: Puneți totul împreună
Acum, având încredere că circuitul funcționează, trebuie să montăm totul pe inel. Vă sugerez să montați Arduino / Bareduino pe o parte și Shift Register Board vizavi de Arduino. Acest lucru va ajuta la diminuarea greutății, dar cel mai probabil va trebui să mutați ceva până când veți obține o rotație stabilă. Am folosit bateria de 9 volți pe partea la care aveam nevoie pentru a adăuga greutate. Am folosit cravate cu fermoar pentru a atașa plăcile și bateria la catargul central. Astfel aș putea face ajustări pentru a echilibra inelul.
Acum, pentru a lipi toate LED-urile. Deoarece controlăm tensiunea pozitivă a LED-urilor, putem conecta toate cablurile catodice împreună cu un singur fir neizolat și le putem conecta la pământ. Apoi, trebuie să lipim un rezistor la cablul anodic al fiecărui LED și apoi să atașăm un fir de la rezistor la pinul de ieșire al registrului de schimbare corespunzător. Am lăsat în funcția Blink All din bucla de configurare ca o modalitate ușoară de a afla dacă aveți un LED stins.
Pasul 5: Desenarea globului
!!Actualizați!! Acum puteți desena folosind programul excel, care convertește imaginea în hexidecimal pentru dvs. Codul pentru matricile roșii, albastre și verzi poate fi copiat și lipit în schița Arduino. Pur și simplu completați un 1 în care doriți ca LED-ul să fie aprins și celula se va schimba automat în albastru! Programul Excel este încărcat la acest pas. Mulțumim Rave Shades instructabile pentru postarea Rave Shades Animator, care a fost modificat pentru acest proiect
Bine. Acum, pentru a deveni artistic. Am ales un glob pentru că m-am gândit că ar fi o modalitate interesantă de a realiza un afișaj sferic la 360 de grade folosind POV, dar voi încerca să arăt în acest pas și în următorul fel cum puteți crea orice imagine pe care o puteți desena într-o rezoluție de 24x70 puncte.
Mai întâi am găsit o imagine adecvată a hărții lumii pentru a o folosi ca ghid. Apoi am găsit o aplicație pe Google Play numită „Mosaic Builder” care îmi era perfectă pentru nevoile mele. După cum puteți vedea în ultima imagine a acestui pas, am reușit să creez o versiune redusă a imaginii hărții lumii pe șablonul meu 24x70. FYI 24 provine de la cei 3 octeți de date și, prin urmare, are 24 de LED-uri înălțime, iar 70 provine din împărțirea circumferinței inelului meu cu 5/16 pentru a face distanța orizontală să se potrivească strâns cu distanța verticală a LED-urilor. Lățimea de 70 de puncte va varia în funcție de dimensiunea inelului dvs., dar nu este critic. În special nu este critic, deoarece nu utilizăm niciun tip de senzor, cum ar fi un LED cu infraroșu pentru a detecta o rotație completă și a reseta bucla. ia în considerare în viitor, dar pentru moment, atâta timp cât avem controlul vitezei pe motor, senzorul nu este necesar.
Odată ce ați făcut un desen, sunteți mulțumit de acesta, puteți converti imaginea în cod hexidecimal de Byte, în pasul următor.
Pasul 6: Codul
!Actualizați! Trageți doar imaginea folosind 1s pentru a reprezenta ON, care va colora automat pixelul în albastru. Când imaginea dvs. este gata apăsați butonul „Copiați toate matricele” și lipiți peste matricele existente în schița Arduino! Am încărcat o nouă schiță la acest pas
Așa cum am menționat anterior, am folosit ca bază „Exemplul de cod 2.3 - Matrice definite dublu” din exemplul Arduino ShiftOut. După cum veți observa în acest cod, autorul comentează că nu este sigur dacă Arduino poate gestiona valorile binare directe, așa că au fost folosite valori hexazecimale. Notă: Nu am schimbat niciodată comentariile binare lângă valorile Hex, am schimbat doar valorile Hex pentru a se potrivi cu imaginea mea de hartă mondială.
Acum era abia a doua oară când vedeam Hex și eram destul de lipsit de idei. Am găsit graficul de conversie Hexidecimal-Binary atașat, care a ajutat enorm. Această diagramă poate fi utilizată pentru a converti valoarea binară a fiecărei coloane sau (Octet) într-o valoare hexagonală. De exemplu, dacă vă uitați la ultima imagine din acest pas, puteți vedea cum imaginea hărții lumii a fost spartă în treimi de sus în jos și fiecare coloană este formată din 3 octeți, unde alb sau oprit = 0 și Albastru sau Pornit = 1. La partea de jos a fiecărei coloane, octetul a fost convertit într-o valoare hexazecimală cuprinsă între 00 și FF, care este echivalentul unui interval de valori zecimale de 0-255 sau un interval binar de 00000000 la 11111111.
Codul atașat are imaginea Globe încărcată, dar poate fi modificată pentru o imagine proprie.
Pasul 7: Testare
Înainte de a continua cu construirea unei baze și a unui motor, m-am gândit să testez și să modific circuitul. Pur și simplu am aruncat platforma într-un burghiu fără fir, am pornit totul și am apăsat pe trăgaci. A trebuit să ajustez întârzierea la 1 ms și prima mea încercare a pus Rusia la sud de Australia. De asemenea, am aflat că imaginea se afișează cu fața în jos, din ceea ce mă așteptam, ceea ce a fost o soluție ușoară pentru a răsturna pur și simplu întregul inel. Videoclipul atașat este al testului meu final de succes. Acum este timpul pentru o bază cu un motor permanent și un controler de viteză.
JOACĂ TESTUL GLOBULUI DE PLOMB
Pasul 8: Terminarea
Am conectat întrerupătorul de lumină ca o deconectare pentru motorul meu și apoi am conectat regulatorul de viteză al ventilatorului între deconectare și motor. Acest lucru îmi oferă o modalitate de a opri rapid alimentarea și de a controla destul de bine viteza motorului. Acum aveam nevoie de o modalitate de a conecta motorul la glob. Arborele de pe motor avea 17/64 "și tot filetul pe care l-am folosit pentru glob este de 5/16". Un cuplaj de 5/16 "ar fi putut fi doar trucul, dar, din păcate, am avut doar cuplaje de 3/8" care erau inutile. În schimb, am găsit o bucată de material rotund de aluminiu de 1/2 "și am tăiat o piesă lungă de 2" și am forat o gaură de 17/64 "prin centru. Această dimensiune a orificiului era potrivită pentru a atinge un fir de 5 / 16-18 la jumătatea De asemenea, am forat și am bătut o mică gaură prin lateral pentru a fileta într-un șurub de fixare pentru arborele motorului, apoi am filetat în glob și am folosit o piuliță de blocare pentru a fixa. Asamblarea, așa că a trebuit să reglez viteza cât mai jos posibil. La această viteză, motorul nu va începe să se rotească, ceea ce face ca rularea să fie puțin dificilă. viteza până când motorul pornește, apoi pot reduce viteza și pot elibera globul.
RULEAZĂ VIDEO
Recomandat:
Persistența personalului LED cu viziune: 11 pași (cu imagini)
Persistența personalului LED Vision: Este bine cunoscut faptul că, chiar și după ce o lumină a fost oprită, ochiul uman continuă să „vadă” pentru o fracțiune de secundă. Acest lucru este cunoscut sub numele de Persistența viziunii sau POV și permite „pictarea”. imagini mutând rapid o bandă o
Globul ocular Prescripția globului ocular: un proiect BME60B: 9 pași
Protejarea prescripției globului ocular: un proiect BME60B: De: Hannah Silos, Sang Hee Kim, Thomas Vazquez, Patrick Viste Mărirea este una dintre caracteristicile cheie prezente pentru ochelarii de lectură, care sunt clasificate după prescripția lor de dioptrii. Potrivit Universității de Tehnologie din Michigan, o dioptrie este un
Persistența viziunii Fidget Spinner: 8 pași (cu imagini)
Persistence of Vision Fidget Spinner: Acesta este un fidget spinner care folosește efectul Persistence of Vision, care este o iluzie optică prin care mai multe imagini discrete se amestecă într-o singură imagine din mintea umană. un P
DIY Persistența viziunii: 6 pași (cu imagini)
DIY Persistența viziunii: în acest proiect vă voi prezenta perspectiva vizuală sau afișarea POV cu puține consumabile, cum ar fi senzorii Arduino și Hall, pentru a realiza un afișaj rotativ care afișează orice vă place, cum ar fi textul, timpul și alte personaje speciale
ASIGURAȚI Persistența efectului vizual al controlerului cu LED-uri: 4 pași
MAKE Controller Persistence of Vision Effect With LEDs: Bună ziua, acesta este primul meu instructable și sper să vă placă. Este un proiect simplu, folosind MAKE Controller (un controler foarte util de pe www.makezine.com), care face un efect de persistență a vederii folosind LED-uri. Când mutați rapid tabloul, puteți