Sommario:

Micro orologio binario: 10 passaggi (con immagini)
Micro orologio binario: 10 passaggi (con immagini)

Video: Micro orologio binario: 10 passaggi (con immagini)

Video: Micro orologio binario: 10 passaggi (con immagini)
Video: Questa purtroppo è Milano....😔 #ruzzaorologi #orologio #rapina 2024, Luglio
Anonim
Orologio binario micro
Orologio binario micro
Orologio binario micro
Orologio binario micro

Progetti Tinkercad »

Avendo precedentemente creato un Instructable (Binary DVM), che utilizza l'area di visualizzazione limitata utilizzando il binario.

Era solo un piccolo passo dopo aver creato in precedenza il modulo di codice principale per la conversione da decimale a binario per creare un orologio binario, ma l'unica cosa che mancava era un RTC (Real Time Clock).

Tuttavia, il Microbit non ha una build in RTC.

L'RTC consente la realizzazione di progetti di orologi con una batteria di backup.

Pertanto, il seguente progetto utilizza un Microbit e un Kitronik RTC per creare un orologio 24 ore con un display binario e ha inoltre un'opzione di allarme.

Il software di progetto che verrà eseguito sul Microbit verrà creato in Makecode Blocks.

Forniture:

MicroBit V1 o V2

Custodia protettiva MicroBit (opzionale)

Makecode

Kitronik RTC

CR2032

Blocchi di codice

cura

stampante 3d

1 * Interruttore SPDT (acceso - acceso)

1 * Interruttore SPDT (acceso - spento - acceso)

2 * SPST (normalmente aperto), interruttore momentaneo

4 * M3 (10+6 mm), distanziatori M/F con dadi M3

4 * M3 (8 mm), viti

Connettore jumper M/F, 100mm, 28AWG preconfezionato con spina e presa.

1 * cicalino piezoelettrico (senza unità)

Queste forniture sono disponibili presso diversi punti vendita e potresti avere il tuo fornitore preferito.

Passaggio 1: definizione dell'area di visualizzazione

Definizione dell'area di visualizzazione
Definizione dell'area di visualizzazione
Definizione dell'area di visualizzazione
Definizione dell'area di visualizzazione

Sebbene l'area di visualizzazione sia limitata nella quantità di dati che possono essere visualizzati in qualsiasi momento, si presta idealmente alla visualizzazione di dati bit.

In quanto tale, c'è un'area sufficiente per visualizzare parole binarie 4 x 4 bit per rappresentare l'ora con le notifiche e le modalità di selezione.

Il display è suddiviso in 3 aree principali; Tempo, Selezione e Modalità.

Tempo

Sedici LED assegnati a Time, ogni colonna di 4 LED è assegnata a un intervallo di tempo, gli intervalli sono nella forma H, H, M e M.

Ogni bit della parola binaria ha un peso di 1, 2, 4 e 8 con LSB sulla riga 4 e MSB sulla riga 1

Ogni parola binaria a 4 bit consente un conteggio da 0 a 15, che è più che sufficiente per il formato dell'ora 24H, che richiede un conteggio massimo per colonna di 2, 9, 5 e 9.

Selezione

Una riga di 4 LED sulla riga 0 viene utilizzata per identificare la colonna dell'ora selezionata durante l'immissione dell'ora.

modalità

Una colonna di 5 LED alla colonna 4 viene utilizzata per identificare modalità, funzioni e operazioni.

Tick - Il LED 4, 0 lampeggiante acceso e spento viene utilizzato per indicare i secondi e il funzionamento.

Ora - Il LED 4, 1 indica la modalità Ora quando è acceso. (Modalità predefinita all'accensione)

Allarme - LED 4, 2 indica la modalità di allarme quando è acceso.

Notifica allarme - I LED 4, 3 e 4, 4 lampeggiano quando viene attivato l'allarme.

Passaggio 2: RTC (orologio in tempo reale)

RTC (orologio in tempo reale)
RTC (orologio in tempo reale)
RTC (orologio in tempo reale)
RTC (orologio in tempo reale)
RTC (orologio in tempo reale)
RTC (orologio in tempo reale)
RTC (orologio in tempo reale)
RTC (orologio in tempo reale)

L'RTC è il cuore pulsante dell'applicazione, consentendo l'impostazione e il mantenimento dell'ora esatta.

Ulteriori dettagli sull'RTC sono disponibili su Kitronik.

L'RTC fornisce un'alimentazione regolata che annulla la necessità di alimentare il Microbit tramite il proprio connettore USB o JST e viene fornita una batteria di riserva per mantenere il tempo in caso di interruzione dell'alimentazione.

Prima di utilizzare l'RTC sarà necessario caricare il pacchetto Extension.

Usando Makecode dall'icona Impostazioni, seleziona Estensioni e digita Kitronik RTC nella ricerca.

Seleziona il pacchetto per installarlo e verrà aggiunto alle altre estensioni.

Esistono numerosi blocchi di codice da cui leggere e scrivere sull'RTC.

Richiederemo solo 4 di questi blocchi di codice per l'orologio binario.

Questi saranno utilizzati per scrivere l'ora impostata sull'RTC e per rileggere l'ora per aggiornare il display dell'orologio.

Passaggio 3: codifica dell'orologio

Codificare l'orologio
Codificare l'orologio
Codificare l'orologio
Codificare l'orologio
Codificare l'orologio
Codificare l'orologio

La prima parte del codice è l'inizializzazione del programma di variabili, array e testo informativo.

Dentro

Bclk – Orologio binario

<Sel - Un pulsante seleziona la colonna che verrà regolata per l'impostazione dell'ora.

Inc – Il pulsante B incrementa il tempo.

Premendo entrambi i pulsanti A e B contemporaneamente si cambia la modalità tra Ora e Sveglia.

Strval – è il valore della stringa contenente l'ora nella forma “HH:MM:SS” restituita dall'RTC

Solo HH e MM vengono utilizzati per visualizzare o impostare l'ora.

Modalità: conserva il valore della modalità per Time = 1 e Alarm = 2 selezionati con la combinazione di pulsanti A+B.

Periodo: è il valore per la colonna del tempo, selezionato con il pulsante A.

0 = colonna 0 (H), 1 = colonna 1 (H), 2 = colonna 2 (M), 3 = colonna 3 (M)

Tick_en – Abilita = 1 o Disabilita = 0 il segno di spunta (secondi), indicatore.

Inc – Memorizzazione intermedia del valore di impostazione del tempo incrementale.

Tm_list – memorizza il valore di ogni colonna temporale durante l'impostazione.

Allarme – Abilita o disabilita l'indicatore di allarme.

Il per sempre chiama continuamente la funzione tick.

Tic Tac

La funzione tick, normalmente abilitata, visualizza un LED acceso/spento alternato nell'angolo in alto a destra per indicare funzionamento e secondi.

Inoltre, chiama la funzione showtm che legge l'RTC e lo elabora per essere visualizzato in binario, mentre chiama anche alarm_mode, se questo è abilitato visualizza i LED di notifica dell'allarme nell'angolo in basso a destra.

Showtm

La funzione showtm, chiama rdtime e il valore utilizzato da questo è strval che contiene la stringa dell'ora.

Viene creato un ciclo che incrementa tramite strval estraendo ogni singolo numero e ignorando il separatore “:”

Ogni singolo numero viene poi convertito nel suo equivalente binario con la funzione dec2bin e assegnato alla colonna corretta.

Rdtime

La funzione rdtime, legge i primi 5 caratteri nella stringa restituita dall'RTC (ignorando la parte dei secondi) e li passa a strval.

Se l'allarme è stato impostato (Modo = 2), i valori impostati per l'allarme vengono confrontati con i valori restituiti dall'RTC, se c'è una corrispondenza allora allarme = 1 se non c'è nessuna corrispondenza allarme = 0.

Alarm_mode quando abilitato visualizza due LED alternati on/off nell'angolo in basso a destra della colonna 4.

Dec2bin

La funzione dec2bin converte un numero decimale in binario e lo visualizza nella colonna corretta.

Il numero da convertire viene passato tramite valore e la colonna di visualizzazione viene passata tramite col.

List2 è l'array in cui è memorizzata la parola binaria a 4 bit dal processo di conversione binaria.

Viene avviato un ciclo che procede a dividere il valore per 2 il resto viene memorizzato nell'elemento dell'array il valore intero viene diviso per 2, questo viene ripetuto fino a quando il valore intero è <=1 e quest'ultimo valore viene inserito nell'array.

Il valore decimale a una cifra più grande è 9 e in binario è 1001 come parola a 4 bit.

L'array deve quindi essere elaborato in ordine inverso per il risultato corretto.

Viene quindi avviato un ciclo per accendere il LED corretto nella colonna appropriata, ciò viene realizzato per ogni occorrenza di uno nella parola binaria a 4 bit.

L'interfaccia umana è realizzata con pulsanti.

Il pulsante A

Questo seleziona la colonna in cui verrà inserito il valore del tempo e visualizza un LED illuminato sopra la colonna scelta sulla riga 4.

Una volta aggiornate tutte le colonne dell'ora, l'incremento della selezione fino alla 5a colonna aggiorna la variabile dell'ora.

Se mode = 1 viene aggiornato l'RTC altrimenti viene aggiornato l'orario della sveglia.

Il pulsante B

Questo è il pulsante di incremento e incrementa la colonna del tempo selezionata.

Al fine di ridurre gli errori e risparmiare tempo nell'ottenere il valore corretto, il valore massimo che può essere inserito per colonna è limitato in base al valore dell'ora per un sistema orario di 24 ore.

Questi valori massimi sono memorizzati in tm_max, uno per colonna dell'ora e vengono selezionati automaticamente in base alla colonna dell'ora.

I valori massimi sono H = 2, H = 9, M = 5, M = 9

Il valore dell'incremento viene convertito in binario in dec2bin e il display viene aggiornato.

Pulsante A+B Selezione modalità

Premendo entrambi i pulsanti insieme è possibile selezionare tra la modalità Ora o la modalità Sveglia, la modalità appropriata viene visualizzata sul display.

A seconda della modalità selezionata, il display viene aggiornato per mostrare l'ora o l'ora impostata per la sveglia.

Passaggio 4: operazione

operazione
operazione
operazione
operazione
operazione
operazione

Scarica il file esadecimale su Microbit, inserisci una batteria CR2032 nell'RTC.

Collegare il Microbit all'RTC e alimentare la scheda RTC tramite USB o terminali a vite.

Il LED Tick inizierà a lampeggiare e poco dopo verrà visualizzata l'ora.

Se questa è la prima volta che si utilizza, è molto probabile che l'ora visualizzata sia errata e dovrà essere impostata sull'ora corretta.

Selezione modalità

Premendo insieme i pulsanti Selezione (A) e Incremento (B) sarà possibile alternare le opzioni di modalità tra Ora e Sveglia.

Impostazione dell'ora

L'impostazione dell'ora è in modalità 24 ore.

Utilizzare il pulsante di selezione (A), per spostare il LED lungo la riga superiore, questo indica la colonna in cui è possibile modificare l'ora. Le colonne di selezione corrispondono a H, H, M e M.

Dove H = Ore e M = Minuti.

Dopo aver selezionato una colonna premere il pulsante Incremento (b), ripetutamente per incrementare il conteggio di uno ad ogni pressione. I conteggi sono indicati in binario, dopotutto è un Orologio Binario.

Il pulsante di incremento aumenta solo il conteggio e una volta raggiunto il massimo si azzera, ulteriori pressioni aumenteranno nuovamente il conteggio.

Una volta impostato il tempo della prima colonna, premere il pulsante Selezione per la colonna successiva, quindi utilizzare il pulsante Incremento per impostare il tempo della colonna.

Nota: *** Quando si imposta l'ora o l'allarme sarà necessario inserire un'ora nella colonna selezionata anche se l'ora nella colonna deve rimanere invariata poiché saltare una colonna azzera l'ora della colonna ****

Ripetere il processo fino a quando l'ora è stata impostata utilizzando tutte e 4 le colonne.

Premere il pulsante Selezione per la quinta volta per spostarlo nella quinta colonna e l'ora è impostata.

Impostazione dell'allarme

L'impostazione dell'ora della sveglia avviene esattamente come per l'ora.

Affinché l'allarme venga attivato all'ora richiesta, lasciare la modalità impostata su Allarme.

Per disattivare la sveglia, impostare la modalità su Ora.

Per visualizzare l'ora della sveglia impostata, alternare la modalità tra Ora e Sveglia e l'ora della sveglia verrà visualizzata per un breve periodo di tempo prima di tornare alla visualizzazione dell'ora corrente.

L'ora dell'allarme non è memorizzata nell'RTC, quindi se viene tolta l'alimentazione sarà necessario reimpostarla.

Passaggio 5: scatolalo

scatolalo
scatolalo
scatolalo
scatolalo

Il progetto siederà all'angolazione appropriata per visualizzare l'orologio, ma una scatola aggiunge un senso di permanenza.

Potresti acquistare una scatola di dimensioni adeguate e tagliare e forare le aree appropriate per consentire al Microbit di adattarsi alla presa.

Però; inoltre volevo duplicare i pulsanti Microbit insieme ad altri controlli e indicatori.

In genere, le legende dovranno essere applicate alla casella per identificare i pulsanti.

Questi potrebbero essere applicati a mano; etichette dipinte, incise o applicate.

Un metodo per realizzare tutte queste opzioni sarebbe quello di stampare in 3D la scatola, ma prima dovremmo creare un file CAD con cui creare il file della stampante.

Le opzioni di creazione del file sono disegnate a mano o disegnate con codice.

Ho optato per "disegnato con codice" utilizzando Tinkercad CodeBlocks

I file per il coperchio della scatola e la base della scatola possono essere trovati su Tinkercad CodeBlocks

Passaggio 6: progettazione del codice a blocchi

Progettazione del codice a blocchi
Progettazione del codice a blocchi
Progettazione del codice a blocchi
Progettazione del codice a blocchi

La scatola è un design in due parti composto da una base e un coperchio.

Verranno utilizzati quattro fori per viti angolari per fissare il coperchio con un ritaglio sul lato sinistro per consentire l'ingresso per la spina USB.

Il coperchio avrà un ritaglio per il connettore Microbit e gli interruttori necessari, inoltre qualsiasi testo verrà stampato direttamente sul coperchio e i fori per le viti si allineeranno con i pilastri di base.

La scheda RTC sarà fissata alla parte inferiore del coperchio tramite 4 pilastri e 4 viti.

La dimensione della scatola più il coperchio è di 70 x 105 x 31 mm

Il codice per il coperchio e la base è disponibile in TinkerCad CodeBlocks.

Passaggio 7: stampa 3D

Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D
Stampa 3D

Carica i file in Cura e applica le impostazioni dell'affettatrice preferite.

Impostazioni applicate.

Qualità: 0,15 mm

Riempimento: 80%, Tri-Esagono

Base: Brim

Salva i tuoi file e poi stampali.

Con Cura puoi caricare entrambi i file insieme sulla stessa area di stampa e stampare in una volta sola.

Passaggio 8: riempimento

riempimento
riempimento
riempimento
riempimento
riempimento
riempimento

Il coperchio della scatola è stampato con testo incassato che verrà riempito con resina epossidica colorata in 2 parti.

La resina viene miscelata con un rapporto di 2 parti di resina per 1 parte di indurente, quindi viene miscelato un pigmento di colore opaco.

Il colore scelto è stato il Giallo per contrastare con lo sfondo. Il bianco sarebbe stata un'altra scelta.

Una volta miscelata, la resina viene fatta gocciolare nell'incavo utilizzando un bastoncino da cocktail per trasferire piccole gocce di resina che vengono utilizzate per riempire gradualmente l'incavo nelle lettere.

Resisti a mettere troppa resina in una volta perché probabilmente finirai con bolle d'aria e o creerai troppo traboccamento sulla superficie circostante, il che significa che avrai più cose da rimuovere per pulire e carteggiare una volta polimerizzato.

Quindi riempi lentamente assicurandoti che il fondo della lettera sia coperto e costruiscila finendo con una leggera superficie rialzata.

Una volta che la resina si è indurita, sarà necessaria una leggera carteggiatura per livellare la superficie, iniziare con il grado P240 procedendo a gradi più fini come richiesto per ottenere una finitura liscia, finendo con uno smalto.

Non applicare troppa pressione e troppa velocità o surriscaldare il PLA e la resina risultando in una superficie opaca a causa della raccolta della sabbia, un po' d'acqua applicata durante il processo di levigatura fungerà da lubrificante e refrigerante.

Passaggio 9: assemblaggio

Assemblea
Assemblea
Assemblea
Assemblea
Assemblea
Assemblea

Il Microbit si inserisce nella presa in due orientamenti, rivolto verso la parte principale dell'RTC di fronte.

Se di fronte alla parte principale dell'RTC le connessioni di collegamento non possono essere utilizzate, tuttavia, se il Microbit è rivolto verso la parte principale della scheda, possiamo utilizzare queste connessioni.

L'assemblaggio inizia saldando un'intestazione del pin SIL ad angolo retto sull'RTC, questo per consentire le connessioni da effettuare con connettori a innesto.

L'RTC è dotato di 4 * M3 (10+6 mm), distanziatori M/F con dadi M3 fissati al coperchio con 4 * M3 (8 mm), viti nei fori prefabbricati.

Gli interruttori sono inseriti nei fori prefabbricati del coperchio.

I collegamenti necessari sono:

GND, 3V, P1 (set), P2 (avviso), P5 (sel) e P11 (inc)

Nota *** I resistori (1R), nel diagramma per P5 e P11 sono semplicemente punti di connessione di riferimento poiché la connessione diretta a questi pin sui blocchi Microbit nei blocchi di codice non è al momento disponibile. ***

P5 è la connessione esterna per il pulsante A che è collegato da un interruttore momentaneo SPST. Una connessione a P5 e l'altro pin è collegato a GND questo pulsante serve per la selezione della colonna durante l'impostazione dell'ora.

P11 è la connessione esterna per il pulsante B che è collegato da un interruttore momentaneo SPST. Una connessione a P11 e l'altro pin è collegato a GND il suo pulsante è per l'incremento del numero durante l'impostazione del tempo.

P1 è un interruttore SPDT (on-on) utilizzato per abilitare o disabilitare le opzioni di impostazione. Il pin centrale va a P1 mentre un pin va collegato a GND e l'altro a 3V tramite un resistore da 10k. Ciò consente di applicare un H (3V) e L (0V) a questo pin. Quando P1 è collegato a 3V, questo abilita le opzioni di impostazione dell'ora e quando 0V disabilita l'impostazione dell'ora. Controllando così se i pulsanti A e B hanno qualche effetto.

P2 è un interruttore SPDT (on-off-on) utilizzato per abilitare o disabilitare il segnalatore acustico e le luci esterne opzionali.

Il segnalatore acustico è un cicalino piezoelettrico (semplicemente fissato con un pad adesivo sui due lati), che richiede un impulso a impulsi fornito dal Microbit.

Passaggio 10: finalmente

Hai assemblato gli elementi nella scatola, hai programmato il Microbit e l'hai inserito nella presa sulla scatola.

Quindi applicare la potenza e impostare l'ora.

Godere.

Concorso codice di blocco
Concorso codice di blocco
Concorso codice di blocco
Concorso codice di blocco

Secondo classificato al concorso Block Code

Consigliato: