Taula de continguts:

Rellotge binari micro: 10 passos (amb imatges)
Rellotge binari micro: 10 passos (amb imatges)

Vídeo: Rellotge binari micro: 10 passos (amb imatges)

Vídeo: Rellotge binari micro: 10 passos (amb imatges)
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, De novembre
Anonim
Rellotge binari micro
Rellotge binari micro
Rellotge binari micro
Rellotge binari micro

Projectes Tinkercad »

Havent creat prèviament un instructable (DVM binari), que fa ús de l'àrea de visualització limitada mitjançant binari.

Només va ser un petit pas prèviament haver creat el mòdul de codi principal per a la conversió de decimal a binari per crear un rellotge binari, però l’únic que faltava era un RTC (rellotge en temps real).

Tot i això, el Microbit no té cap versió de RTC.

El RTC permet la realització de projectes de rellotge amb una còpia de seguretat de la bateria.

Com a tal, el següent projecte utilitza un Microbit i un Kitronik RTC per crear un rellotge de 24 hores amb pantalla binària i, a més, té una opció d’alarma.

El programari del projecte que s’executarà al Microbit es crearà a Makecode Blocks.

Subministraments:

MicroBit V1 o V2

Funda protectora MicroBit (opcional)

Makecode

Kitronik RTC

CR2032

Bloques de codi

Cura

Impressora 3D

1 * commutador SPDT (on - on)

1 * interruptor SPDT (on - off - on)

2 * SPST (normalment obert), interruptor momentani

4 * M3 (10 + 6mm), separadors M / F amb femelles M3

4 * M3 (8mm), cargols

Connector M / F de filferro de pont, 100 mm, 28AWG pre-fabricat amb endoll i endoll.

1 * Piezo Buzzer (sense unitat)

Aquests subministraments estan disponibles a diversos punts de venda i és possible que tingueu el vostre propi proveïdor preferit.

Pas 1: definició de l'àrea de visualització

Definició de l’àrea de visualització
Definició de l’àrea de visualització
Definició de l’àrea de visualització
Definició de l’àrea de visualització

Tot i que l’àrea de visualització és limitada en la quantitat de dades que es poden mostrar en qualsevol moment, es presta idealment a la visualització de dades de bits.

Com a tal, hi ha prou àrea per mostrar paraules binàries de 4 x 4 bits per representar el temps amb notificacions i modes de selecció.

La pantalla es divideix en 3 àrees principals; Temps, selecció i modes.

Temps

Setze LED assignats a Time, cada columna de 4 LED s’assigna a un interval de temps, els intervals tenen la forma H, H, M i M.

Cada bit de la paraula binària té una ponderació d'1, 2, 4 i 8 amb el LSB a la fila 4 i el MSB a la fila 1

Cada paraula binària de 4 bits permet un recompte de 0 a 15, que és més que suficient per al format horari 24H, que requereix un recompte màxim per columna de 2, 9, 5 i 9.

Selecció

S'utilitza una fila de 4 LEDs a la fila 0 per identificar la columna horària seleccionada en introduir l'hora.

Modes

Una columna de 5 LEDs a la columna 4 s'utilitza per identificar els modes, les funcions i el funcionament.

Tick - El LED 4, 0 parpellejant s'encén i s'apaga per indicar segons i funcionament.

Hora: el LED 4, 1 indica el mode Hora quan està activat. (Mode predeterminat en activar)

Alarma: el LED 4, 2 indica el mode d'alarma quan està activat.

Notificació d'alarma: el LED 4, 3 i el LED 4, 4 parpellegen quan s'activa l'alarma.

Pas 2: RTC (rellotge en temps real)

RTC (rellotge en temps real)
RTC (rellotge en temps real)
RTC (rellotge en temps real)
RTC (rellotge en temps real)
RTC (rellotge en temps real)
RTC (rellotge en temps real)
RTC (rellotge en temps real)
RTC (rellotge en temps real)

El RTC és el cor bategant de l'aplicació, que permet configurar i mantenir un temps precís.

Podeu trobar més detalls del RTC a Kitronik.

El RTC proporciona un subministrament regulat que nega la necessitat d’alimentar el Microbit mitjançant el seu propi connector USB o JST i es proporciona una còpia de seguretat de la bateria per retenir el temps en cas de pèrdua d’energia.

Abans d'utilitzar el RTC, haureu de carregar el paquet d'extensió.

Mitjançant Makecode de la icona Configuració, seleccioneu Extensions i escriviu Kitronik RTC a la cerca.

Seleccioneu el paquet per instal·lar-lo i s'afegirà a les altres extensions.

Hi ha una sèrie de blocs de codi per llegir i escriure al RTC.

Només necessitarem 4 d'aquests blocs de codi per al rellotge binari.

Aquests s'utilitzaran per escriure l'hora establerta al RTC i per llegir el temps enrere per actualitzar la visualització del rellotge.

Pas 3: Codificació del rellotge

Codificació del rellotge
Codificació del rellotge
Codificació del rellotge
Codificació del rellotge
Codificació del rellotge
Codificació del rellotge

La primera part del codi és la inicialització del programa de variables, matrius i text informatiu.

Inic

Bclk: rellotge binari

<Sel - Un botó selecciona la columna que s'ajustarà per a la configuració del temps.

El botó Inc - B augmenta el temps.

Si premeu tots dos botons A & B, es canvia el mode entre Temps i Alarma.

Strval: és el valor de la cadena que conté l’hora en el formulari “HH: MM: SS” retornat del RTC

Només s’utilitzen HH i MM per mostrar o configurar l’hora.

Mode: conserva el valor de mode per a Time = 1 i Alarm = 2 seleccionats amb la combinació de botons A + B.

Període: és el valor de la columna de temps, seleccionada amb el botó A.

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

Tick_en - Activa = 1 o Desactiva = 0 l'indicador tick (segons).

Inc - Emmagatzematge intermedi del valor de configuració del temps incremental.

Tm_list : emmagatzema el valor de cada columna de temps durant la configuració.

Alarma: activa o desactiva l'indicador d'alarma.

El per sempre crida contínuament a la funció tick.

Marca

La funció de tick que normalment està habilitada, mostra un LED d’encès / apagat altern a la part superior dreta per indicar el funcionament i els segons.

A més, crida a la funció showtm que llegeix el RTC i el processa perquè es mostri en binari, mentre que també crida a alarm_mode, si està habilitat, mostra els LED de notificació d’alarma a la part inferior dreta.

Showtm

La funció showtm, crida a rdtime i el valor utilitzat a partir d’aquest és strval que conté la cadena de temps.

Es crea un bucle que augmenta a través de strval extraient cada número i ignorant el separador ":"

A continuació, cada número es converteix en el seu equivalent binari amb la funció dec2bin i s’assigna a la columna correcta.

Rdtime

Funció rdtime, llegeix els primers 5 caràcters de la cadena retornats del RTC (ignorant la part dels segons) i els passa a strval.

Si es va configurar l'alarma (Mode = 2), els valors establerts d'alarma es comparen amb els valors retornats per l'RTC, si hi ha una coincidència, alarma = 1 si no hi ha una alarma de coincidència = 0.

Alarm_mode quan està activat, mostra dos LED alterns d’encesa / apagat a la cantonada inferior dreta de la columna 4.

Dec2bin

La funció dec2bin converteix un número decimal en binari i el mostra a la columna correcta.

El número que es vol convertir es transmet mitjançant el valor i la columna de visualització es transmet mitjançant el col.

List2 és la matriu on s’emmagatzema la paraula binària de 4 bits del procés de conversió binària.

S'inicia un bucle que procedeix a dividir el valor per 2; la resta s'emmagatzema a l'element de matriu; el valor enter es divideix per 2, es repeteix fins que el valor enter és <= 1 i aquest darrer valor es col·loca a la matriu.

El valor decimal d'un dígit més gran és 9 i en binari és 1001 com a paraula de 4 bits.

Aleshores cal processar la matriu en ordre invers per obtenir el resultat correcte.

A continuació, s'inicia un bucle per encendre el LED correcte a la columna adequada, això s'aconsegueix per a cada ocurrència d'un en la paraula binària de 4 bits.

La interfície humana s’aconsegueix amb botons.

El botó A

Selecciona la columna a la qual s'introduirà el valor horari i es mostrarà un LED il·luminat sobre la columna triada a la fila 4.

Un cop s'han actualitzat totes les columnes de temps, augmentant la selecció a la cinquena columna s'actualitza la variable de temps.

Si el mode = 1, l'RTC s'actualitza, en cas contrari, s'actualitza l'hora de l'alarma.

El botó B

Aquest és el botó d'increment i augmenta la columna de temps seleccionada.

Per reduir els errors i estalviar temps en arribar al valor correcte, es limita el valor màxim que es pot introduir per columna en funció del valor de temps per a un sistema de temps de 24 hores.

Aquests valors màxims s'emmagatzemen a tm_max , un per columna de temps i es seleccionen automàticament en funció de la columna de temps.

Els valors màxims són H = 2, H = 9, M = 5, M = 9

El valor d’increment es converteix en binari a dec2bin i la pantalla s’actualitza.

Selecció del mode A + B del botó

Si premeu els dos botons junts, podeu seleccionar entre el mode d’hora o el mode d’alarma, es mostrarà el mode adequat a la pantalla.

Depenent del mode seleccionat, la pantalla s'actualitza per mostrar l'hora o l'hora configurada d'alarma.

Pas 4: operació

Operació
Operació
Operació
Operació
Operació
Operació

Baixeu-vos el fitxer Hex al Microbit, introduïu una bateria CR2032 al RTC.

Connecteu el Microbit al RTC i alimenteu la placa RTC mitjançant USB o els terminals de cargol.

El LED Tick començarà a parpellejar i poc després es mostrarà l’hora.

Si és la primera vegada que s’utilitza, és probable que l’hora que es mostri sigui incorrecta i s’hagi d’establir a l’hora correcta.

Selecció de mode

Si premeu els botons de selecció (A) i Increment (B) junts, podreu desplaçar-vos entre les opcions de mode entre temps i alarma.

Configuració de l’hora

La configuració de l'hora és en mode 24H.

Utilitzeu el botó de selecció (A) per moure el LED a la fila superior; això indica la columna on es pot canviar l'hora. Les columnes de selecció corresponen a H, H, M i M.

On H = Hores i M = Minuts.

Després d'haver seleccionat una columna, premeu el botó Incrementa (b), repetidament, per incrementar el recompte d'una en cada premuda. Els recomptes s’indiquen en binari, després de tot és un rellotge binari.

El botó d'increment només augmenta el recompte i, un cop assolit el màxim, es restableix a zero, si premeu més, tornarà a augmentar el recompte.

Un cop configurada la primera hora de la columna, premeu el botó Selecció de la següent columna i, a continuació, utilitzeu el botó Increment per establir l’hora de la columna.

Nota: *** Quan configureu l'hora o l'alarma, haureu d'introduir una hora a la columna seleccionada encara que el temps de la columna es mantingui sense canvis, ja que saltar una columna posa el temps de la columna a zero ****

Repetiu el procés fins que s'hagi definit l'hora amb les 4 columnes.

Premeu el botó Selecció per cinquena vegada per moure'l a la cinquena columna i es fixarà l'hora.

Configuració de l'alarma

La configuració de l'hora de l'alarma es fa exactament de la mateixa manera que per a l'hora.

Perquè l'alarma s'activi en el temps requerit, deixeu el mode configurat a Alarma.

Per desactivar l'alarma, configureu el mode a Temps.

Per mostrar el temps d'alarma definit, cicleu el mode entre l'hora i l'alarma i es mostrarà el temps d'alarma durant un breu període de temps abans de tornar a mostrar l'hora actual.

El temps d'alarma no s'emmagatzema al RTC, per tant, si es treu l'alimentació, caldrà reiniciar-lo.

Pas 5: envieu-lo

Box It
Box It
Box It
Box It

El projecte se situarà en l’angle adequat per veure el rellotge, però una caixa afegeix una sensació de permanència.

Podeu comprar una caixa de la mida adequada i tallar i perforar les zones adequades per permetre que el Microbit s’ajusti al sòcol.

Malgrat això; a més, volia duplicar els botons Microbit juntament amb altres controls i indicadors.

Normalment, caldrà aplicar llegendes al quadre per identificar els botons.

Aquests es podrien aplicar a mà; pintat, gravat o aplicant etiquetes.

Un mètode per realitzar totes aquestes opcions seria imprimir la caixa en 3D, però primer hauríem de crear un fitxer CAD amb el qual crear el fitxer de la impressora.

Les opcions de creació de fitxers es dibuixen a mà o es dibuixen amb codi.

Vaig optar per "dibuixat amb codi" mitjançant Tinkercad CodeBlocks

Els fitxers de la tapa de la caixa i de la base de la caixa es poden trobar a Tinkercad CodeBlocks

Pas 6: disseny del codi de blocs

Disseny de codis de blocs
Disseny de codis de blocs
Disseny de codis de blocs
Disseny de codis de blocs

La caixa és un disseny de dues parts que consisteix en una base i una tapa.

S’utilitzaran quatre forats de cargol de cantonada per assegurar la tapa amb un retallable a la part esquerra per permetre l’entrada del connector USB.

La tapa tindrà un retallable per al connector Microbit i els commutadors necessaris, a més, qualsevol text s’imprimirà directament a la tapa i els forats del cargol s’alinearan amb els pilars de la base.

La placa RTC estarà fixada a la part inferior de la tapa per 4 pilars i 4 cargols.

La mida de la caixa més la tapa és de 70 x 105 x 31 mm

El codi per a la tapa i la base està disponible a TinkerCad CodeBlocks.

Pas 7: impressió 3D

Impressió 3D
Impressió 3D
Impressió 3D
Impressió 3D
Impressió 3D
Impressió 3D
Impressió 3D
Impressió 3D

Carregueu els fitxers a Cura i apliqueu la configuració preferida de la llesca.

Configuració aplicada.

Qualitat: 0,15 mm

Omplert: 80%, Tri-hexàgon

Base: vora

Deseu els fitxers i imprimiu-los.

Amb Cura podeu carregar tots dos fitxers junts a la mateixa àrea d'impressió i imprimir d'una sola vegada.

Pas 8: omplir

Omplir
Omplir
Omplir
Omplir
Omplir
Omplir

La tapa de la caixa està impresa amb text encastat que s’omplirà amb resina epoxi de 2 parts de colors.

La resina es barreja amb una proporció de 2 parts de resina a 1 part d’enduridor i després es barreja un pigment de color opac.

El color escollit va ser el groc per contrastar amb el fons. El blanc hauria estat una altra opció.

Un cop barrejada, la resina es deixa anar al recés mitjançant un pal de còctel per transferir petites taques de resina que s’utilitzen per omplir gradualment el recés de les lletres.

Resistiu a posar massa resina al mateix temps, ja que probablement acabareu amb bombolles d’aire o creant massa desbordament a la superfície circumdant, cosa que significarà que n’haureu de treure neteja i poliment un cop curat.

Empleneu-ho lentament assegurant-vos que la part inferior de la lletra estigui coberta i creeu-la acabant amb una lleugera superfície elevada.

Una vegada que la resina s'hagi curat, es necessitarà una mica de lijat lleuger per anivellar la superfície, comenceu amb el grau P240 progressant a graus més fins segons sigui necessari per obtenir un acabat suau acabant finalment amb un esmalt.

No apliqueu massa pressió ni massa velocitat, ja que sobreescalfeu el PLA i la resina que resulten en una superfície apagada a causa de la captació de sorra, una mica d'aigua aplicada durant el procés de poliment actuarà com a lubricant i refrigerant.

Pas 9: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

El Microbit s’adaptarà a la presa de corrent en dues orientacions, orientades cap a la part principal de l’RTC.

Tot i que, si es troba cap a la part principal del RTC, no es poden utilitzar les connexions d’enllaç, si el Microbit està orientat cap a la part principal de la placa, podem fer ús d’aquestes connexions.

El muntatge comença soldant una capçalera de pin SIL d’angle recte al RTC, per permetre que les connexions es facin amb connectors push-push.

El RTC està equipat amb separadors M / F de 4 * M3 (10 + 6 mm) amb femelles M3 que es fixen a la tapa amb 4 * M3 (8 mm), cargols als forats prefabricats.

Els interruptors s’instal·len als forats prefabricats de la tapa.

Les connexions necessàries són:

GND, 3V, P1 (configurat), P2 (alerta), P5 (sel) i P11 (inc)

Nota *** Les resistències (1R) del diagrama de P5 i P11 són simplement punts de connexió de referència, ja que la connexió directa a aquests pins del bloc Microbit als codis no està disponible en aquest moment. ***

P5 és la connexió externa del botó A que es connecta mitjançant un commutador momentani SPST. Una connexió a P5 i l'altre pin està connectada a GND; aquest botó serveix per a la selecció de columnes durant la configuració del temps.

P11 és la connexió externa del botó B que es connecta mitjançant un commutador momentani SPST. Una connexió a P11 i l'altre pin està connectada a GND; el seu botó serveix per incrementar el nombre durant la configuració del temps.

P1 és un commutador SPDT (on-on) que s’utilitza per habilitar o desactivar les opcions de configuració. El pin central va a P1, mentre que un pin es connecta a GND i l’altre a 3V mitjançant una resistència de 10 k. Això permet aplicar una H (3V) i una L (0V) a aquest passador. Quan P1 està connectat a 3V, això habilita les opcions de configuració de l'hora i quan 0V desactiva la configuració de temps. Així es controla si els botons A & B tenen algun efecte.

P2 és un commutador SPDT (encès-apagat-encès) que s’utilitza per habilitar o desactivar la sirena d’alerta i els llums externs opcionals.

L’alerta sonora és un Piezo Buzzer (simplement fixat amb un coixinet adhesiu de doble cara), que requereix una unitat d’impulsió que proporciona Microbit.

Pas 10: Finalment

Heu muntat els elements de la caixa, heu programat el Microbit i l’heu instal·lat al sòcol de la caixa.

A continuació, apliqueu la potència i configureu l'hora.

Gaudeix.

Concurs de codis de blocs
Concurs de codis de blocs
Concurs de codis de blocs
Concurs de codis de blocs

Accèssit al concurs de codis de blocs

Recomanat: