Sommario:

Persistenza della visione Fidget Spinner: 8 passaggi (con immagini)
Persistenza della visione Fidget Spinner: 8 passaggi (con immagini)

Video: Persistenza della visione Fidget Spinner: 8 passaggi (con immagini)

Video: Persistenza della visione Fidget Spinner: 8 passaggi (con immagini)
Video: Cuore di Origami | Come fare un cuore di carta | Origami San Valentino | Regalo di San Valentino 2024, Novembre
Anonim
Persistenza della visione Fidget Spinner
Persistenza della visione Fidget Spinner
Persistenza della visione Fidget Spinner
Persistenza della visione Fidget Spinner
Persistenza della visione Fidget Spinner
Persistenza della visione Fidget Spinner

Questo è un fidget spinner che utilizza l'effetto Persistence of Vision che è un'illusione ottica in cui più immagini discrete si fondono in un'unica immagine nella mente umana.

Il testo o la grafica possono essere modificati tramite collegamento Bluetooth Low Energy utilizzando un'applicazione per PC che ho programmato in LabVIEW o utilizzando un'app BLE per smartphone disponibile gratuitamente.

Tutti i file sono disponibili. Schema e firmware sono allegati a questo Instructable. I file Gerber sono disponibili a questo link poiché non riesco a caricare i file zip qui: Gerbers

Passaggio 1: differenza tra altri dispositivi POV sul mercato

Differenza tra altri dispositivi POV sul mercato
Differenza tra altri dispositivi POV sul mercato

Una delle caratteristiche più importanti è che la grafica visualizzata non dipende dalla velocità di rotazione grazie alla sua soluzione innovativa per tenere traccia dell'angolo di rotazione. Ciò significa che la grafica visualizzata viene percepita allo stesso modo sia a velocità di rotazione superiori che inferiori (ad esempio, quando il filatore di fidget rallenta quando viene tenuto in mano). Maggiori informazioni su questo nel passaggio 3.

Questa è anche una delle principali differenze tra i vari dispositivi POV sul mercato (orologi POV, ecc.) che devono avere una velocità di rotazione costante affinché l'immagine venga visualizzata correttamente. Vale anche la pena notare che tutti i componenti sono selezionati per avere il minor consumo di energia possibile nel tentativo di prolungare la durata della batteria

Passaggio 2: descrizione tecnica

Descrizione tecnica
Descrizione tecnica
Descrizione tecnica
Descrizione tecnica
Descrizione tecnica
Descrizione tecnica
Descrizione tecnica
Descrizione tecnica

Utilizza il microcontrollore Microchip PIC 16F1619 avanzato come nucleo. L'MCU ha una periferica Angular Timer incorporata che utilizza il sensore Hall onnipolare DRV5033 e un magnete per tenere traccia dell'angolo di rotazione corrente.

La grafica viene visualizzata utilizzando un totale di 32 LED, 16 diodi luminosi verdi e 16 rossi (corrente nominale 2mA). I diodi sono pilotati da due driver a registro a scorrimento a corrente costante a 16 canali TLC59282 collegati in daisy chain. Per avere un accesso remoto al dispositivo è presente un modulo Bluetooth Low Energy RN4871 che comunica con il microcontrollore tramite interfaccia UART. È possibile accedere al dispositivo da un personal computer o da uno smartphone. Il dispositivo viene acceso utilizzando un pulsante a sfioramento capacitivo che è incorporato sotto la maschera di saldatura sul circuito stampato. L'uscita dall'IC capacitivo PCF8883 è alimentata alla porta logica OR BU4S71G2. L'altro ingresso alle porte OR è un segnale dall'MCU. L'uscita dalle porte OR è collegata al pin Enable di un convertitore step-down TPS62745. Utilizzando questa configurazione sono in grado di accendere/spegnere il dispositivo utilizzando un solo pulsante a sfioramento. Il pulsante capacitivo può essere utilizzato anche per cambiare modalità di funzionamento o ad esempio per accendere la radio bluetooth solo quando necessario per risparmiare energia.

Il convertitore step-down TPS62745 converte i 6V nominali dalle batterie a 3,3V stabili. Ho scelto questo convertitore perché ha un'elevata efficienza con carichi leggeri, bassa corrente di riposo, funziona con una minuscola bobina da 4,7 uH, ha un interruttore di tensione di ingresso integrato che utilizzo per misurare la capacità della batteria con un consumo di corrente minimo e la tensione di uscita è utente- selezionabile da quattro ingressi anziché resistori di retroazione (riduce la BOM). Il dispositivo va in sospensione automaticamente dopo 5 minuti di inattività. Il consumo di corrente durante il sonno è inferiore a 7uA.

Le batterie si trovano sul retro come mostrato nella foto.

Passaggio 3: tenere traccia dell'angolo di rotazione

Tenere traccia dell'angolo di rotazione
Tenere traccia dell'angolo di rotazione
Tenere traccia dell'angolo di rotazione
Tenere traccia dell'angolo di rotazione

L'angolo di rotazione è tracciato "dall'hardware" piuttosto dal software, il che significa che la CPU ha molto più tempo a sua disposizione per svolgere altre attività. Per questo ho usato la periferica Angular Timer che è integrata nel microcontrollore usato PIC 16F1619.

L'ingresso al timer angolare è un segnale dal sensore Hall DRV5033. Il sensore di Hall genererà un impulso ogni volta che un magnete gli passa accanto. Il sensore Hall si trova sulla parte rotante del dispositivo mentre il magnete si trova su una parte statica per la quale l'utente tiene il dispositivo. Poiché ho usato un solo magnete, significa che il sensore di Hall produrrà un impulso che si ripete ogni 360°. Allo stesso tempo Angular Timer genererà 180 impulsi per giro in cui ogni impulso rappresenta 2° di rotazione. Scelgo 180 impulsi, e non 360° per esempio, perché ho trovato che 2° è la distanza perfetta tra le due colonne di un carattere stampato. Il timer angolare gestisce automaticamente tutti questi calcoli e si regola automaticamente se il tempo tra i due impulsi del sensore cambia a causa della variazione della velocità di rotazione. La posizione del magnete e del sensore di Hall è mostrata nella foto allegata.

Passaggio 4: accesso remoto

Accesso remoto
Accesso remoto

Volevo un modo per modificare il testo visualizzato in modo dinamico e non semplicemente codificandolo nel codice. Ho scelto BLE perché utilizza una quantità molto piccola di energia e il chip utilizzato RN4871 ha una dimensione di soli 9x11,5 mm.

Tramite collegamento BT è possibile modificare il testo visualizzato e il suo colore - rosso o verde. Il livello della batteria può anche essere monitorato per sapere quando è il momento di sostituire le batterie. Il dispositivo può essere controllato tramite un'applicazione per computer programmata nell'ambiente di programmazione grafica LabVIEW o utilizzando un'applicazione BLE per smartphone liberamente disponibile che ha la capacità di scrivere direttamente sulle caratteristiche BLE selezionate di un dispositivo connesso. Per inviare le informazioni da PC/smartphone al dispositivo ho utilizzato un Servizio con tre Caratteristiche, ciascuna identificata da un Handle.

Passaggio 5: applicazione per PC

Applicazione per PC
Applicazione per PC

Nell'angolo in alto a sinistra abbiamo i controlli per l'avvio dell'applicazione server BLE di National Instruments. Questa è un'applicazione a riga di comando di NI che crea un ponte tra il modulo BLE su un computer e LabVIEW. Utilizza il protocollo HTTP per comunicare. La ragione per usare questa applicazione è che LabVIEW ha solo il supporto nativo per Bluetooth Classic e non per BLE.

Al termine della connessione, l'indirizzo MAC di un dispositivo connesso viene visualizzato sulla destra e quella parte non è più in grigio. Lì possiamo impostare la grafica in movimento e il suo colore o semplicemente inviare uno schema per accendere o spegnere i LED quando il dispositivo non gira, l'ho usato a scopo di test.

Passaggio 6: carattere

Font
Font

Il carattere dell'alfabeto inglese è stato generato utilizzando un software disponibile gratuitamente "The Dot Factory" ma ho dovuto apportare alcune modifiche prima di caricarlo sul microcontrollore.

La ragione di ciò è il layout del PCB che è "non in ordine", il che significa che l'uscita 0 dal driver LED potrebbe non essere collegata al LED 0 sul PCB, l'OUT 1 non è collegato al LED 1 ma piuttosto al LED15 per esempio, e ecc. L'altro motivo è che il software consente solo di generare font 2x8bit ma il dispositivo ha 16 LED per ogni colore, quindi avevo bisogno di un font alto 16 bit. Quindi avevo bisogno di creare un software che si spostasse di alcuni bit per compensare il layout del PCB e combinarli in un valore a 16 bit. Per questo motivo ho sviluppato un'applicazione separata in LabVIEW che prende il font generato in "The Dot Factory" come input e lo trasforma in base alle esigenze di questo progetto. Poiché i layout del PCB LED rosso e verde sono diversi, avevo bisogno di usare due caratteri. L'output per il carattere verde è mostrato nell'immagine qui sotto.

Passaggio 7: programmare la maschera

Maschera di programmazione
Maschera di programmazione

Nella foto potete vedere la dima di programmazione che è stata utilizzata per programmare il dispositivo.

Dal momento che, dopo ogni programmazione, ho bisogno di prendere il dispositivo e farlo girare per vedere le modifiche, non volevo usare le intestazioni di programmazione standard o semplicemente saldare i fili di programmazione. Ho usato i pin Pogo che hanno una piccola molla al loro interno in modo che si adattino molto strettamente ai vias sul PCB. Usando questa configurazione sono in grado di programmare il microcontrollore molto velocemente e non devo preoccuparmi dei fili di programmazione o della saldatura residua dopo aver dissaldato quei fili.

Passaggio 8: conclusione

Conclusione
Conclusione

Per riassumere, vorrei sottolineare che utilizzando la periferica Angul Timer ho ottenuto con successo un dispositivo POV che non dipende dalla velocità di rotazione, quindi la qualità della grafica visualizzata è la stessa sia a velocità superiori che inferiori.

Attraverso un'attenta progettazione è stato possibile implementare una soluzione a basso consumo energetico che prolungherà la vita delle batterie. Per quanto riguarda gli svantaggi di questo progetto, vorrei sottolineare che non c'è modo di caricare le batterie usate, quindi è necessaria la sostituzione della batteria ogni tanto. Le batterie senza nome del negozio locale sono durate circa 1 mese con l'uso quotidiano. Usi: questo dispositivo può essere utilizzato per vari scopi promozionali o come sussidio didattico in lezioni di elettrotecnica o fisica, ad esempio. Può anche essere usato come aiuto terapeutico per aumentare l'attenzione per chi soffre di disturbo da deficit di attenzione e iperattività (ADHD) o per calmare i sintomi dell'ansia.

Sfida di progettazione PCB
Sfida di progettazione PCB
Sfida di progettazione PCB
Sfida di progettazione PCB

Primo Premio nella Sfida PCB Design

Consigliato: