Sommario:

Geek Spinner: 14 passaggi (con immagini)
Geek Spinner: 14 passaggi (con immagini)

Video: Geek Spinner: 14 passaggi (con immagini)

Video: Geek Spinner: 14 passaggi (con immagini)
Video: iPhone 14 2024, Dicembre
Anonim
Image
Image
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner

I filatori di Fidget sono divertenti e puoi trovarne uno in qualsiasi cassa per pochi dollari in questi giorni, ma cosa accadrebbe se potessi costruirne uno tuo? E aveva i LED? E potresti programmarlo per dire o mostrare quello che volevi? Se questo suona geniale, QUESTO È IL PROGETTO CHE FA PER TE.

Sono sempre stato interessato all'uso di LED lampeggianti per interessare i bambini alla programmazione. Il progetto più semplice con un microcontrollore Arduino è accendere e spegnere un LED. Quindi fai vedere loro quanto velocemente un LED può lampeggiare prima che sembri che sia acceso continuamente (intervalli di circa 12 millisecondi). Quindi scuoti il LED avanti e indietro e puoi vederlo lampeggiare di nuovo! Questo fenomeno è chiamato "persistenza della visione" (POV) ed è il modo in cui funziona questo progetto. Può portare a discussioni sia su come funziona l'occhio sia su quanto siano incredibilmente veloci i computer.

Questo progetto utilizza un microcontrollore programmabile a 8 bit, otto LED e una cella a bottone. Ruota utilizzando un cuscinetto standard da skateboard e utilizza un sensore ad effetto Hall e un magnete per determinare la rotazione. È realizzato utilizzando parti passanti per principianti e può essere programmato utilizzando l'ambiente di programmazione Arduino. Basta con le chiacchiere, diamoci da fare…

Passaggio 1: raccogliere le parti, gli strumenti e i materiali di consumo

Image
Image
Raccogli le parti, gli strumenti e le forniture
Raccogli le parti, gli strumenti e le forniture

È sempre frustrante arrivare a metà di una build e scoprire che ti manca qualcosa. Queste sono le parti che ho provato e ho trovato che funzionano bene. Sostituire a proprio rischio:

Distinta materiali=================

  • 1 pezzo, Purple PCB, prodotto con cura negli Stati Uniti da OSH Park
  • 1 bis, Attiny 84, Atmel ATTINY84A-PU,
  • 1 cad., Interruttore tattile, TE 1825910-6,
  • 1 cad., Interruttore a scorrimento SPDT Foro passante, C&K JS202011AQN,
  • 1 cad., Portabatterie, Linx BAT-HLD-001-THM,
  • 8 ciascuno, 3mm LED rosso 160 Mcd, Wurth 151031SS04000,
  • 8 ciascuno, 330 ohm 1/8W, Stackpole CF18JT330R,
  • 1 cad., cappuccio 0,1 uF, KEMET C320C104M5R5TA,
  • 1 cad., Interruttore magnetico, Melexis MLX92231LUA-AAA-020-SP,
  • 1 pezzo, 608 cuscinetti per skateboard,
  • 1 cad., piccolo magnete di terre rare 2 mm x 1 mm,
  • 2 ciascuno, cappucci stampati in 3D (file STL allegato).
  • 1 ciascuno, batteria CR2032, Panasonic BSP o equivalente,

Strumenti e forniture: per i miei workshop, utilizzo il ToolKit per principianti di SparkFun che ha tutto il necessario tranne le pinzette:

  • Saldatore.
  • SaldareWire
  • Pinze a filo (adoro l'Hakko CHP170 da $ 5!)
  • Treccia dissaldante
  • super colla

Programmazione di Attiny (passaggio 4, non richiesto se lo acquisti come kit):

  • Arduino (evita i cloni cinesi economici e supporta i tuoi produttori open source statunitensi).

    • SparkFun Redboard
    • Metro Adafruit
    • Arduino UNO
  • Scudo di programmazione AVR.
  • Adattatore Pogo (se si programma con chip installato).
  • Una USB standard A-B per Uno, USB Mini per Redboard o USB Micro per Metro.

Un kit per questo progetto è disponibile su Tindie.com (meno la batteria). L'acquisto del kit ti farà risparmiare tempo e spese per l'ordinazione da diversi fornitori ed eviterà il premio minimo per l'ordine del PCB. Inoltre, programmare un Attiny non è banale e, se acquisti il kit, sarà già preprogrammato. Mi aiuterai anche a sviluppare e condividere altri progetti nei miei workshop!

Passaggio 2: la resistenza è essenziale

La resistenza è essenziale
La resistenza è essenziale
La resistenza è essenziale
La resistenza è essenziale
La resistenza è essenziale
La resistenza è essenziale

Supponiamo che tu abbia una certa esperienza nella creazione di kit. Se hai bisogno di aiuto per saldare, vai su www.sparkfun.com/tutorials/213 per rispolverare o guarda la Geek Girl spiegarlo su https://www.youtube.com/embed/P5L4Gl6Q4Xo. Ho anche un kit adatto ai principianti su

Mi piace iniziare con il resistore perché a) sono relativamente resistenti al calore mentre entri nella scanalatura di saldatura e il ferro sta raggiungendo la temperatura, b) non hanno polarità, quindi l'orientamento non è critico e c) sono i componente più basso sulla scheda, quindi tieni duro durante la saldatura. Sono presenti otto resistori di limitazione della corrente da 330 ohm, uno per ciascuno dei LED. Puoi farne uno alla volta o tutti e otto in una volta.

  • Piegare i cavi alla larghezza dei pad e inserire il resistore.
  • Capovolgi la scheda e salda i cavi.
  • Tagliare i cavi con tagli a filo.
  • Colpiscili di nuovo con il ferro se vuoi che impressionino i tuoi amici geek.

Passaggio 3: codice?

Codice?
Codice?
Codice?
Codice?
Codice?
Codice?
Codice?
Codice?

Se hai acquistato il mio kit, il chip è preprogrammato e puoi passare al passaggio successivo.

Sì, questo progetto ha bisogno di codice. E, se stavi prestando attenzione, nel passaggio 1 ti ho detto che programmare un Attiny non era banale. Uso Arduino, il suo ambiente di programmazione, il mio programmatore AVR e un jig pogo pin.

Il chip può essere programmato prima della saldatura in posizione (foto 2) o dopo che è stato saldato utilizzando l'intestazione ISP nella parte inferiore del PCB (foto 3). In entrambi i casi la programmazione è la seguente:

  • Scarica l'ambiente di programmazione Arduino.
  • Installa il supporto per Attiny 85 da:

    • https://highlowtech.org/?p=1695 (Arduino Piccolo)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • Carica lo schizzo "Arduino come ISP":[File] -> [Esempi] -> [Arduino come ISP].
  • Attaccare lo schermo di programmazione AVR e inserire il cavo a nastro nella posizione Attiny84
  • Se si utilizza l'adattatore Pogo, posizionarlo sull'intestazione dell'ISP sulla scheda. I pad positivo e negativo sono contrassegnati in modo da poter orientare correttamente l'intestazione.
  • Se si utilizza il chip, inserirlo con il pin uno verso il connettore USB.
  • Seleziona il chip corretto:

    • Arduino Tiny: "Attiny 84 @ 8 Mhz"
    • Attiny Core: "Attiny 24/44/84"

      • Chip "Attiny 84"
      • 8 Mhz (interno)
      • Mappatura dei pin "in senso antiorario"
  • Seleziona il Programmatore, [Strumenti] -> [Programmatore] -> [Arduino come ISP]
  • Impostare i fusibili di programmazione, [Strumenti] -> [Burn Bootloader]
  • Carica lo schizzo allegato, [File] -> [Carica utilizzando il programmatore]

La più grande fonte di errori che ottengo riguarda il non avere i pin allineati correttamente.

Passaggio 4: chip it

Chip It
Chip It
Chip It
Chip It
Chip It
Chip It
Chip It
Chip It

Ora che il tuo chip ha il codice, puoi installarlo. L'orientamento di un chip DIP ("doppio pacchetto in linea") è solitamente indicato da un foro adiacente al pin uno o da un divot all'estremità del chip contenente il pin uno, come nel caso in questione.

  • Piegare i cavi a 90 gradi premendoli contro una superficie piana (foto 1 e 2).
  • Allineare il chip con il simbolo sul PCB e inserire il chip (foto 3).
  • Saldare un pin sui lati opposti e controllare che entrambi i chip siano piatti contro il PCB e che l'orientamento sia corretto. Diventa davvero difficile da risolvere dopo questo. Fidati di me su questo.
  • Una volta che sei sicuro che sia inserito correttamente, salda i pin rimanenti e poi tagliali a filo.

Passaggio 5: interruttore e condensatore

Interruttore e condensatore
Interruttore e condensatore
Interruttore e condensatore
Interruttore e condensatore

Il pulsante va accanto all'IC e il condensatore dall'altra parte.

  • Spingere il pulsante in posizione (assicurarsi che sia nell'orientamento corretto).
  • Saldalo sul posto.
  • Agganciare i cavi dal retro.

Il condensatore non ha un orientamento, ma se metti fuori il lato della scrittura, i tuoi amici smanettoni sapranno quale valore hai usato.

Passaggio 6: interruttore e portabatteria

Interruttore e portabatteria
Interruttore e portabatteria
Interruttore e portabatteria
Interruttore e portabatteria
Interruttore e portabatteria
Interruttore e portabatteria
Interruttore e portabatteria
Interruttore e portabatteria

L'interruttore va con il livello rivolto verso l'esterno. Come gli altri articoli, saldare due pin, verificare che sia posizionato piatto, quindi saldare il resto.

Il supporto della batteria ha un contrassegno per mostrare l'orientamento, ma non importa. Tuttavia, richiederà un po' più di calore rispetto ai normali cavi e dovrai assicurarti che sia piatto per mantenere la batteria in posizione (figura 4).

Passaggio 7: LED

LED
LED
LED
LED
LED
LED
LED
LED

Non esiste un progetto decente che non includa almeno un LED. Questo ha OTTO!

Il cavo lungo è positivo (anodo). C'è un segno "+" sulla serigrafia e il pad è quadrato. Se li fai tutti e otto in una volta, tienili sollevati per assicurarti di avere tutti gli orientamenti corretti.

  • Saldare un cavo su ciascun LED.
  • Verificare l'orientamento e che siano posizionati in piano (figura 3).

    In caso contrario, premere sulla custodia con il pollice e riscaldare nuovamente il cavo finché non scatta in posizione (figura 4)

  • Saldare il resto.
  • Aggancia i cavi.

Passaggio 8: dai un'occhiata

Image
Image
Tempo di rotazione
Tempo di rotazione

A questo punto possiamo ancora controllare i led e spegnere:

  • Inserire una batteria con il lato positivo verso l'esterno.
  • Accendi la trottola e poi premi il pulsante fino a quando tutti (si spera) i led non si accendono (vedi video).
  • Fai girare lo spinner e osserva lo schema. Se un LED non si accende, potrebbe essere installato al contrario o essere stato danneggiato dal calore. Dissaldalo e inseriscine uno nuovo.

Risoluzione dei problemi:

  • Se nessun LED si accende:

    • Assicurati che la batteria sia buona e con l'orientamento corretto.
    • Hai programmato il tuo chip? È nel giusto orientamento? Sta diventando caldo?
    • I LED sono orientati correttamente? Utilizzare la pila a bottone attraverso i giunti di saldatura a led per testarli?
  • Se l'interruttore non fa lampeggiare i LED:

    • Controllare i giunti di saldatura sul LED.
    • Controlla i giunti di saldatura sull'Attiny.
  • Se tutto il resto fallisce, scatta e pubblica foto ad alta risoluzione della parte anteriore e posteriore e chiedi aiuto nei commenti.

Passaggio 9: tempo di rotazione

Tempo di rotazione
Tempo di rotazione
Tempo di rotazione
Tempo di rotazione
Tempo di rotazione
Tempo di rotazione

Il cuscinetto viene tenuto in posizione saldando la custodia al pad grande. Questo richiede pazienza e molto calore:

  • Usa qualcosa come monete su una superficie dura per posizionare il cuscinetto.
  • Riscalda sia il pad che il guscio del cuscinetto finché non vedi il flusso di saldatura sul case (ci vuole un po').
  • Ripeti dall'altra parte.
  • Verificare che il cuscinetto sia allineato correttamente facendo girare l'ogiva.
  • Capovolgi la scheda e salda due punti sull'altro lato.

Passaggio 10: questa è una rivoluzione?

Image
Image
Questa è una rivoluzione?
Questa è una rivoluzione?
Questa è una rivoluzione?
Questa è una rivoluzione?

Per mostrare messaggi invece di semplici schemi, dobbiamo conoscere la posizione della trottola rispetto al cerchio. Useremo un sensore ad effetto Hall e un magnete. Questo è simile a come i motori a combustione sanno quando accendere la scintilla per ottenere la massima potenza. L'orientamento e l'allineamento sia del sensore che del magnete sono fondamentali per il funzionamento.

  • La scritta sulla faccia del dispositivo è rivolta verso il cuscinetto in corrispondenza della serigrafia (foto 1).
  • Allineare l'altezza appena sopra il cuscinetto (dove si troverà il magnete nel cappuccio).
  • Saldare un cavo.
  • Verificare l'altezza e l'alimento.
  • Saldare i cavi rimanenti.
  • Aggancia i cavi.

Se stai usando un sensore omnipolare, dovrai capire l'orientamento del magnete. Il modo migliore per farlo è impostare una modalità diversa dallo schema del passaggio precedente e quindi trovare il lato del magnete che inizia a lampeggiare i LED (vedi video). Incolla il magnete con il lato che ha lavorato rivolto verso l'esterno. Ricontrolla il tuo lavoro.

Fase 11: Atto di bilanciamento

Atto di bilanciamento
Atto di bilanciamento
Atto di bilanciamento
Atto di bilanciamento

Se tieni lo spinner in posizione orizzontale con la batteria inserita, lo vedrai ruotare verso il basso. Nonostante i miei migliori sforzi per bilanciare i componenti, è ancora sbilanciato. Puoi aggiungere un po' di peso sul lato senza batteria usando un dado e un bullone o aggiungere un po' di saldatura al pad.

Passaggio 12: sei operativo

Image
Image
Ma aspetta, c'è di più.
Ma aspetta, c'è di più.

Con il magnete e il sensore in posizione, sei pronto per provare tutta la bellezza del tuo Geek Spinner. La modalità della trottola è indicata dal LED che si accende all'accensione o dopo la pressione di un pulsante (D0 - D7). La modalità si cambia premendo il pulsante (vedi video).

int modi = 8; // numero di modalità disponibili

// 0 -> testo "Ciao mondo!" // 1 -> RPM // 2 -> tempo in secondi // 3 -> conteggio giri // 4 -> conteggio giri (totale) // 5 -> motivo "lilly pad" // 6 -> forma 1 (cuore) // 7 -> forma 2 (sorriso)

Passaggio 13: ma aspetta, c'è di più.

Ma aspetta, c'è di più.
Ma aspetta, c'è di più.
Ma aspetta, c'è di più.
Ma aspetta, c'è di più.
Ma aspetta, c'è di più.
Ma aspetta, c'è di più.

I modelli "cuore" e "faccina" sono stati creati utilizzando un grafico polare per mostrare come apparirebbero gli otto segmenti ogni 5 gradi di rotazione.

A mano:

  • Scarica e stampa l'immagine a piena risoluzione (foto 1).
  • Compila i blocchi per creare la tua immagine (foto 2).
  • Lungo il radiale, partendo da uno 0, calcola il byte usando nero = 1, bianco = 0;

    La prima radiale del cuore è 1, 0, 0, 0, 0, 0, 0, 0, quindi il byte = 0b100000000;

  • Continua finché non hai finito (suggerimento, se la tua immagine è simmetrica, devi fare solo la metà).
  • Incolla i tuoi byte nella sezione "textAndShapes.h" dello schizzo sotto "shape_1" o "shape_2".

Usando Python:

  • Installa Python.
  • Installa la libreria di immagini di Python.
  • Scarica lo script "readGraph.py" allegato.
  • Scarica l'immagine a piena risoluzione (foto 1).
  • Apri l'immagine nel tuo editor preferito (GIMP o MS Paint).
  • Utilizzare il comando "Riempi" con il colore nero selezionato per riempire i segmenti che si desidera illuminare (figura 2).
  • Salva l'immagine nella stessa directory dello script "readGraph.py" e cambia il nome del file nello script in modo che corrisponda:

im = Immagine.open('cuore.png')

Esegui lo script e incolla l'output nella sezione "textAndShapes.h" dello schizzo sotto "shape_1" o "shape_2"

In ogni caso, sentiti libero di condividere la tua creazione (immagine e codice) nei commenti!

Passaggio 14: crediti e considerazioni finali

Crediti e considerazioni finali
Crediti e considerazioni finali

Di certo non mi sono inventato tutto da solo. Non da un colpo lungo.

  • La mia prima esperienza pratica con POV è stata con un progetto di Nick Sayer chiamato POV Twirlie: https://www.tindie.com/products/nsayer/pov-twirlie/. (Io uso anche è l'adattatore pogo).
  • Il pensiero "LED + Fidget spinner = POV" è apparso nel mio cervello dopo aver visto Instructable di Techydiy
  • Ogni volta che hai un'idea fantastica, qualcuno l'ha già realizzata: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. La saldatura a montaggio superficiale è qualcosa che posso fare, ma non proprio adatta ai principianti. Anche il suo codice era un po' sopra la mia testa, ma ho usato le sue idee sulla visualizzazione di RPM e conteggi.
  • Sono stato in grado di comprendere e utilizzare frammenti del codice POV Clock di Reger-men per visualizzare il testo:

Nessun progetto è mai completo o perfetto. Ecco alcuni pensieri che ho andando avanti:

  • Bilancia: le schede tecniche raramente contengono informazioni sul peso dei componenti, quindi è difficile anche fare un'ipotesi plausibile sulla bilancia senza costruirla. La batteria è ovviamente il componente più pesante. Ho aggiunto dei fori su ciascuna estremità in modo da poter aggiungere peso secondo necessità per bilanciarlo.
  • Senso orario? Se l'hai notato, il testo viene visualizzato correttamente solo se giri in senso orario. La rotazione nell'altra direzione crea un'immagine speculare. L'aggiunta di un secondo sensore Hall o magnete ti consentirebbe di derivare la direzione di rotazione (il progetto di Sean ha fatto questo).
  • Colore? L'uso di LED RGB programmabili ti permetterebbe di fare i colori. In genere sono comunque a montaggio superficiale.

Consigliato: