Sommario:

Orologio ad alta velocità per video al rallentatore: 4 passaggi
Orologio ad alta velocità per video al rallentatore: 4 passaggi

Video: Orologio ad alta velocità per video al rallentatore: 4 passaggi

Video: Orologio ad alta velocità per video al rallentatore: 4 passaggi
Video: 1000 fps con QUALSIASI fotocamera! Come fare un SUPER SLOWMOTION con Premier 2024, Luglio
Anonim
Image
Image
Materiali
Materiali

Quasi tutti coloro che dispongono di uno smartphone moderno hanno una fotocamera ad alta velocità che può essere utilizzata per realizzare video spettacolari al rallentatore. Ma se vuoi misurare quanto tempo impiega effettivamente quella bolla di sapone per scoppiare o quell'anguria per esplodere, potresti trovare difficile visualizzare il tempo sui tuoi video: un cronometro ha un display molto piccolo e ha una precisione di solo 1/100 di secondo. Se vuoi fare misurazioni quantitative, ho scoperto che il frame-rate pubblicato di una fotocamera non è qualcosa su cui puoi fare affidamento!

Fortunatamente, è davvero facile costruire un orologio con precisione ms e cifre grandi e luminose utilizzando un Arduino e un display a 7 segmenti a 4 cifre. Inoltre, i 12 pin di un display standard da 0,56 pollici corrispondono esattamente alla disposizione dei pin di Arduino Nano e possono essere direttamente saldati su di esso.

Non c'è avvio/arresto/reset su questo timer. Inizia a funzionare quando lo accendi e trabocca dopo 10 secondi. L'idea è che per misurare la durata di un certo processo, misuriamo comunque la differenza di tempo tra la fine e l'inizio.

Passaggio 1: materiali

  • Un Arduino Nano, senza le intestazioni saldate su di esso.
  • Un display a 7 segmenti da 0,56 pollici a 4 cifre. Sia l'anodo comune che il catodo comune sono OK

Nel caso in cui desideri inserirlo in una scatola robusta e funzionare a batteria con 2 batterie AA, aggiungi:

  • Una scatola elettronica per progetti 60x100x25
  • Un portabatterie 2xAA
  • Un modulo step-up
  • Un interruttore a bilanciere on/off 10x15mm

Strumenti richiesti

Saldatore

Per montarlo in una scatola:

  • Un utensile rotante per tagliare i fori per il display e l'interruttore
  • Lime manuali per rifinire i fori
  • Una pistola per colla a caldo per fissare i componenti in posizione.

Passaggio 2: collegamento di Arduino al display

Collegamento di Arduino al display
Collegamento di Arduino al display

Sorprendentemente, i pin di un display standard a 7 segmenti a 4 cifre corrispondono al layout di un Arduino Nano in modo tale che tutti i 12 pin del display si colleghino ai pin IO dell'Arduino. Questo permette di saldare il display direttamente su Arduino senza bisogno di PCB, connettori o cavi.

Saldare i pin inferiori del display (riconoscibili dai punti decimali e dalla stampa) ai pin analogici A0-A5. Saldare i pin superiori del display ai pin digitali D4-D9.

I LED rossi hanno una caduta di tensione di soli 2 V, quindi collegarli a 5 V di solito non è una buona idea e di solito viene applicato un resistore in serie per limitare la corrente. Tuttavia, forse a causa dell'interlacciamento, ho scoperto che funziona bene senza resistori in serie. In caso contrario, ecco un'istruzione dettagliata su come aggiungere resistori in serie direttamente su Arduino Nano

Passaggio 3: il codice

Il codice
Il codice

Carica lo schizzo allegato su Arduino Nano. Il codice attuale è per un display ad anodo comune, ma le righe per il catodo comune possono essere decommentate.

Una volta caricato il codice, il timer dovrebbe iniziare a funzionare ogni volta che viene avviato Arduino. Potresti fermarti qui o vedere nella prossima sezione un esempio di come montarlo in una scatola robusta e farlo funzionare a batteria.

Alcuni commenti sul codice:

Il tempo è preso dalle funzioni micro(), invece della funzione millis(), per due buoni motivi: L'implementazione Arduino di millis() è terribile: incrementano ogni 1.024 ms, e poi ogni tanto viene saltato un millisecondo compensare! Non tutti gli Arduino hanno cristalli ad alta precisione. Se trovi che sei fuori di più di un permille, puoi regolare il divisore nella riga "unsigned long t=micros()/1000;" per far andare più veloce o più lento l'orologio.

Le cifre sono intercalate, il che significa che solo una cifra è accesa in un determinato momento. Quando si modificano i segmenti di una cifra, tutte le cifre sono disattivate, in modo che nessuna cifra spazzatura venga mostrata in qualsiasi momento. Ho misurato la frequenza di aggiornamento delle cifre a 750 microsecondi, quindi ogni cifra viene aggiornata almeno una volta ogni millisecondo!

Non ho ottimizzato seriamente l'orologio per la velocità, poiché la velocità attuale è abbastanza buona per visualizzare i millisecondi. Penso che si potrebbe fare in modo che Arduino mostri due cifre in più (corrispondenti ai 100 e 10 microsecondi), ma richiederebbe

  • Disabilitare gli interrupt e utilizzare direttamente i timer
  • Manipolazione diretta delle porte
  • Collegamento di tutti i segmenti a una singola porta e le cifre a un'altra porta
  • Evita il calcolo esplicito dei valori delle cifre, ma usa invece gli incrementi (le operazioni di divisione e modulo sono lente)

Se potessi mettere una mano su una fotocamera al rallentatore con> 1000 fps potrei fare un tentativo, per ora sono soddisfatto della precisione di ms.

Passaggio 4: montarlo in una scatola

Montaggio in una scatola
Montaggio in una scatola
Montaggio in una scatola
Montaggio in una scatola
Montaggio in una scatola
Montaggio in una scatola

Un'economica scatola elettronica per progetti 100x60x25mm, non impermeabile, si adatta facilmente a questo timer, insieme a batterie, un modulo step-up e un interruttore on/off. Per il funzionamento a batteria, una combinazione di 2 batterie AA con un modulo step-up fornirà ad Arduino una tensione di 5V sicura e stabile. Mettendo un interruttore di accensione/spegnimento direttamente sulla batteria (invece che sull'uscita dell'elevatore), le batterie non risentono di perdite dal modulo accumulatore e possono durare anni, se utilizzate sporadicamente.

Il modulo step-up che ho usato aveva un connettore USB femmina, che ho rimosso con le pinze, per poter saldare i fili all'uscita. In alternativa, è possibile utilizzare uno step-up regolabile e impostarlo su un'uscita a 5V.

Inizia ritagliando i due fori che corrispondono al display e all'interruttore di accensione/spegnimento. Ho disegnato con una matita i fori approssimativi, poi ho ritagliato i fori un po' troppo piccoli con uno strumento rotante, e poi li ho limati con lime a mano alla dimensione esattamente corrispondente.

Tagliare parte del cavo flessibile rosso e nero multifilare dalla scatola della batteria e collegarli al modulo elevatore, con il positivo o il negativo interrotto da un interruttore on/off. Quindi dal modulo step-up direttamente al GND e al +5V o all'Arduino.

Ho usato la colla a caldo per mantenere tutti gli elementi in posizione: la scatola della batteria, il modulo step-up e intorno ai lati del display.

Il risultato finale è un timer in una scatola robusta con un'operazione semplicissima!

Consigliato: