Sommario:

(POV) Persistenza del globo visivo: 8 passaggi (con immagini)
(POV) Persistenza del globo visivo: 8 passaggi (con immagini)

Video: (POV) Persistenza del globo visivo: 8 passaggi (con immagini)

Video: (POV) Persistenza del globo visivo: 8 passaggi (con immagini)
Video: Creo un DIARIO SEGRETO e la PENNA INVISIBILE❤️😍🔒 2024, Dicembre
Anonim
Image
Image
(POV) Persistenza del globo visivo
(POV) Persistenza del globo visivo
(POV) Persistenza del globo visivo
(POV) Persistenza del globo visivo

!Aggiornare! Ho aggiunto un programma excel che rende molto più facile disegnare e codificare nuove immagini

Una semplice persistenza del globo di visione. RIPRODUCI VIDEO

Questo è un progetto che ho in mente da un po' di tempo e il concorso "Make It Glow" è stata proprio la motivazione di cui avevo bisogno per ispirarmi a tirare fuori un vecchio display POV a 5 LED e portarlo al livello successivo, usando shift registri. Se ti piace questo tutorial, considera di votarlo.

Una rapida introduzione al POV o alla persistenza della visione: qualsiasi spia della tensione CA in realtà si accende e si spegne a una frequenza di 60 hz o 60 volte al secondo. Il nostro cervello lo percepisce come luce costante. È questo il concetto che sfrutteremo per creare un'immagine sferica utilizzando una singola fila di LED. Per questo progetto, ho deciso che 24 LED in sequenza utilizzando tre registri a scorrimento a 8 bit avrebbero fornito la risoluzione minima necessaria per il globo.

Passaggio 1: materiali

Ecco cosa ho usato.

  • (1) Arduino Uno (per la prototipazione)
  • (1) Bareduino (per scheda permanente opzionale) VIRTUABOTIX LINK
  • (3) Registri a scorrimento HC595N
  • (24) LED blu
  • (24) Resistenze da 220 ohm
  • (1) tagliere
  • (1) portabatteria e batteria
  • (1) Anello da 10 "di diametro (abbastanza largo da contenere i LED e più leggero è, meglio è)
  • (1) pezzo di barra filettata (ho usato 5/16")
  • (1) Motore (ne ho usato uno di un vecchio Dirt Devil)
  • (1) Accoppiatore motore
  • (1) Disconnessione da 120 V (interruttore della luce)
  • (1) Regolatore di velocità della ventola

Passaggio 2: costruire l'anello

Costruire l'Anello
Costruire l'Anello
Costruire l'Anello
Costruire l'Anello

Ho usato un pezzo di barra piatta in alluminio da 1/8" di spessore x 1/2" di larghezza per il mio anello e 5/16" di filettatura per l'albero centrale, perché li avevo in giro, ma penso che questo potrebbe essere fatto su un Stampante 3D completa di supporti per PCB ed essere molto più leggera. Ho costruito questo anello per una build precedente utilizzando 5 LED ciascuno alimentato da un DO separato di Arduino.

Non c'è niente di speciale nel diametro dell'anello. Il mio è di ca. 10 rotondi, solo perché la barra piatta che avevo era lunga 3' all'inizio. L'ho arrotolata su una cesoia/freno/rotolo 3 in 1 di Harbour Freight, ma potresti anche formare l'anello attorno a un disco tagliato da compensato e avere buoni risultati. Del resto, non vedo alcun motivo per cui l'anello non possa essere realizzato in legno. Preferisco solo lavorare in metallo.

Ho praticato dei fori per i LED a circa 5/16 "al centro. Questa spaziatura ha riempito tutto tranne 1" nella parte superiore e inferiore su un lato dell'anello. Dovrai imbullonare una staffa al centro dell'anello per fornire una superficie di montaggio per le breadboard.

Passaggio 3: creare il circuito

Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito
Fare il circuito

Questo è stato il mio primo tentativo di utilizzare i registri a scorrimento, quindi ho iniziato a fare ricerche sul sito di Arduino e ho trovato un esempio estremamente utile, che ho modificato per soddisfare le mie esigenze. Puoi trovare il tutorial su Arduino ShiftOut Ho optato per il "Code Sample 2.3 - Dual Defined Arrays" come codice di base, ne parleremo più avanti.

Se segui il tutorial imparerai come inviare bit di informazioni, uno per uno, in seriale dal tuo Arduino ai registri a scorrimento. Questa disposizione consente di controllare tutti i 24 LED su questo progetto con solo 3 pin su Arduino. Useremo la capacità di ingresso seriale e uscita parallela del 74HC595 per caricare 24 bit di informazioni o 3 byte nei registri a scorrimento e quindi spostare i dati in parallelo ai LED.

Poiché il primo bit di dati che carichiamo finirà nell'ultimo punto di registro, attaccheremo il LED1 o il LED più a sud al QO del primo registro a scorrimento. Segui lo schema dell'esempio ShiftOut e attacca il terzo registro a scorrimento al secondo, nello stesso modo in cui il secondo è attaccato al primo.

Raccomando di eseguire il codice di esempio lungo la strada, prima con un solo registro poi con due. Il codice di esempio mette in sequenza le luci in modo che sia facile vedere se qualcosa non è stato collegato correttamente. Sono stato in grado di aggiungere semplicemente un Byte3 al "Code Sample 2.3 - Dual Defined Arrays" e un terzo array che ho chiamato Blue. Puoi vederlo nel codice ShiftOutArrayByte3R1 caricato in questo passaggio.

Passaggio 4: mettere tutto insieme

Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme
Mettere tutto insieme

Ora che siamo sicuri che il circuito funzioni, dobbiamo montare tutto sull'anello. Suggerisco di montare il tuo Arduino/Bareduino da un lato e la tua Shift Register Board di fronte all'Arduino. Questo aiuterà a livellare il peso, ma molto probabilmente dovrai spostare qualcosa finché non ottieni una rotazione stabile. Ho usato la batteria da 9 Volt sul lato su cui avevo bisogno di aggiungere peso. Ho usato le fascette per attaccare le schede e la batteria all'albero centrale. In questo modo ho potuto apportare modifiche per ottenere l'equilibrio dell'anello.

Ora per saldare tutti i LED. Poiché stiamo controllando la tensione positiva dei LED, possiamo collegare tutti i cavi del catodo insieme con un singolo filo non isolato e collegarlo alla nostra terra. Quindi dobbiamo saldare un resistore al cavo dell'anodo di ciascun LED e quindi collegare un filo dal resistore al corrispondente pin di uscita del registro a scorrimento. Ho lasciato la funzione Blink All nel ciclo di installazione come un modo semplice per sapere se hai un LED spento.

Passaggio 5: disegnare il globo

Disegnare il globo
Disegnare il globo
Disegnare il globo
Disegnare il globo
Disegnare il globo
Disegnare il globo

!!Aggiornare!! Ora puoi disegnare usando il programma excel, che converte l'immagine in esadecimale per te. Il codice per i tuoi array Red, Blue e Green può essere copiato e incollato nello sketch Arduino. Basta inserire un 1 in cui si desidera che il LED sia acceso e la cella cambierà automaticamente in blu! Il programma Excel viene caricato in questo passaggio. Grazie all'istruttore di Rave Shades per aver pubblicato il Rave Shades Animator, che è stato modificato per questo progetto

Va bene. Ora per diventare artistico. Ho scelto un globo perché ho pensato che sarebbe stato un modo interessante per creare un display sferico a 360 gradi usando il POV, ma cercherò di mostrare in questo e nel prossimo passaggio come puoi creare qualsiasi immagine che puoi disegnare con una risoluzione di 24x70 punti.

Per prima cosa ho trovato un'immagine della mappa del mondo adatta da utilizzare come guida. Poi ho trovato un'app su Google Play chiamata "Mosaic Builder" che era perfetta per le mie esigenze. Come puoi vedere nell'ultima immagine di questo passaggio, sono stato in grado di creare una versione a bassa risoluzione dell'immagine della mappa del mondo sul mio modello 24x70. Cordiali saluti, il 24 deriva dai 3 Byte di dati e quindi 24 LED di altezza e il 70 deriva dal dividere la circonferenza del mio anello per 5/16" per far corrispondere la spaziatura orizzontale alla spaziatura verticale dei LED. La larghezza di 70 punti varierà in base alle dimensioni del tuo anello, ma non è fondamentale. Non è particolarmente critico poiché non stiamo utilizzando alcun tipo di sensore, come un LED a infrarossi per rilevare una rotazione completa e ripristinare il ciclo. Questo è qualcosa che potrei considerare in futuro, ma per ora finché abbiamo il controllo della velocità sul motore il sensore non è necessario.

Una volta che hai un disegno di cui sei soddisfatto, puoi convertire l'immagine in codice esadecimale per Byte, nel passaggio successivo.

Passaggio 6: il codice

Il codice
Il codice
Il codice
Il codice
Il codice
Il codice

!Aggiornare! Disegna semplicemente la tua immagine usando 1s per rappresentare ON, che colorerà automaticamente il pixel in blu. Quando l'immagine è pronta, premi il pulsante "Copia tutti gli array" e incolla gli array esistenti nello schizzo Arduino! Ho caricato un nuovo schizzo in questo passaggio

Come accennato in precedenza, ho usato il "Code Sample 2.3 - Dual Defined Arrays" dall'esempio di Arduino ShiftOut come base. Come noterai in questo codice, l'autore commenta che non è sicuro che Arduino possa gestire valori binari diretti, quindi sono stati utilizzati valori esadecimali. Nota: non ho mai cambiato i commenti binari accanto ai valori esadecimali, ho solo modificato i valori esadecimali per adattarli alla mia immagine della mappa del mondo.

Questa era solo la seconda volta che vedevo Hex ed ero piuttosto all'oscuro. Ho trovato il grafico di conversione esadecimale-binario allegato, che ha aiutato immensamente. Questo grafico può essere utilizzato per convertire il valore binario di ogni colonna o (Byte) in un valore esadecimale. Ad esempio, se guardi l'ultima immagine di questo passaggio puoi vedere come l'immagine della mappa del mondo è stata suddivisa in terzi dall'alto verso il basso e ogni colonna è composta da 3 byte, dove bianco o spento = 0 e blu o acceso = 1. nella parte inferiore di ogni colonna il Byte è stato convertito in un valore esadecimale compreso tra 00 e FF che è l'equivalente di un intervallo di valori decimali da 0-255 o un intervallo binario da 00000000 a 11111111.

Il codice allegato ha l'immagine del globo caricata, ma può essere modificato per un'immagine personale.

Passaggio 7: test

Image
Image
test
test

Prima di passare alla costruzione di una base e di un supporto motore, ho pensato di testare e modificare il circuito. Ho semplicemente inserito l'impianto di perforazione in un trapano a batteria, ho acceso tutto e ho premuto il grilletto. Ho dovuto regolare il ritardo a 1 ms e il mio primo tentativo ha messo la Russia a sud dell'Australia. Ho anche appreso che l'immagine viene visualizzata capovolta, da quello che mi aspettavo, che era una soluzione semplice per capovolgere semplicemente l'intero anello. Il video allegato è del mio ultimo test di successo. Ora è il momento di una base con un motore permanente e un controller di velocità.

GIOCA PROVA DEL GLOBO PRINCIPALE

Passaggio 8: finire

Terminando!
Terminando!
Terminando!
Terminando!
Terminando!
Terminando!

Ho collegato l'interruttore della luce come sezionatore per il mio motore e poi ho collegato il controller della velocità della ventola tra l'interruttore di scollegamento e il motore. Questo mi dà un modo per spegnere rapidamente l'alimentazione e avere un controllo ragionevolmente buono della velocità del motore. Ora avevo bisogno di un modo per collegare il motore al globo. L'albero del motore era 17/64" e la filettatura che ho usato per il globo è 5/16". Un attacco da 5/16" avrebbe potuto essere solo il trucco, ma purtroppo avevo solo accoppiatori da 3/8" che erano inutili. Invece, ho trovato un pezzo di calcio rotondo in alluminio da 1/2" e ho tagliato un pezzo lungo 2" e ho praticato un foro da 17/64" attraverso il centro. Questa dimensione del foro era adatta per maschiare un filo da 5/16-18 a metà del calcio rotondo. Ho anche praticato e filettato un piccolo foro attraverso il lato per infilare una vite di fermo per l'albero del motore, quindi ho infilato il globo e ho usato un controdado per fissarlo. Il motore Dirt Devil gira abbastanza velocemente da far saltare il foro l'assemblaggio, quindi avevo bisogno di regolare la velocità il più possibile. A questa velocità il motore non inizia effettivamente a girare, rendendo il funzionamento del rig un po' complicato. Quello che devo fare è trattenere il globo dalla rotazione e sollevare lentamente il velocità fino a quando il motore non si avvia, quindi posso ridurre la velocità e rilasciare il globo. Finalmente con un po' di delicata messa a punto posso ottenere un grande effetto di rotazione lenta.

RIPRODUCI VIDEO

Consigliato: