Sommario:

Display del misuratore a parete: 4 passaggi (con immagini)
Display del misuratore a parete: 4 passaggi (con immagini)

Video: Display del misuratore a parete: 4 passaggi (con immagini)

Video: Display del misuratore a parete: 4 passaggi (con immagini)
Video: Misuratore di frame per proiettore con display e sensore SFH309 e Arduino - Video 720 2024, Dicembre
Anonim
Image
Image
Concetto
Concetto

Ho comprato un orologio da tasca economico da eBay pensando che sarebbe stato un interessante oggetto di novità. Si è scoperto che il contatore che avevo comprato non era adatto, ma a quel punto mi ero impegnato a produrre qualcosa che sarebbe stato appeso a un muro e sarebbe stato un punto di discussione.

Il centro del display è un amperometro analogico che è alimentato da un condensatore carico che si scarica attraverso il misuratore animando l'ago della lancetta nel farlo.

Un display a LED rispecchia il movimento del puntatore fornendo un display accattivante.

Il tutto è controllato da un microprocessore Atmel 328, sviluppato direttamente su Arduino Uno, che misura gli attuali livelli di luce nella stanza, e fa scattare in modo casuale il display, il tutto alimentato da tre batterie AA.

Forniture

Arduino Uno con processore Atmel 328…vedi resto del testo

Selezione di LED, rosso, verde e giallo con uno bianco

7 x 330R resistori

1 x LDR

1 condensatore da 220uF

1 x 220R resistore

2 resistenze da 10k

1 x diodo raddrizzatore

Un amperometro adeguatamente vecchio, tipicamente 100uA fondo scala

Passaggio 1: concetto

Concetto
Concetto
Concetto
Concetto
Concetto
Concetto

Le immagini raccontano una breve storia, il misuratore originale è stato progettato per l'uso su radio a valvole e richiedeva oltre 100 mA e non poteva essere gestito da un Arduino. Queste sono le prime idee per il layout del display. Alla fine ho smontato il contatore con l'intenzione di sostituire il meccanismo, non molto riuscito.

Alla fine ho preso in mano un vecchio voltmetro con meccanismo da 100uA, perfetto.

Passaggio 2: il circuito

Il circuito
Il circuito
Il circuito
Il circuito

La build originale utilizzava un Arduino per collegare i bit in quello che è un sistema abbastanza semplice. Sei pin digitali pilotano i LED colorati tramite resistori 330R.

Un pin digitale viene utilizzato per alimentare il partitore di tensione LDR, la tensione viene misurata su uno dei pin ADC e utilizzata per stimare l'attuale livello di luce e l'ora del giorno.

Un pin digitale viene utilizzato per caricare il condensatore tramite un diodo e un resistore 220R.

Il misuratore è collegato ai capi del condensatore tramite un resistore da 10k. Potrebbe essere necessario modificare questo valore a seconda della misurazione di fondo scala sull'amperometro utilizzato.

Ho anche cablato un pulsante di reset, da montare a lato della vetrina.

Infine, viene effettuato un ulteriore collegamento dall'anodo di uno dei LED per fornire un riferimento di tensione per verificare il livello di tensione della batteria. Questo circuito non ha mai avuto molto successo e lo cambierò con un semplice partitore di tensione la prossima volta che le batterie si scaricheranno e il display sarà staccato dal muro.

Passaggio 3: implementazione

Implementazione
Implementazione
Implementazione
Implementazione
Implementazione
Implementazione
Implementazione
Implementazione

Far funzionare il display a batterie usando un Arduino Uno non era pratico, il consumo di corrente sarebbe troppo alto dato che gran parte della scheda è sempre attiva e volevo che il display rimanesse su una parete intatto per almeno sei mesi a un tempo.

Per ridurre il consumo di corrente, i circuiti del display sono stati sviluppati con un Arduino e una breadboard, i circuiti trasferiti sulla scheda matrice e quindi il processore finalmente programmato rimosso dall'Arduino e inserito in uno zoccolo su un piccolo pezzo di scheda matrice, insieme all'xtal, e uniti con cavo a nastro.

Alla fine, il display funziona per ben 12 mesi con un set di batterie.

Un trucco utile è sostituire il processore Atmel in un Arduino Uno con un socket ZIF, questo si adatta bene, e quindi reinserire il processore. Una volta che il progetto è pronto, il processore è già programmato e deve solo essere rimosso e inserito in uno zoccolo sulla scheda finale. Quando compro processori vuoti, passo un'ora a mettere i boot loader su tutti loro in modo che siano pronti per l'uso in qualsiasi momento.

Passaggio 4: il codice

Come si può immaginare, il codice per eseguire il display di base non è molto complicato, ma l'area chiave è la riduzione del consumo energetico. Ci sono due approcci a questo, uno è quello di eseguire il display solo quando è probabile che qualcuno lo vedrà, e in secondo luogo di ridurre al minimo il consumo energetico dei circuiti.

Il programma deve avere le librerie Narcoleptic installate prima della compilazione.

Tutti i ritardi del sistema sono implementati utilizzando la libreria narcoleptic per la modalità full low power del processore, con un consumo energetico misurato in pochi nanoampere.

Il processore dorme per quattro secondi alla volta e, al risveglio, esegue una routine casuale per determinare se il sistema si riattiverà. In caso contrario, il sistema resta inattivo per altri quattro secondi.

Se la routine casuale è vera, viene attivato il circuito LDR e viene eseguita una misurazione del livello di luce. Il circuito LDR viene disattivato subito dopo per risparmiare energia.

Il sistema funziona su quattro periodi di tempo stimati.

  • La notte - è molto buia e nessuno sta a guardare - non fare nulla e torna a dormire
  • Mattina presto - nella prima parte è improbabile che ci siano osservatori, ma mantieni le statistiche come se fossero diurne
  • Giorno - ci possono essere osservatori, ma attiva solo il misuratore analogico, non i LED
  • Sera - è probabile che ci saranno osservatori, quindi attiva il display completo

Il sistema stima che la lunghezza del giorno cambierà con le stagioni, quindi la sera viene estesa a quella che altrimenti sarebbe notte poiché la lunghezza dei giorni è più breve, ma quando è probabile che gli osservatori siano ancora presenti.

Se l'ora del giorno è appropriata, un'uscita digitale viene utilizzata per caricare il condensatore e quindi disattivata. Con un display solo analogico, il sistema torna a dormire con tutte le uscite spente e il condensatore si scarica attraverso il contatore la cui lancetta, che era passata a fondo scala, torna a zero.

Con il display a LED attivo, il sistema misura la tensione sul condensatore e presenta un display a luci di marcia in base alla tensione misurata fino a quando non scende al di sotto di una soglia quando il sistema dorme.

Una seconda selezione casuale avviene verso la fine del display per determinare se il display verrà ripetuto o meno, fornendo maggiore interesse per l'osservatore.

Un LED bianco viene attivato per illuminare la faccia del misuratore quando lo spettacolo LED è attivo.

La libreria narcoleptic di Peter Knight, mette il processore in una modalità di sospensione completa in cui le uscite rimarranno nello stato in cui erano entrando in sospensione, ma tutti gli orologi interni si fermano tranne il timer di sospensione che è limitato a quattro secondi. Questo può essere testato in un Arduino ma a causa del LED di alimentazione Arduino e dei circuiti USB non si ottiene lo stesso risparmio energetico.

Il sistema contiene ancora un codice che doveva tenere conto della diminuzione della capacità delle batterie, ma questo non si è rivelato utile. La prossima volta che sarà fuori dal muro, cambierò il programma per fornire una sorta di stato della batteria tramite i LED o l'amperometro.

La versione finale ha un pulsante di ripristino montato sul lato della vetrina. Il motivo principale è consentire dimostrazioni ai visitatori in modo che il sistema esegua la sua routine di base 10 volte dopo il ripristino prima di tornare alla sua normale routine casuale.

Consigliato: