» Electrònica » Arduino »Rellotge binari amb alarma i temporitzador a Arduino Uno

Rellotge binari amb alarma i temporitzador a Arduino Uno


Havent rebut un parell de juntes Arduinoi diversos components de ràdio per conèixer-se amb els microcontroladors, l’autor va decidir fer alguna cosa interessant i alhora útil. Tenint en estoc un gran nombre de leds, va sorgir la idea de crear un rellotge binari.

Pel que fa a l’electrònica, un rellotge binari no és especialment complicat, però l’autor va complicar la tasca i va decidir no guardar botons i leds. Inicialment, el projecte consistia a utilitzar 22 LEDs, 6 botons i un tweeter. També hi va haver una idea de muntar un rellotge a l'Arduino Mega a causa d'un nombre més gran de pins, però els registres de canvis 74HC595 van resultar ser una salvació.

Materials:
- Arduino Uno
- 2 taules de mida completa
- LEDs vermells de 7 peces
- LED verds 7 unitats
- LED blau de 6 unitats
- 2 LEDs grocs i blancs
- Resistors 220 ohms 25 unitats
- Buzzer piezo 1 unitat
- 6 botons tàctils
- Majúscules registres de sortida 74HC595 en paquet DIP-16 de 3 peces
- Cables de connexió de 90 peces
- Mòdul de rellotge en temps real basat en el xip RTC DS1307

Com funcionarà tot
Hi ha uns 10 tipus de rellotges binaris. Alguns mostren el temps en format binari decimal (BCD), d'altres com a números binaris. Com que l’autor no li agrada especialment el rellotge BCD, va decidir fer el seu binari pur. Hi ha qui costa més llegir, però la diferència no és gran, perquè traduir nombres de binari a decimal és fàcil. També un requisit previ per al creador del rellotge era una indicació dels segons en què es rellotge.

A més, el rellotge té 6 botons:
Configuració: és responsable del mode de configuració del rellotge / alarma i de salvar el paràmetre en el mode de configuració.
Mode: responsable del canvi entre els modes de rellotge, alarma i temporitzador.
Pujada: en la configuració del rellotge / alarma / temporitzador, augmenta el paràmetre per un. Al despertador i al temporitzador, és responsable de l’activació i desactivació del mode seleccionat. Quan es dispara un senyal, aquest desactivarà el senyal d’alarma / temporitzador.
Baixada: en la configuració del rellotge / alarma / temporitzador, reduirà el paràmetre en un. El temporitzador l’aturarà sense restablir el compte enrere. Quan l’alarma s’apagui, transferirà el senyal durant 5 minuts.
24/12: canvieu el format d’hora.
Dim: responsable de l'encesa i apagat dels LED (quan els LED estan apagats, els botons restants deixen de funcionar).
Diagrama de posicionament LED:
Rellotge binari amb alarma i temporitzador a Arduino Uno


Connexió de components
L’autor connectarà tots els LED en sèrie i amb una resistència. La resistència es solda a un dels terminals dels LED, no importa quin. Els leds estaran connectats mitjançant registres de canvi, aquest xip té 16 contactes.Aquest nombre de pins us permet utilitzar un gran nombre de pins, agafant només 3 pins a l'Arduino.

Shift Register Pinout 74HC595:
El Q0-Q7 són les conclusions del registre al qual es connectaran els LED.
Se li aplicarà un pin d'alimentació de 5cc.
GND: terrestre connectat a GND a Arduino.
OE: el passador és responsable de l'activació invertida dels pins, però no s'utilitzarà, simplement s'escurça a terra.
Neteja de registre invertit MR: no cal controlar-lo, per tant, estarà connectat a una font d'alimentació de 5V.
ST_CP - pin és responsable de l'actualització de l'estat del registre. Quan es gravi l'estat, cal aplicar-lo LOW, després de gravar - HIGH, per actualitzar l'estat de les sortides. Ha d'estar connectat a un passador de l'Arduino. Podeu connectar aquest pin en tres registres en paral·lel.
SH_CP - pin, responsable del canvi per 1 bit del registre. Ha d'estar connectat a un passador de l'Arduino. Estan connectats en microcircuits també en paral·lel.
DS: les dades que s’envien a aquest pin estan connectades al pin de l’Arduino.
Q7 ': aquest passador s'utilitza per a la connexió en cascada amb altres registres 74HC595.

Diagrama de cablejat:


El timbre piezo estarà connectat al tercer passador Arduino en sèrie amb la resistència. Abans d’incloure el tweeter al circuit, l’autora va mirar quins pins suporten PWM, ja que això és obligatori per a ella. A l'Arduino Uno, PWM suporta 3, 5, 6, 9, 10 i 11 pins.


Els botons es connecten mitjançant resistències integrades a l'Arduino, amb un costat dels botons connectats a terra i l'altre als pins Arduino.


Així doncs, el disseny final sembla:


Construir a la pissarra
Després d’adquirir detalls addicionals, l’autor va començar a muntar el projecte en un tauler de pa d’acord amb els esquemes. L’aspecte va estar a punt d’esperar, ja que el panell de taula restringeix la llibertat en la col·locació de components i el fet d’enganxar cables no va crear plaer estètic. Però el panell de pa està pensat per a models de panell, però no per a dispositius acabats.


Codi del programa.
Tenint experiència en la programació, l’autor va decidir escriure codi pel seu compte, sense utilitzar els desenvolupaments d’altres persones. El primer pas va ser escriure una subrutina, és responsable de parpellejar tots els díodes i donar el senyal piezo quan està activat. Aquesta funció ajuda a verificar la integritat del circuit, similar a la implementada en molts dispositius.

L’esbós va sortir força ampli, a continuació, podeu considerar les seves principals característiques.

Funcionament LED.
Com que s’accedeix als LED a través del registre de canvis, en primer lloc, va ser necessari implementar més rutines per als LED. Per a un funcionament més fàcil amb díodes, s'han implementat diverses funcions addicionals. S'implementen diversos efectes d'animació de díodes. Quan no es defineix el rellotge, els díodes responsables de les hores i els minuts començaran a parpellejar (ja que un rellotge normal parpelleja quan no està configurat). Els leds responsables de segons també tenen animació pròpia, el díode pot funcionar a l'esquerra ia la dreta en el mode d'alarma o en el mode de rellotge.

Llaç principal.
El programa està configurat per funcionar de la manera següent: el rellotge mostra informació depenent de l'estat actual i canvia el seu estat segons l'ús de botons i esdeveniments. Tot sembla una quantitat considerable de condicions nidificades. L'estat dels díodes s'actualitza cada vegada després de comprovar l'estat dels temporitzadors i els botons amb una trucada al gestor.

A més, l’autor va fer un gran treball per al correcte funcionament dels botons i dels temporitzadors d’entrada. Es pot descarregar el codi font de l'esbós a l'article.


Inicie la maquetació
Després d’encendre el projecte, a primera vista, el dispositiu funcionava correctament i de forma estable. Però l’autor va trobar un defecte, el rellotge es trobava enrere un segon per hora, durant molt de temps seria un gran error.


Després d'haver estudiat aquest problema, es va comprovar que l'Arduino Uno original utilitza un ressonador ceràmic i que no té precisió per mesurar el temps en períodes llargs. La solució més racional era comprar un rellotge en temps real, a més, a causa d’aquest mòdul, el temps del rellotge no s’equivocarà quan s’apaga. L’autor va comprar el mòdul Grove RTC a Seeed Studio. És un tauler acabat amb un xip de rellotge. L'autor va connectar a terra els pins del mòdul SDA i SCL a l'Arduino als pins d'A4 i A5, GND. Com que la potència de 5 V està ocupada per la placa del rellotge, no hi havia cap lloc per connectar el mòdul. L’autor va decidir alimentar el mòdul a partir d’un dels pins digitals, que s’energia constantment.A més, l’autor va necessitar modificar el codi font i afegir una biblioteca de rellotges en temps real.


Muntatge de rellotges
Després d’haver completat un llarg treball sobre el codi, és hora de donar un aspecte complet al dispositiu i transferir-lo de la placa a la placa de circuit imprès. Primer de tot, calia fer el cablejat per al tauler. Per això es va utilitzar el fregament, ja que l’autor ja tenia una idea de l’aparició del rellotge, i va construir un esquema de dispositius. L’autor també traça manualment el tauler, va trigar molt de temps.
Projecte per a la producció de plaques de circuit imprès:


La fabricació de PCB es va encarregar a la Xina. Seeed Studio té un servei de placa PCB Fusion. Mitjançant Fritzing, el fitxer es va exportar al format Extended Gerber, molts fabricants de taulers hi treballen. Dues setmanes després, l’autor va rebre la taxa tan esperada al correu.


Només restava la soldadura de peces poc polsades al tauler. El resultat final després de la soldadura semblava molt millor que el disseny a la pissarra.


L’autor del projecte va treballar molt durant molt de temps i va obtenir el que volia: un rellotge binari únic amb temporitzador i despertador. Utilitzant el compartiment de la bateria, el rellotge es pot col·locar en qualsevol lloc. Arduino va complir les expectatives i va fer front completament a la tasca.

binclock-master.zip [23,53 Kb] (descàrregues: 175)
10
10
10

Afegeix un comentari

    • somriuresomriuxaxad'acordno ho séyahoonea
      capratllarximplesísí-síagressiusecret
      ho sentoballarballar2ballar3perdóajudarbegudes
      pararamicsbébondatxiuletswoonllengua
      fumaraplaudintcranideclararderisiudon-t_mentiondescarregar
      calorirritariure1mdareuniómosquitnegatiu
      no_icrispetescastigarllegirporespantosbuscar
      burlargràcies_youaixòto_clueumnikagutd'acord
      dolentbeeeblack_eyeblum3ruborpresumirl'avorriment
      censuradaplaersecret2amenaçarvictòriatusun_bespectacled
      xocrespectlolpreveurebenvingudaKrutoyja_za
      ja_dobryiajudantne_huliganne_othodifludprohibicióa prop

Us aconsellem que llegiu:

Doneu-lo al telèfon intel·ligent ...