Sommario:

Orologio Word Arcobaleno con Effetto Arcobaleno Completo e Altro: 13 Passaggi (con Immagini)
Orologio Word Arcobaleno con Effetto Arcobaleno Completo e Altro: 13 Passaggi (con Immagini)

Video: Orologio Word Arcobaleno con Effetto Arcobaleno Completo e Altro: 13 Passaggi (con Immagini)

Video: Orologio Word Arcobaleno con Effetto Arcobaleno Completo e Altro: 13 Passaggi (con Immagini)
Video: E SE UN ASTEROIDE COLPISSE ROMA? 2024, Dicembre
Anonim
Orologio con parole arcobaleno con un effetto arcobaleno completo e altro
Orologio con parole arcobaleno con un effetto arcobaleno completo e altro

Obiettivi

1) Semplice

2) Non costoso

3) Il più efficiente possibile dal punto di vista energetico

Rainbow Word Clock con un effetto arcobaleno completo.

Una faccina sull'orologio di parole.

Telecomando IR semplice

Aggiornamento 03-nov-18 LDR per il controllo della luminosità dei Neopixel

Aggiornamento 01-gen-19 Riduzione del consumo energetico del WS2812B.

Aggiornamento 15-gen-19 Smiley.

Aggiornamento 23-gen-19 Codice 1.6

Aggiorna i collegamenti alle biblioteche dal 10 marzo al 19

Aggiornamento 14-apr-19 versione 1.7 Scelta smiley on/off collor rainbow/fix enz.

Ultimo aggiornamento 01-giu-19 versione 2.0 Telecomando IR e riprogettazione del codice

Passaggio 1: la custodia per l'orologio

La custodia per l'orologio
La custodia per l'orologio
La custodia per l'orologio
La custodia per l'orologio
La custodia per l'orologio
La custodia per l'orologio

Con alcuni semplici strumenti e un po' di abilità, non è difficile realizzare un orologio per lettere. Ho usato i materiali a mia disposizione.

Per il caso ho utilizzato una barra di pino grezzo nella quale ho segato alcuni telai. Questi avrebbero fatto i quattro lati della cassa, che sono stati incollati insieme e rinforzati con un piccolo pezzo di legno negli angoli. Quindi il legno ha bisogno di levigatura e verniciatura.

Le lettere sono ritagliate da un foglio da una stampante in scrittura speculare. La lamina si trova sul retro della lastra di vetro ed è ricoperta da una carta a doppio strato per una migliore distribuzione della luce. Il vetro è fissato con sigillante siliconico.

Passaggio 2: Neopixel

Neopixel
Neopixel
Neopixel
Neopixel
Neopixel
Neopixel
Neopixel
Neopixel

I LED Neopixels sono disposti su una piastra di legno. In questa si praticano prima dei fori da 3 mm. Nella parte anteriore sono ingranditi in formato lettera a 3/4 di profondità. Dopodiché i 3 mm sul retro vengono aumentati a 10 mm, questa è la dimensione di un Neopixel. Per alcuni caratteri tra gli altri la W, il foro dovrebbe essere leggermente aggiustato.

Ho usato il compensato che si è scheggiato rapidamente, l'MDF potrebbe essere migliore.

Con i singoli LED non sei vincolato a una distanza fissa, come nel caso delle strisce LED. I LED devono essere collegati tra loro. Puoi farlo con tutti i pezzi corti di filo. Ma le due connessioni minime (-) sono proprio come le due connessioni più (+) collegate internamente, quindi la stessa connessione.

Puoi risparmiare un sacco di lavoro saldando un pezzo di filo al LED sinistro e poi al LED destro. Quindi saldare quelli intermedi.

La connessione dati deve ovviamente con brevi pezzi perché il data-out va a data-in.

Passaggio 3: regolazione del testo anteriore

Regolazione del testo anteriore
Regolazione del testo anteriore
Regolazione del testo anteriore
Regolazione del testo anteriore
Regolazione del testo anteriore
Regolazione del testo anteriore

La targa anteriore è ora in olandese, ma semplicemente da convertire in qualsiasi lingua.

I led NeoPixel vengono commutati in successione qui da 0-167. La numerazione va dalla prima riga in alto a sinistra a destra e poi alla seconda riga da destra a sinistra ecc. La regolazione può essere effettuata secondo le proprie esigenze. Il numero di NeoPixel è determinato dalla quantità di caratteri. Meno o più Neopixel possono essere regolati nella riga seguente

#define NUMPIXELS 168 // Quanti NeoPixel sono collegati ad Arduino?

168 è un altro numero. La numerazione inizia da 0. Puoi creare qualsiasi testo. Se cambi il testo, dovrai anche regolare le parole corrispondenti. La numerazione rimane la stessa.

Ad esempio, DRIE dei verbali, è determinato nel codice

void zetmDrie () {

Led_Aan[56]=1, Led_Aan[57]=1, Led_Aan[58]=1, Led_Aan[59]=1; // min-asciuga

}

Se vuoi creare la parola Arduino allora va così:

void zetArduino () {

Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;

Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; //Parola-arduino

}

Quindi puoi fare le parole in mezzo.

Per le parole orologio è utile se formano una parola contigua ma non è assolutamente necessario. Le lettere inutilizzate non necessitano di Neonpixel. Li ho tutti riempiti per l'uso di possibilità future diverse dal tempo visualizzato.

Se si cambia il punto di partenza o si cambia la sequenza di successione, la numerazione dovrebbe cambiare di conseguenza.

Passaggio 4: effetto arcobaleno completo

Effetto arcobaleno completo
Effetto arcobaleno completo

L'orologio è ora programmato in modo tale che il numero di volte al secondo viene contato quanti neopixsel sono accesi.

Lo spettro totale è circa il numero di diviso e poi leggermente spostato. Di conseguenza, ogni Neopixel ha un colore diverso che cambia continuamente. Neopixel nr 1 e nr 167 si susseguono su alcuni colori coinvolti.

Se preferisci colori meno diversi allo stesso tempo, questo è facile da regolare. Il colore cambia ancora sull'intero spettro ma con una parte più piccola di esso. Neopixel nr 1 e nr 167 non si susseguono più in qualche colore.

La luminosità può essere impostata nella riga seguente, pixels.setBrightness(150);

Un numero minore è minore e un numero maggiore maggiore luminosità.

Passaggio 5: i vari componenti

I vari componenti
I vari componenti
I vari componenti
I vari componenti
I vari componenti
I vari componenti

I seguenti componenti che ho usato

Arduino Pro Mini ATMEGA328 5V/16MHz

Modulo orologio DS3231

168 pezzi Neopixel led WS2812 Chip LED e dissipatore di calore 5V 5050 RGB WS2811 IC integrato

Stencil per lettere in lamina

Ricevitore DCF77

Passaggio 6: codice per l'orologio

Ecco il codice. Aggiunto un controllo della luminosità e spegnimento quando nessuno è presente e di notte.

Aggiunto sensore di movimento a microonde radar RCWL-0516 (cerca RADAR)

Dopo 10 minuti di inattività, i NeoPixel si spengono.

Informazioni sulla versione 2.0

L'utilizzo della memoria era eccessivo, con avvisi di memoria esaurita nel compilatore. Per questo ho cambiato completamente il codice, ma il funzionamento è rimasto lo stesso ed è stato aggiunto un ricevitore IR.

C'è un pezzo di codice per fornire i dati alla EEPROM. Eseguilo una volta rimuovendo temporaneamente / * e * /. Cerca => eseguilo una volta per fornire i dati alla EEPROM

All'inizio del ciclo void c'è il codice per leggere il codice dal tuo telecomando. Puoi eseguirlo rimuovendo temporaneamente / * e * /, non dimenticare di rimetterli in seguito. Puoi anche definire i tuoi pulsanti. Il codice letto deve essere inserito in => Definisci qui i tuoi pulsanti

Il telecomando Samsung funziona meglio del semplice (molto economico).

Passaggio 7: la descrizione dell'hardware

La descrizione dell'hardware
La descrizione dell'hardware
La descrizione dell'hardware
La descrizione dell'hardware
La descrizione dell'hardware
La descrizione dell'hardware

Esistono diverse versioni di Arduino Pro Mini. Si prega di notare che le connessioni potrebbero differire.

Aggiunto un sensore di movimento a microonde RCWL-0516.

Finché c'è movimento nelle vicinanze dell'orologio, i NeoPixel rimangono accesi

e non appena non c'è più movimento i NeoPixel si spengono dopo pochi minuti.

Nella versione 2.0 il ricevitore DCF77 è alimentato tramite il pin 13. Questo pin è definito come output e impostato su alto quando viene indirizzata la routine DCF77. Il ricevitore DCF77 utilizza 0,28 mA ed è necessario solo per pochi minuti al giorno.

Spegnimento salva

5 Volt * 0,28 mA / 1000 * 24 ore * 365 giorni * 1 / 0,85 efficienza di alimentazione = 14,4 watt all'anno.

Questo non sembra molto, ma ogni cosa aiuta.

Passaggio 8: LDR per il controllo della luminosità dei Neopixel

LDR per il controllo della luminosità dei Neopixel
LDR per il controllo della luminosità dei Neopixel
LDR per il controllo della luminosità dei Neopixel
LDR per il controllo della luminosità dei Neopixel

Aggiunto un LDR per il controllo della luminosità dei neopixel.

Ho incollato l'LDR nello spazio del neopixel 103. Questo non viene utilizzato nella visualizzazione del tempo e quindi non influenza la regolazione. La carta smorza la luce incidente, ma questo non è un problema.

Il partitore di tensione di LDR e resistenza da 20 kohm va ad A0 dell'Arduino Pro Mini. Il voltaggio è un indicatore dell'intensità della luce e quindi anche un indicatore della quantità di luce che i neopixel devono dare.

La formula che uso mi dà un buon controllo della luce, può essere regolata a seconda delle circostanze. A seconda della quantità di luce, la tensione può variare tra 0 e 5 volt che viene convertita da 0 a 1024 conteggi che sono in "LDRValue".

Se il nuovo valore misurato è maggiore dell'ultimo valore calcolato, l'intensità viene aumentata di 1, se è inferiore a quella decrementata di 1 e se è uguale non si fa nulla. Per fare in modo che il valore proceda lentamente, in modo che non vi sia alcun effetto di lampeggio, viene aumentato o diminuito solo 1 e poiché il calcolo è nel loop viene ricalcolato solo dopo aver attraversato il loop 25 volte.

L'intensità è teoricamente un minimo di 20 e un massimo di 1024/7 + 45 = 191. Il valore massimo che ho misurato era 902, che equivale a un'intensità di 173. Questo si adatta bene al 150 che ho impostato come valore predefinito. (vedi pixels.setBrightness(150))

Nella versione 2.0 è possibile impostare il controllo tramite telecomando. Sono stati aggiunti i seguenti parametri: Brightness_min come minimo e Brightness_max come impostazione massima e Brightness_Offset come parametro di impostazione. Brightness_min e _max sono i valori che possono dipendere dalla tua situazione. Brightness_Offset è un valore impostabile con il telecomando e con il quale si può impostare più o meno luminosità.

Esiste anche una banda morta di 3 tra i valori LDRValue misurati e BerLDRValue calcolati.

Utilizzare le istruzioni di stampa nel BrightnessControl void per controllare l'impostazione della luminosità.

Passaggio 9: riduzione del consumo energetico del WS2812B

Riduzione del consumo energetico del WS2812B
Riduzione del consumo energetico del WS2812B

I driver sui neopixel indirizzabili WS2812B assorbono corrente anche quando i neopixel sono spenti, impostati sul colore 0 (nessun elemento neopixel acceso).

Quando tutti i 169 neopixel sono esauriti, misuro 69 mA ai neopixel. Supponendo che l'orologio sia spento 12 ore al giorno, lo spegnimento totale salva: 5 (Volt di alimentazione) * 69/1000 (Miliampere / 1000 = Ampere) * 12 (Numero di ore al giorno) * 365 (Numero di giorni in un anno) = 1511 Wattora. Quindi su base annua 1,5 Kwh. Sono d'accordo, non è molto in sé, ma molti piccoli ne fanno uno grande.

Il circuito è semplice. Il vantaggio dell'alimentazione è commutato da un MosFet a canale P. Il sensore radar determina se i neopixel sono accesi o spenti. Ho messo due paralleli MosFet per mantenere la resistenza ON il più bassa possibile a causa della perdita dei MosFet. Nell'uso normale misuro 4, 5 mili volt sui MosFet. Il gate è controllato dall'uscita 4 dell'Arduino tramite un resistore da 470 Kohm. Se l'uscita diventa digitale bassa (0), i neopixel sono accesi e alta (1) sono spenti.

Passaggio 10: faccina sul Word Clock

Faccina sul Word Clock
Faccina sul Word Clock
Faccina sul Word Clock
Faccina sul Word Clock

Una faccina sull'orologio di parole.

Di tanto in tanto appare uno Smiley sull'orologio. Tuttavia, questo ti rende felice.

Lo Smiley viene attivato dal sensore radar. Il numero di movimenti (regolabile) è una misura dell'aspetto dello Smiley. I segni % indicano che è stato rilevato un movimento. Con ogni decimo movimento (regolabile), lo Smiley esce con una Winky Face e dopo tre volte una Winky Face arriva la quarta volta una Smiley Face che tira fuori la lingua.

Lo Smiley è un piccolo cambiamento nel codice.

Passaggio 11: quali librerie vengono utilizzate

Quali biblioteche vengono utilizzate.

Li uso in Windows 7 con Arduino IDE 1.6 e sono stati testati anche in Windows 10 con Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Libreria IRremote di Ken Shirriff

Poiché c'è sempre confusione sulla libreria utilizzata, aggiungo quella che uso.

La libreria IRremote utilizza molta memoria. In IRremote.h è indicato che è possibile disabilitare qualsiasi protocollo non utilizzato

// Ogni protocollo che includi costa memoria e, durante la decodifica, costa tempo// Disabilita (imposta a 0) tutti i protocolli che non ti servono/vuoi!

Ho tutto disabilitato tranne il protocollo NEC e Samsung. Questo dà un risparmio di memoria del 10%. Al momento non c'è più un problema con la quantità di memoria, quindi per il momento la disabilitazione non è necessaria.

Passaggio 12: telecomando IR semplice

Telecomando IR semplice
Telecomando IR semplice
Telecomando IR semplice
Telecomando IR semplice
Telecomando IR semplice
Telecomando IR semplice

L'assemblea

Come potete vedere dalle foto, il foro per il LED 132 si è rivelato un po' troppo grande. Ne ho fatto buon uso e ho aggiunto il ricevitore IR. Collegare il pin dati del ricevitore IR VS1838 al pin 7 di Arduino. Collegare inoltre l'alimentatore positivo e negativo. Il ricevitore IR utilizza 0,21 mA e potrebbe anche essere collegato all'alimentatore Plus dopo l'interruttore FET. Ciò si traduce in un risparmio, se l'orologio è acceso il 50% del tempo, di 5 Volt * 0,21 mA / 1000 * 12 ore * 365 giorni * 1 / 0,85 efficienza di alimentazione = 5,4 watt all'anno. Questo non sembra molto, ma ogni cosa aiuta.

Il funzionamento è il seguente

Premere un tasto qualsiasi sul telecomando IR e poi il tasto OK. La prima volta che premi, finirai nell'elaborazione IR e la seconda volta rileverai se si trattava di una richiesta giustificata. La seconda volta OK deve seguire velocemente la prima pressione del tasto perché altrimenti si torna indietro. Ho realizzato questa costruzione in modo che difficilmente riuscissi a decodificare correttamente il primo codice e quindi non finissi nella gestione IR.

Una volta nella gestione IR, si accendono alcuni LED per informazioni, per ulteriori spiegazioni leggere e visualizzare la prima immagine.

La descrizione è per il telecomando semplice ma è possibile utilizzare qualsiasi telecomando e definire le proprie chiavi. Ho anche usato un telecomando Samsung.

I primi quattro tasti corrispondono alle prime quattro righe di LED. Quattro LED ruotano a sinistra oa destra a seconda dell'impostazione. Premendo i tasti da 1 a 4 lo stato viene invertito e memorizzato.

1 colore fisso o effetto arcobaleno

2 secondi di flash spento o secondo flash acceso

3 faccine spente faccine accese

4 DCF77 spento o DCF77 acceso

Il numero della chiave viene visualizzato sui seguenti tasti

5 contafaccine

6 larghezza dello spettro arcobaleno

7 fissa l'impostazione rossa

8 impostazioni verdi fisse

9 fissa l'impostazione blu

Le righe 6, 7 e 8 dei LED corrispondono ora al valore impostato, la riga 6 indica le unità, la riga 7 le decine e la riga 8 le centinaia. Ogni riga inizia con il valore zero. Quindi il primo led della riga è 0 il secondo è 1 ecc.

0 impostazione dell'ora

/\ impostazione luminosità

Premendo il tasto 0 si accendono i "dieci" led per indicare che si vuole impostare l'ora e premendo una seconda volta 0 sul display compare l'ora impostata.

L'ora può essere ora impostata e viene visualizzata sul display.

Impostare l'ora corretta e quindi se i minuti sono gli stessi su un orologio di riferimento, premere il pulsante OK.

Il tempo è regolato.

Se non si aziona il pulsante dei minuti o delle ore, non verrà apportata alcuna modifica all'ora. Se li premi, l'ora verrà impostata immediatamente.

Il valore dei tasti da 5 a 9 può essere modificato con i tasti

a destra è più 1

sinistra è meno 1

avanti è più 10

il contrario è meno 10.

e per l'impostazione dell'ora

a destra è più 1 minuto

a sinistra è meno 1 minuto

avanti è più 1 ora

il contrario è meno 1 ora

A volte capita che la pressione del tasto non venga riconosciuta o venga eseguita due volte. Quindi fate attenzione se l'impostazione va bene altrimenti provate o correggete ancora. Il telecomando Samsung che ho anche testato ha funzionato molte volte meglio del semplice telecomando (molto economico).

Quando si imposta il colore si vede il cambiamento direttamente sull'intero display. Per un sito con una panoramica dei colori vedere https://www.helderester.nl/kleurentabel.html. Ovviamente puoi impostare qualsiasi valore.

Se la larghezza dello spettro arcobaleno ha un valore di 0, lo spettro è molto stretto e il display ha un colore che cambia costantemente.

Lo svantaggio di impostare l'ora in questo modo è che non è possibile calcolare una transizione estate / inverno perché abbiamo la data errata. Non importa per l'orologio stesso perché non lo usiamo ora.

Passaggio 13: cosa succederà?

Quali sono i prossimi?
Quali sono i prossimi?

Quello che segue, suono, se la memoria libera è ancora sufficiente.

Ho già le casse acustiche. Provengono da un vecchio portatile.

Consigliato: