Difference between revisions of "Persistence of Vision Display"

From FabLabGenovaWiki
Jump to: navigation, search
(Created page with "Il progetto consta nella realizzazione di un display basato sul principio della [http://en.wikipedia.org/wiki/Persistence_of_vision Persistence of Vision]")
 
Line 1: Line 1:
Il progetto consta nella realizzazione di un display basato sul principio della [http://en.wikipedia.org/wiki/Persistence_of_vision Persistence of Vision]
+
Il progetto consta nella realizzazione di un display basato sul principio della [http://en.wikipedia.org/wiki/Persistence_of_vision Persistence of Vision]. In questo genere di display un array di led controllato da un microcontrollore viene mosso molto rapidamente, in modo che occupi successivamente nello spazio le posizioni di diverse colonne di una matrice virtuale di led. Variando la configurazione dei led in ogni posizione della matrice virtuale, se la velocità è sufficente perchè tutta l'immagine resti impressa sulla retina, si ottiene come effetto una matrice di led virtuali costituita da una sola colonna che viene utilizzata per rappresentare tutte le colonne della matrice in una sorta di multiplex fisico.
 +
I metodi per ottenere quest'effetto sono essenzialmente due: tramite una rotazione o tramite un oscillazione orizzontale. Noi ci siamo concentrati sul primo metodo in quanto un'oscillazione orizzontale è più complessa da realizzare meccanicamente e se eseguita in maniera non motorizzata necessita di dispositivi di controllo notevolmente più dispendiosi ( leggi accellerometri ) per poter dare una sincronizzazione accettabile, e quindi una buona leggibilità.
 +
Il sistema che abbiamo intenzione di realizzare noi è invece più semplice sia da un punto di vista meccanico che elettronico/informatico. Meccanicamente è essenzialmente una bici in cui la ruota posteriore è stata distanziata ed elevata rispetto al suo originale asse ( quindi con una catena lunghissima ); su questa ruota così posizionata sono fissati i led e l'elettronica di controllo. Elettronicamente la problematica principale è legata al fatto che la ruota essendo azionata a pedali non avrà una velocità di rotazione fissa e costante, ma oscillerà intorno ad un valor medio, quindi è necessario che il microcontrollore conosca ( teoricamente ad ogni istante ) la velocità di rotazione effettiva.
 +
==Elettronica==
 +
Per rilevare la velocità angolare abbiamo scelto di utilizzare un sensore ad effetto Hall montato sulla parte in rotazione che invii un segnale ogni qual volta si passi vicino ad un determinato punto su cui è posizionato un magnete permanente. Si è preferito rispetto ad altre soluzioni ( ottiche, a IR o altro ) in quanto presentava meno interferenze ed era più stabile meccanicamente.
 +
Il sensore usato è un [https://www.facebook.com/photo.php?fbid=10200351511981793&set=a.1484185876005.66755.1574627899&type=1&theater A1301], che ha caratteristiche adeguate al progetto ed è reperibile ad un costo minimo sia su ebay che sui principali negozi di elettronica. Tale sensore avendo un uscita analogica non può generare direttamente un interrupt per il PIC. Pertanto si utilizza un µA741 come comparatore di tensione per generare un interrupt ( o un input ) digitale, confrontando la tensione in uscita dal sensore con un valore ottenuto da un trimmer, che permette la taratura rispetto al campo magnetico locale. Lo schema e il circuito stampato ( banalissimo ) è disponibile in formato eagle; il led e la sua resistenza saranno omessi nella versione finale dato che servivano solo per debugging.

Revision as of 21:38, 6 November 2013

Il progetto consta nella realizzazione di un display basato sul principio della Persistence of Vision. In questo genere di display un array di led controllato da un microcontrollore viene mosso molto rapidamente, in modo che occupi successivamente nello spazio le posizioni di diverse colonne di una matrice virtuale di led. Variando la configurazione dei led in ogni posizione della matrice virtuale, se la velocità è sufficente perchè tutta l'immagine resti impressa sulla retina, si ottiene come effetto una matrice di led virtuali costituita da una sola colonna che viene utilizzata per rappresentare tutte le colonne della matrice in una sorta di multiplex fisico. I metodi per ottenere quest'effetto sono essenzialmente due: tramite una rotazione o tramite un oscillazione orizzontale. Noi ci siamo concentrati sul primo metodo in quanto un'oscillazione orizzontale è più complessa da realizzare meccanicamente e se eseguita in maniera non motorizzata necessita di dispositivi di controllo notevolmente più dispendiosi ( leggi accellerometri ) per poter dare una sincronizzazione accettabile, e quindi una buona leggibilità. Il sistema che abbiamo intenzione di realizzare noi è invece più semplice sia da un punto di vista meccanico che elettronico/informatico. Meccanicamente è essenzialmente una bici in cui la ruota posteriore è stata distanziata ed elevata rispetto al suo originale asse ( quindi con una catena lunghissima ); su questa ruota così posizionata sono fissati i led e l'elettronica di controllo. Elettronicamente la problematica principale è legata al fatto che la ruota essendo azionata a pedali non avrà una velocità di rotazione fissa e costante, ma oscillerà intorno ad un valor medio, quindi è necessario che il microcontrollore conosca ( teoricamente ad ogni istante ) la velocità di rotazione effettiva.

Elettronica

Per rilevare la velocità angolare abbiamo scelto di utilizzare un sensore ad effetto Hall montato sulla parte in rotazione che invii un segnale ogni qual volta si passi vicino ad un determinato punto su cui è posizionato un magnete permanente. Si è preferito rispetto ad altre soluzioni ( ottiche, a IR o altro ) in quanto presentava meno interferenze ed era più stabile meccanicamente. Il sensore usato è un A1301, che ha caratteristiche adeguate al progetto ed è reperibile ad un costo minimo sia su ebay che sui principali negozi di elettronica. Tale sensore avendo un uscita analogica non può generare direttamente un interrupt per il PIC. Pertanto si utilizza un µA741 come comparatore di tensione per generare un interrupt ( o un input ) digitale, confrontando la tensione in uscita dal sensore con un valore ottenuto da un trimmer, che permette la taratura rispetto al campo magnetico locale. Lo schema e il circuito stampato ( banalissimo ) è disponibile in formato eagle; il led e la sua resistenza saranno omessi nella versione finale dato che servivano solo per debugging.