Come configurare smartphone e PC. Portale informativo
  • casa
  • Windows Phone
  • Grande orologio elettronico fai-da-te. Orologio fai da te con indicazione LED

Grande orologio elettronico fai-da-te. Orologio fai da te con indicazione LED

Come suggerisce il nome, lo scopo principale di questo dispositivo è scoprire l'ora e la data correnti. Ma ha molte altre funzioni utili. L'idea della sua creazione è nata dopo che mi sono imbattuto in un orologio mezzo rotto con una cassa in metallo relativamente grande (per un polso). Ho pensato di poter inserire lì un orologio fatto in casa, le cui possibilità sono limitate solo dalla mia immaginazione e abilità. Di conseguenza, è apparso un dispositivo con le seguenti funzioni:

1. Orologio - calendario:

    Conto alla rovescia e visualizzazione sull'indicatore di ore, minuti, secondi, giorno della settimana, giorno, mese, anno.

    Disponibilità di correzione automatica dell'ora corrente, che viene eseguita ogni ora (valori massimi +/- 9999 unità, 1 unità = 3.90625 ms.)

    Calcolo del giorno della settimana per data (per il secolo corrente)

    Passaggio automatico all'ora legale e all'ora solare (commutabile)

  • Gli anni bisestili vengono presi in considerazione

2. Due allarmi indipendenti (una melodia suona quando viene attivato)
3. Timer con una discrezione di 1 sec. (Tempo massimo di conto alla rovescia 99h 59m 59s)
4. Un cronometro a due canali con una velocità di conteggio di 0,01 sec. (tempo massimo di conteggio 99h 59m 59s)
5. Cronometro con velocità di conteggio di 1 secondo. (tempo massimo di conteggio 99 giorni)
6. Termometro nell'intervallo -5 ° С. fino a 55 ° (limitato dall'intervallo di temperatura del normale funzionamento del dispositivo) con incrementi di 0,1 ° С.
7. Lettore ed emulatore di chiavi elettroniche - tablet del tipo DS1990 che utilizzano il protocollo Dallas 1-Wire (memoria per 50 pezzi, in cui sono già presenti diverse "chiavi fuoristrada" universali con la possibilità di visualizzare il byte del codice della chiave .
8. Telecomando IR (è implementato solo il comando "Scatta una foto") per fotocamere digitali "Pentax", "Nikon", "Canon"
9. Torcia a LED
10.7 melodie
11. Segnale acustico all'inizio di ogni ora (commutabile)
12. Conferma sonora della pressione dei pulsanti (commutabile)
13. Monitoraggio della tensione della batteria con funzione di calibrazione
14. Regolazione digitale della luminosità dell'indicatore

Forse questa funzionalità è ridondante, ma mi piacciono le cose universali, beh, oltre alla soddisfazione morale che questo orologio sarà fatto a mano.

Schema schematico dell'orologio

Il dispositivo è basato sul microcontrollore ATmega168PA-AU. L'orologio sta ticchettando secondo il timer T2, che opera in modalità asincrona dal quarzo dell'orologio a 32768 Hz. Il microcontrollore è quasi sempre in modalità di sospensione (l'indicatore è spento), si sveglia una volta al secondo per aggiungere questo secondo all'ora corrente e si riaddormenta. In modalità attiva, l'MC è sincronizzato dall'oscillatore RC interno a 8 MHz, ma il prescaler interno lo divide per 2, di conseguenza, il core ha un clock da 4 MHz. Per l'indicazione, vengono utilizzati quattro indicatori digitali a sette segmenti a LED a una cifra con un anodo comune e un punto decimale. Sono inoltre presenti 7 LED di stato, il cui scopo è il seguente:
D1- Segno di valore negativo (meno)
D2- Segno di un cronometro in corsa (lampeggiante)
D3- Segno della prima sveglia inclusa
D4- Segno della seconda sveglia inclusa
D5- Segnale di segnalazione sonora all'inizio di ogni ora
D6- Segnale di un timer in esecuzione (lampeggiante)
D7- Segno di bassa tensione della batteria

R1-R8 - resistori di limitazione di corrente di segmenti di indicatori digitali HG1-HG4 e LED D1-D7. R12, R13 - divisore per il controllo della tensione della batteria. Poiché la tensione di alimentazione dell'orologio è di 3V e il LED bianco D9 necessita di circa 3,4-3,8V al consumo di corrente nominale, non si accende a piena potenza (ma è sufficiente non inciampare al buio) e quindi è collegato senza un resistore limitatore di corrente. Gli elementi R14, Q1, R10 sono progettati per controllare il LED a infrarossi D8 (implementazione del telecomando per fotocamere digitali). R19, ​​​​R20, R21 vengono utilizzati per l'interfacciamento durante la comunicazione con dispositivi che dispongono di un'interfaccia 1-Wire. Il controllo viene eseguito da tre pulsanti, che ho chiamato condizionalmente: MODE (modalità), SU (su), GI (giù). Il primo è anche progettato per svegliare l'MC da un interrupt esterno (mentre l'indicazione si accende), quindi è collegato separatamente all'ingresso PD3. La pressione del resto dei pulsanti viene determinata utilizzando l'ADC e i resistori R16, R18. Se i pulsanti non vengono premuti entro 16 secondi, il MK si addormenta e l'indicatore si spegne. Quando in modalità "Telecomando per telecamere" questo intervallo è di 32 secondi, e con la torcia accesa, 1 minuto. Anche MK può essere messo a dormire manualmente usando i pulsanti di controllo. Quando il cronometro è in funzione con una velocità di conteggio di 0,01 sec. il dispositivo non entra in modalità di sospensione.

Scheda a circuito stampato

Il dispositivo è assemblato su un circuito stampato di forma rotonda a doppia faccia per adattarsi al diametro interno di una cassa di un orologio da polso. Ma nella produzione ho usato due tavole a un lato con uno spessore di 0,35 mm. Questo spessore è stato nuovamente ottenuto pelando da una fibra di vetro a doppia faccia con uno spessore di 1,5 mm. Poi ha incollato le tavole. Tutto questo è stato fatto perché non avevo una sottile fibra di vetro a doppia faccia, e ogni millimetro di spessore risparmiato nello spazio interno limitato della cassa dell'orologio è molto prezioso, e non c'era bisogno di combinarlo nella produzione di conduttori stampati usando il metodo LUT. Il disegno del PCB e la posizione delle parti sono nei file allegati. Da un lato ci sono indicatori e resistori limitatori di corrente R1-R8. Sul retro - tutti gli altri dettagli. Sono presenti due fori passanti per LED bianchi e infrarossi.

I contatti dei pulsanti e del portabatterie sono realizzati in lamiera d'acciaio flessibile ed elastica con uno spessore di 0,2 ... 0,3 mm. e stagnato. Di seguito sono riportate le foto del tabellone da entrambi i lati:

Costruzione, parti e loro eventuale sostituzione

Il microcontrollore ATmega168PA-AU può essere sostituito con ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Indicatori digitali - 4 pezzi KPSA02-105 colore rosso super brillante con un'altezza di 5,08 mm. Possono essere forniti dalla stessa serie KPSA02-xxx o KCSA02-xxx. (solo non verdi - brilleranno debolmente) Non conosco altri analoghi di dimensioni simili con una luminosità decente. In HG1, HG3, la connessione catodica dei segmenti differisce da HG2, HG4, perché era più conveniente per me disporre il circuito stampato. A questo proposito, nel programma viene utilizzata una diversa tabella del generatore di caratteri. Resistori e condensatori usati SMD per montaggio superficiale di dimensioni standard 0805 e 1206, LED D1-D7 di dimensioni standard 0805. LED bianchi e infrarossi con un diametro di 3 mm. La scheda ha 13 fori passanti in cui è necessario installare i ponticelli. Come sensore di temperatura è stato utilizzato un DS18B20 con interfaccia 1-Wire. LS1 è un sirena piezoelettrico convenzionale che si inserisce nel coperchio. Con un contatto si collega alla scheda con l'aiuto di una molla installata su di essa, con l'altro si collega alla cassa dell'orologio tramite il coperchio stesso. Risonatore al quarzo di un orologio da polso.

Programmazione, firmware, fusibili

Per la programmazione in-circuit, la scheda ha solo 6 pin di contatto rotondi (J1), poiché un connettore a tutti gli effetti non si adatta all'altezza. Li ho collegati al programmatore tramite un dispositivo di contatto costituito da un pin plug PLD2x3 e saldato su di essi con delle molle, premendoli con una mano sui punti. Di seguito una foto del dispositivo.

L'ho usato perché durante il processo di debug ho dovuto eseguire il reflash dell'MK molte volte. Con un firmware unico, è più facile saldare i fili sottili collegati al programmatore alle patch e quindi dissaldare di nuovo. È più conveniente eseguire il flashing di MK senza batteria, ma in modo che l'alimentazione provenga da una sorgente esterna + 3V o da un programmatore con la stessa tensione di alimentazione. Il programma è scritto in assembler in ambiente VMLAB 3.15. Codici sorgente, firmware per FLASH e EEPROM nell'applicazione.

I bit FUSE del microcontrollore DD1 devono essere programmati come segue:
CKSEL3 ... 0 = 0010 - clock dall'oscillatore RC interno 8 MHz;
SUT1 ... 0 = 10 - Tempo di avvio: 6 CK + 64 ms;
CKDIV8 = 1 - il divisore di frequenza per 8 è disabilitato;
CKOUT = 1 - Output Clock su CKOUT è disabilitato;
BODLEVEL2… 0 = 111 - il controllo della tensione di alimentazione è disabilitato;
EESAVE = 0 - è vietata la cancellazione della EEPROM durante la programmazione del chip;
WDTON = 1 - Nessuna attivazione costante del Watchdog Timer;
È meglio non toccare il resto dei bit FUSE. FUSE – il bit è programmato se impostato a “0”.

Necessario il flashing della EEPROM con il dump racchiuso nell'archivio.

Le prime celle EEPROM contengono i parametri iniziali del dispositivo. La tabella seguente descrive lo scopo di alcuni di essi, che può essere modificato entro limiti ragionevoli.

Indirizzo cellulare

Appuntamento

Parametro

Nota

La quantità di tensione della batteria alla quale si verifica un segnale di batteria scarica

260 ($ 104) (2.6V)

coefficiente di correzione del valore della tensione di batteria misurata

intervallo di tempo per il passaggio alla modalità di sospensione

1 unità = 1 sec

intervallo di tempo per il passaggio alla modalità di sospensione quando la torcia è accesa

1 unità = 1 sec

intervallo di tempo per il passaggio alla modalità di sospensione quando si è in modalità di controllo remoto per le telecamere

1 unità = 1 sec

Qui è dove vengono memorizzati i numeri di chiave IButton.

Piccole spiegazioni per i punti:

1 punto. Qui viene indicato il valore della tensione sulla batteria, al quale si accenderà il led, segnalandone il valore basso. L'ho impostato su 2,6 V (parametro - 260). Se hai bisogno di qualcos'altro, ad esempio 2,4 V, devi scrivere 240 ($ 00F0). Il byte basso viene inserito nella cella a $ 0000 e il byte alto, rispettivamente, a $ 0001.

2 punti. Dato che non ho installato sulla scheda un resistore variabile per regolare la precisione della misurazione della tensione della batteria per mancanza di spazio, ho introdotto la calibrazione software. La procedura di calibrazione per una misurazione accurata è la seguente: inizialmente, in questa cella EEPROM è scritto un fattore di 1024 ($ 400), è necessario mettere il dispositivo in modalità attiva e guardare la tensione sull'indicatore e misurare immediatamente il reale tensione sulla batteria con un voltmetro. Il fattore di correzione (K), che deve essere impostato, si calcola con la formula: K = Uр / Ui * 1024 dove Uр è la tensione reale misurata da un voltmetro, Ui è la tensione misurata dal dispositivo stesso. Dopo aver calcolato il fattore "K", viene immesso nel dispositivo (come descritto nelle istruzioni per l'uso). Dopo la calibrazione, il mio errore non ha superato il 3%.

3 pip Qui puoi impostare il tempo dopo il quale il dispositivo entra in modalità di sospensione se non viene premuto alcun pulsante. Mi costa 16 secondi. Se hai bisogno di addormentarti dopo 30 secondi, devi annotare 30 ($ 26).

I punti 4 e 5 sono gli stessi.

6 pip L'indirizzo $ 0030 memorizza il codice della famiglia di chiavi zero (dalla 1-Wire), quindi il suo numero a 48 bit e CRC. E così 50 tasti in serie.

Ambientazione, caratteristiche di lavoro

La configurazione del dispositivo si riduce alla calibrazione della misurazione della tensione della batteria come descritto sopra. È inoltre necessario rilevare la deviazione dell'orologio in 1 ora, calcolare e inserire il valore di correzione corrispondente (la procedura è descritta nelle istruzioni per l'uso).

Il dispositivo è alimentato da una batteria al litio CR2032 (3V) e consuma circa 4 μA in modalità di sospensione e 5 ... 20 mA in modalità attiva, a seconda della luminosità dell'indicatore. Con un uso quotidiano di cinque minuti della modalità attiva, la batteria dovrebbe essere sufficiente per circa 2 ... .8 mesi, a seconda della luminosità. La cassa dell'orologio è collegata al meno della batteria.

La lettura della chiave è stata verificata su DS1990. L'emulazione è testata sui citofoni METAKOM. Vengono cuciti i numeri di serie da 46 a 49 (ultimi 4) (tutte le chiavi sono memorizzate in EEPROM, possono essere modificate prima di lampeggiare) chiavi universali per citofoni. La chiave registrata al numero 49 ha aperto tutti i citofoni METAKOM che mi sono imbattuto, il resto delle chiavi universali non è stato possibile testare, ho preso i loro codici dalla rete.

Telecomando per fotocamere testate su Pentax optio L20, Nikon D3000. Canon non è riuscita a farlo controllare.

Il manuale utente è lungo 13 pagine, quindi non l'ho incluso nell'articolo, ma l'ho messo in allegato in formato PDF.

L'archivio contiene:
Schema in e GIF;
Disegno del circuito stampato e disposizione degli elementi nel formato;
Firmware e sorgenti in assembler;

Elenco dei radioelementi

Designazione Tipo di Denominazione Quantità NotaNegozioIl mio blocco note
DD1 MK AVR 8 bit

ATmega168PA

1 PA-AU nel blocco note
U2 termometro

DS18B20

1 nel blocco note
Q1 Transistor MOSFET

2N7002

1 nel blocco note
DO1, DO2 Condensatore30 pF2 nel blocco note
DO3, DO4 Condensatore0.1 uF2 nel blocco note
C5 Condensatore elettrolitico47 uF1 nel blocco note
R1-R8, R17 Resistore

100 ohm

9 nel blocco note
R9 Resistore

10 kΩ

1 nel blocco note
R10 Resistore

8,2 Ohm

1 nel blocco note
R11 Resistore

300 Ohm

1 nel blocco note
R12 Resistore

2 Mohm

1 nel blocco note
R13 Resistore

220 kΩ

1 nel blocco note
R14 Resistore

30 kΩ

1 nel blocco note
R15, R19 Resistore

4,7 kOhm

2 nel blocco note
R16 Resistore

20 kΩ

1
20 agosto 2015 alle 12:34

Orologio elettronico fatto in casa, elemento base - parte 1, misurazione del tempo

  • Fai da te o fai da te

Probabilmente ogni geek appassionato di elettronica fatta in casa prima o poi ha l'idea di realizzare il proprio orologio unico. L'idea è abbastanza buona, andiamo a capire come e su cosa è meglio realizzarli. Come punto di partenza, assumeremo che una persona sappia come programmare i microcontrollori, capisca come inviare 2 byte tramite una porta i2c o seriale e possa saldare più fili insieme. In linea di principio, questo è sufficiente.

È chiaro che la funzione chiave dell'orologio è la misurazione del tempo (chi l'avrebbe mai detto, eh?). Ed è desiderabile farlo nel modo più accurato possibile, ci sono diverse opzioni e insidie.

Quindi, quali metodi di misurazione del tempo disponibili nell'hardware possiamo utilizzare?

Generatore RC integrato del processore

L'idea più semplice che può venire in mente è semplicemente impostare un timer software e contare i secondi con esso. Ora, questa idea non va bene. L'orologio, ovviamente, funzionerà, solo la precisione del generatore integrato non è regolata in alcun modo e può "fluttuare" entro il 10% del valore nominale. Quasi nessuno ha bisogno di un orologio che impieghi 15 minuti al mese.

Modulo in tempo reale DS1307

Un'opzione più corretta, utilizzata anche nella maggior parte dei prodotti "folk", è un orologio in tempo reale. Il microcircuito comunica con il microcontrollore tramite I2C, richiede un minimo di strapping (quarzo e una coppia di resistori). Il prezzo del problema è di circa 100 rubli per un microcircuito o circa $ 1 per un ebee per una scheda già pronta con un microcircuito, un modulo di memoria e un connettore della batteria.

Schema dalla scheda tecnica:

Altrettanto importante, il microcircuito è disponibile in un pacchetto DIP, il che significa che qualsiasi radioamatore alle prime armi può saldarlo. La batteria integrata mantiene l'orologio in funzione anche quando l'alimentazione è stata spenta.

Sembrerebbe che tutto vada bene se non fosse per un problema: bassa precisione. La precisione approssimativa dell'orologio al quarzo è di 20-30 ppm. Ppm - parti per milione, mostra il numero di parti per milione. Sembrerebbe che 20 milionesimo sia super, ma per una frequenza di 32768Hz risulta 20 * 32768/1000000 = ± 0,65536Hz, cioè già mezzo hertz. Con semplici calcoli, si può vedere che il generatore con una tale differenza al giorno "colpisce" in più (o manca) 56 mila cicli, che corrispondono a 2 secondi al giorno. I quarzi sono diversi, alcuni utenti hanno scritto di un errore di 5 secondi al giorno. In qualche modo non molto preciso: in un mese tali ore andranno via almeno per un minuto. Questa è già una differenza decente, evidente a occhio nudo (quando la serie TV preferita della nonna inizia alle 11.00 e l'orologio mostra le 11.05, lo sviluppatore di un tale orologio di fronte ai parenti sarà a disagio).

Tuttavia, poiché la temperatura ambiente è più o meno stabile e la frequenza del quarzo non cambierà molto, è possibile aggiungere una correzione software. Un altro consiglio dato sui forum è quello di utilizzare il quarzo dell'orologio da vecchie schede madri, secondo le recensioni, sono abbastanza accurate lì.

Modulo in tempo reale DS3231

Non siamo i primi a porre la questione dell'accuratezza e l'azienda di Dallas ha soddisfatto i desideri e ha rilasciato un modulo più avanzato: DS3231. Si chiama "Orologio in tempo reale estremamente accurato" e dispone di un generatore integrato con compensazione della temperatura. La precisione è 10 volte superiore a 2 ppm. Il prezzo del problema è leggermente più alto, ma la custodia del microcircuito è progettata per il montaggio SMD, non è così conveniente da saldare, ma è possibile acquistare una scheda già pronta su ebee.


(foto dal sito del venditore)

La precisione di 6 secondi al mese è già un buon risultato. Ma andiamo oltre: idealmente, l'orologio nel 21° secolo non ha bisogno di essere regolato affatto.

Modulo radio DCF-77

Il metodo è piuttosto esotico, ma per completezza, dovrebbe essere menzionato. Pochi lo sanno, ma i segnali dell'ora esatta sono stati trasmessi via radio dagli anni '70. Il trasmettitore DCF-77 si trova in Germania vicino a Francoforte e vengono trasmessi timestamp precisi sulla frequenza VLF di 77,5 KHz (sì, avevano orologi da parete e da tavolo già 20 anni fa, che non hanno bisogno di essere regolati).

Il metodo è buono in quanto il circuito ha un basso consumo energetico, quindi ora vengono prodotti anche orologi da polso con questa tecnologia. Una scheda di ricezione DCF-77 già pronta può essere acquistata su ebay, il prezzo di emissione è di $ 20.

Molti orologi e stazioni meteorologiche hanno la capacità di ricevere DCF-77, l'unico problema è che il segnale praticamente non raggiunge la Russia. Mappa di copertura da Wikipedia:

Come puoi vedere, solo Mosca e San Pietroburgo sono al confine dell'area della reception. Secondo i proprietari, solo a volte il segnale può essere ricevuto, il che, ovviamente, non è adatto all'uso pratico.

Modulo GPS

Se l'orologio si trova vicino alla finestra, un metodo molto reale per ottenere l'ora esatta è un modulo GPS. Questi moduli possono essere acquistati a buon mercato su ebay (prezzo di emissione 10-15 $). Ad esempio, Ublox NEO-6M si collega direttamente ai pin seriali del processore e invia le stringhe NMEA a 9600.

I dati hanno approssimativamente il seguente formato "$ GPRMC, 040302.663, A, 3939.7, N, 10506,6, W, 0.27.358.86,200804, * 1A", e non è difficile analizzarli anche per un Arduino debole. I patrioti, tra l'altro, possono acquistare il più costoso modulo Ublox NEO-7N, che supporta (secondo le recensioni) sia GPS che Glonass.

Ovviamente, il modulo GPS non sa nulla dei diversi fusi orari, quindi lo sviluppatore dovrà pensare al calcolo e al cambio dell'ora legale/solare. Un altro svantaggio dell'utilizzo del GPS è il consumo energetico relativamente elevato (tuttavia, alcuni moduli possono essere messi in "modalità di sospensione" con comandi separati).

Wi-Fi

E infine, l'ultimo (e più ovvio al momento) modo per ottenere l'ora esatta è prenderla da Internet. Ci sono due approcci qui. Il primo, e il più semplice, è usare qualcosa come un Raspberry PI con Linux come scheda orologio, quindi non devi fare nulla, tutto funzionerà immediatamente. Se vuoi qualcosa di esotico, il modulo esp8266 è l'opzione più interessante.

Questo è poco costoso (il prezzo di emissione è di circa 200 rubli su ebay), il modulo WiFi può essere scambiato con il server tramite la porta seriale del processore, se lo si desidera, può anche essere riflashato (ce ne sono molti di terze parti firmware) e parte della logica (ad esempio, il polling del server dell'ora) può essere eseguita nel modulo stesso. Molto di tutto è supportato da firmware di terze parti, da Lua a C ++, quindi ci sono abbastanza opzioni per "allungare il cervello".

Su questo argomento, la misurazione del tempo può probabilmente essere chiusa. Nella parte successiva, daremo un'occhiata più da vicino ai processori e ai modi per visualizzare l'ora.

Orologio da polso autocostruito su un indicatore di vuoto, realizzato in stile steampunk. Materiale tratto da www.johngineer.com. Questo orologio da polso si basa sul display IVL-2. Inizialmente ho acquistato molti di questi indicatori per creare un orologio da tavolo standard, ma dopo aver riflettuto mi sono reso conto che puoi costruire anche un orologio da polso elegante. L'indicatore ha una serie di caratteristiche che lo rendono più adatto a questo scopo rispetto alla maggior parte degli altri display sovietici. Ecco i parametri:

  • La corrente nominale del filamento è 60 mA 2,4 V, ma funziona con 35 mA 1,2 V.
  • Piccole dimensioni - solo 1,25 x 2,25 "
  • Può funzionare con una tensione di rete relativamente bassa 12V (fino a 24)
  • Consuma solo 2,5 mA/segmento a 12,5 V

Tutte le immagini possono essere ingrandite facendo clic su di esse. Il più grande ostacolo alla riuscita del progetto è stato il cibo. Poiché questo orologio è stato concepito come parte di un abito, non importa che la batteria duri solo 10 ore. Fermato per AA e AAA.

Il circuito è piuttosto semplice. Microcontrollore Atmel AVR ATMega88 e orologio in tempo reale - DS3231. Ma ci sono altri circuiti integrati, molto più economici, che funzioneranno altrettanto bene in un generatore.

Il VFD è pilotato dal MAX6920 - registro a scorrimento a 12 bit con uscite ad alta tensione (fino a 70 V). È facile da usare, molto affidabile e compatto. È anche possibile che il driver del display saldi insieme un gruppo di componenti discreti, ma ciò non era pratico a causa dei limiti di spazio.

La tensione della batteria alimenta anche il convertitore boost 5V (MCP1640 SOT23-6), necessario per il corretto funzionamento di AVR, DS3231 e MAX6920, e funge anche da tensione di ingresso per il secondo convertitore boost (NCP1403 SOT23-5), che produce 13V per la tensione di rete dell'indicatore di vuoto.

L'orologio ha tre sensori: uno analogico e due digitali. Il sensore analogico è un fototransistor e viene utilizzato per rilevare il livello di luce (Q2). Sensori digitali: BMP180 - pressione e temperatura e MMA8653 - accelerometro per il rilevamento del movimento. Entrambi i sensori digitali sono collegati tramite il bus I2C al DS3231.

I tubi di ottone sono saldati alla bellezza e proteggono il display in vetro dell'orologio da polso e vengono utilizzati fili di rame spessi 2 mm per fissare il cinturino in pelle. Il diagramma schematico completo non è fornito nell'articolo originale: vedere la connessione tramite schede tecniche ai microcircuiti indicati.

Anche nella mia giovinezza, volevo collezionare un orologio elettronico. Mi sembrava che assemblare l'orologio fosse l'apice dell'abilità. Di conseguenza, ho assemblato un orologio con un calendario e una sveglia sulla serie K176. Adesso sono già moralmente superate e volevo collezionare qualcosa di più moderno. Dopo una lunga ricerca su Internet (non avrei mai pensato che fosse così difficile per me accontentare;)) mi è piaciuto questo schema. La differenza dal diagramma sopra è che non viene utilizzato un microcircuito raro. TRIC6B595, e il suo analogo composito e più potente sui microcircuiti 74HC595 e ULN2003... Le correzioni al circuito sono mostrate di seguito.



Schema della linea strisciante dell'orologio elettronico a LED

L'autore dello schema caro OLED, anche il firmware è suo. L'orologio visualizza l'ora, l'anno, il mese e il giorno della settimana correnti, nonché la temperatura esterna e interna della casa con testo scorrevole. Hanno 9 allarmi indipendenti. È possibile regolare (correggere) la corsa + - un minuto al giorno, selezionare la velocità della linea, modificare la luminosità dei LED, a seconda dell'ora del giorno.

In caso di interruzione di corrente, l'orologio è alimentato da un ultracondensatore (capacità 1 Farad è sufficiente per 4 giorni di alimentazione) o da una batteria. A chi piace, la scheda è progettata per installarli entrambi. Hanno un menu di controllo molto comodo e intuitivo (tutto il controllo viene eseguito con solo due pulsanti). Le seguenti parti sono utilizzate nell'orologio (tutte le parti sono in custodie SMD):

Microcontrollore AtMEGA 16A

-
Registro di spostamento 74HC595

-
Patata fritta ULN2803(otto chiavi Darlington)

-
Sensori di temperatura DS18B20(installato come opzione)

-
25 resistenze 75 Ohm (standard 0805)

-
3 resistori 4.7kOhm

-
2 resistenze 1,5 kOhm

-
1 resistenza 3.6 kOhm

-
6 condensatori SMD con una capacità di 0,1 μF

-
1 condensatore 220 uF

-
Guarda il quarzo per una frequenza di 32768 hertz.

-
Matrici 3 pezzi marca 23088-ASR 60x60 mm - catodo comune

-
Qualsiasi ubriacone per 5 volt.



Circuito stampato per la linea strisciante dell'orologio elettronico a LED

Per i residenti in Ucraina, ti dirò, le matrici sono nel negozio del mercato radiofonico di Lugansk. I vantaggi degli orologi rispetto ad altri dispositivi simili sono il minimo di parti e l'elevata ripetibilità. L'orologio a LED inizia a funzionare subito dopo il firmware, a meno che ovviamente non ci siano stipiti nell'installazione. Il microcontrollore viene flashato in-circuit, per questo sono previsti pin speciali sulla scheda. Stavo lampeggiando con il programma Ponyprog. Fusibili schermi per programmi ponyprog e AVR sono riportati di seguito, vengono pubblicati anche i file del firmware in ucraino e russo, chi ha più familiarità con cosa.


Se non hai bisogno di sensori di temperatura, possono essere omessi. L'orologio riconosce automaticamente la connessione dei sensori e se uno o entrambi i sensori mancano, il dispositivo smette semplicemente di visualizzare la temperatura (se manca un sensore, la temperatura esterna non viene visualizzata, se entrambi non viene visualizzata la temperatura affatto).

Cassa dell'orologio a LED fatta in casa

Per dimostrare il funzionamento dell'orologio, viene fornito un video, non di alta qualità, poiché è stato filmato con una telecamera, ma cosa c'è.

Guarda un video

Di questi orologi sono già stati raccolti quattro esemplari, li presento ciascuno ai parenti per il loro compleanno. E sono piaciuti molto a tutti. Se anche tu vuoi ritirare questo orologio e hai domande, sei il benvenuto nel nostro forum. Cordiali saluti, Sergei Voitovich ( Sergey-78 ).

Discuti l'articolo OROLOGIO ELETTRONICO A LED

Ciao geektimes! Nella prima parte dell'articolo sono stati considerati i principi per ottenere l'ora esatta su un orologio fatto in casa. Andiamo oltre e consideriamo come e su cosa è meglio mostrare questa volta.

1. Dispositivi di uscita

Quindi, abbiamo una determinata piattaforma (Arduino, Raspberry, controller PIC / AVR / STM, ecc.) E il compito è quello di collegare alcune indicazioni ad essa. Ci sono molte opzioni che prenderemo in considerazione.

Visualizzazione a segmenti

Tutto è semplice qui. L'indicatore di segmento è costituito da normali LED, che sono banalmente collegati al microcontrollore tramite resistori di smorzamento.

Attenzione al traffico!

Pro: semplicità del design, buoni angoli di visuale, prezzo contenuto.
Meno: la quantità di informazioni visualizzate è limitata.
Esistono due tipi di design degli indicatori, con un catodo comune e un anodo comune, all'interno sembra qualcosa di simile (schema dal sito Web del produttore).

Ci sono 1001 articoli su come collegare un LED a un microcontrollore, google per aiuto. Le difficoltà iniziano quando vogliamo creare un grande orologio - dopotutto, guardare un piccolo indicatore non è particolarmente conveniente. Quindi abbiamo bisogno di indicatori come questo (foto da eBay):

Sono alimentati da 12V e semplicemente non funzioneranno direttamente dal microcontrollore. Ecco che ci viene in soccorso il microcircuito CD4511, proprio per questo scopo. Non solo converte i dati dalla linea a 4 bit nelle cifre desiderate, ma contiene anche un interruttore a transistor integrato per fornire tensione all'indicatore. Pertanto, nel circuito avremo bisogno di una tensione di "potenza" di 9-12 V e un convertitore step-down separato (ad esempio L7805) per alimentare la "logica" del circuito.

Indicatori a matrice

In effetti, questi sono gli stessi LED, solo nella forma di una matrice 8x8. Foto da eBay:

Venduti su eBay come moduli singoli o blocchi già pronti, ad esempio 4 pezzi. Il loro controllo è molto semplice: un microcircuito è già saldato sui moduli MAX7219, garantendone il funzionamento e la connessione al microcontrollore con soli 5 fili. Ci sono molte librerie per Arduino, chi è interessato può guardare il codice.
Pro: prezzo contenuto, buoni angoli di visuale e luminosità.
Meno: bassa risoluzione. Ma per il compito di produrre il tempo è abbastanza.

Indicatori LCD

Gli indicatori LCD sono grafici e testuali.

La grafica è più costosa, ma consente di visualizzare informazioni più varie (ad esempio un grafico della pressione atmosferica). I messaggi di testo sono più economici e più facili da usare, ti consentono anche di visualizzare pseudo-grafica: puoi caricare simboli personalizzati nel display.

Non è difficile lavorare con l'indicatore LCD dal codice, ma c'è un certo svantaggio: l'indicatore richiede molte linee di controllo (da 7 a 12) dal microcontrollore, il che è scomodo. Pertanto, i cinesi hanno avuto l'idea di combinare l'indicatore LCD con il controller i2c, si è scoperto che alla fine è molto conveniente: bastano solo 4 fili per il collegamento (foto da eBay).


Gli indicatori LCD sono abbastanza economici (se presi su eBay), grandi, facili da collegare e puoi visualizzare una varietà di informazioni. L'unico inconveniente sono gli angoli di visuale non molto ampi.

Indicatori OLED

Sono una continuazione migliorata della versione precedente. Si va da piccoli ed economici 1.1 "a grandi e costosi. Foto da eBay.

In realtà vanno bene per tutti tranne che per il prezzo. Per quanto riguarda i piccoli indicatori, di dimensioni 0,9-1,1 ", è difficile trovare un'applicazione pratica per loro (tranne che per studiare lavorando con i2c).

Indicatori di scarico del gas (IN-14, IN-18)

Questi indicatori sono ora molto popolari, apparentemente a causa del "caldo suono della lampada" e dell'originalità del design.


(foto dal sito nocrotec.com)

Il loro schema elettrico è un po' più complicato, dal momento che questi indicatori usano 170V per l'accensione. Convertitore da 12V => 180V può essere realizzato su un microcircuito MAX771... Per fornire tensione agli indicatori, viene utilizzato un microcircuito sovietico K155ID1, che è stato creato appositamente per questo. Il prezzo del problema per l'autoproduzione: circa 500 rubli per ogni indicatore e 100 rubli per il K155ID1, tutti gli altri dettagli, come hanno scritto nelle vecchie riviste, "non mancano". La principale difficoltà qui è che sia IN-xx che K155ID1 sono fuori produzione da tempo e puoi acquistarli solo nei mercati radiofonici o in alcuni negozi specializzati.

2. Scelta della piattaforma

Abbiamo più o meno capito l'indicazione, resta da decidere quale piattaforma hardware è meglio utilizzare. Ci sono diverse opzioni (non considero quelle fatte in casa, perché chi sa cablare una scheda e saldare un processore non ha bisogno di questo articolo).

Arduino

L'opzione più semplice per i principianti. La scheda già pronta è economica (circa $ 10 su eBay con spedizione gratuita), ha tutti i connettori necessari per la programmazione. Foto da eBay:

Esiste un numero enorme di librerie diverse per Arduino (ad esempio, per gli stessi schermi LCD, moduli in tempo reale), Arduino è compatibile con l'hardware con vari moduli aggiuntivi.
Lo svantaggio principale: la complessità del debug (solo tramite la console della porta seriale) e un processore piuttosto debole per gli standard moderni (2 KB di RAM e 16 MHz).
Il vantaggio principale: puoi fare molte cose, praticamente senza preoccuparti della saldatura, acquistando un programmatore e schede di cablaggio, i moduli devono solo essere collegati tra loro.

Processori STM a 32 bit

Per chi desidera qualcosa di più potente, ci sono schede già pronte con processori STM, ad esempio una scheda con un STM32F103RBT6 e uno schermo TFT. Foto da eBay:

Qui abbiamo già il debug completo in un IDE completo (tra tutti i diversi mi è piaciuto di più l'IDE Coocox), tuttavia, abbiamo bisogno di un programmatore di debug ST-LINK separato con un connettore JTAG (il prezzo di emissione è $ 20- 40 su eBay). In alternativa, puoi acquistare una scheda di debug STM32F4Discovery, che ha già questo programmatore integrato e può essere utilizzata separatamente.

Lampone PI

E infine, per chi desidera una piena integrazione con il mondo moderno, ci sono computer single-board con Linux, probabilmente tutti conoscono già Raspberry PI. Foto da eBay:

Questo è un computer a tutti gli effetti con Linux, un gigabyte di RAM e un processore a 4 core a bordo. Sul bordo della scheda, c'è un pannello di 40 pin, che consente di collegare varie periferiche (i pin sono disponibili dal codice, ad esempio, in Python, per non parlare di C / C ++), c'è anche un USB standard sotto forma di 4 connettori (è possibile collegare WiFi). C'è anche l'HDMI standard.
La potenza della scheda sarà sufficiente, ad esempio, non solo per visualizzare l'ora, ma anche per mantenere un server HTTP per l'impostazione dei parametri tramite l'interfaccia web, caricare le previsioni del tempo tramite Internet, e così via. In generale, c'è molto spazio per un volo di immaginazione.

Con i processori Raspberry (e STM32), c'è solo una difficoltà: i suoi pin utilizzano la logica a 3 volt e la maggior parte dei dispositivi esterni (ad esempio gli schermi LCD) funzionano alla vecchia maniera da 5V. Ovviamente puoi connetterti e quindi, in linea di principio, funzionerà, ma questo non è proprio il metodo corretto, ed è un peccato rovinare il pagamento di $ 50. Il modo corretto è utilizzare un "convertitore di livello logico", che costa solo $ 1-2 su eBay.
Foto da eBay:

Ora è sufficiente collegare il nostro dispositivo tramite tale modulo e tutti i parametri saranno coordinati.

ESP8266

Il metodo è piuttosto esotico, ma piuttosto promettente per la compattezza e il basso costo della soluzione. Per pochissimi soldi (circa $ 4-5 su eBay), è possibile acquistare un modulo ESP8266 contenente un processore e WiFi a bordo.
Foto da eBay:

Inizialmente, tali moduli erano intesi come bridge WiFi per lo scambio tramite una porta seriale, ma gli appassionati hanno scritto molti firmware alternativi che consentono di lavorare con sensori, dispositivi i2c, PWM, ecc. Ipoteticamente, è del tutto possibile ricevere tempo da un server NTP e inviarlo tramite i2c sul display. Per coloro che desiderano collegare molte periferiche diverse, ci sono schede NodeMCU speciali con un gran numero di pin, il prezzo di emissione è di circa 500 rubli (ovviamente su eBay):

L'unico inconveniente è che l'ESP8266 ha pochissima memoria RAM (a seconda del firmware, da 1 a 32 KB), ma questo rende il compito ancora più interessante. I moduli ESP8266 utilizzano la logica a 3 volt, quindi il convertitore di livello superiore è utile anche qui.

Su questo, l'escursione introduttiva all'elettronica fatta in casa può essere completata, l'autore augura a tutti esperimenti di successo.

Invece di una conclusione

Alla fine, ho deciso di utilizzare un Raspberry PI con un indicatore di testo configurato per funzionare con pseudo-grafica (che si è rivelato più economico di uno schermo grafico della stessa diagonale). Ho scattato una foto dello schermo dell'orologio del desktop mentre scrivevo questo articolo.

L'orologio mostra l'ora esatta presa da Internet e il tempo che viene aggiornato da Yandex, tutto questo è scritto in Python e funziona già da diversi mesi. Parallelamente, sull'orologio viene avviato un server FTP che consente (insieme al port forwarding sul router) di aggiornare il firmware su di essi non solo da casa, ma anche da qualsiasi luogo in cui sia presente Internet. Come bonus, le risorse di Raspberry sono, in linea di principio, sufficienti per collegare una telecamera e / o un microfono con la possibilità di monitorare a distanza un appartamento o per controllare vari moduli / relè / sensori. Puoi aggiungere tutti i tipi di "chicche", come l'indicazione LED della posta in arrivo e così via.

PS: Perché eBay?
Come puoi vedere, sono stati forniti prezzi o foto da ebay per tutti i dispositivi. Perché? Sfortunatamente, i nostri negozi spesso vivono secondo il principio "Ho comprato per 1 $, venduto per 3 e vivo con questo 2 percento". Ad esempio, l'Arduino Uno R3 costa (al momento della stesura di questo articolo) 3600r a San Pietroburgo e 350r su eBay con spedizione gratuita dalla Cina. La differenza è davvero un ordine di grandezza, senza alcuna esagerazione letteraria. Sì, dovrai aspettare un mese per ritirare il pacco all'ufficio postale, ma penso che valga la pena una tale differenza di prezzo. Ma tuttavia, se qualcuno ne ha bisogno in questo momento e con urgenza, allora probabilmente nei negozi locali c'è una scelta, qui ognuno decide da solo.

Principali articoli correlati