HOME      PROJETOS      PROGRAMAÇÃO     

RELÓGIO DIGITAL COM RTC DS1302 E DISPLAY QUADRUPLO DE 7 SEGMENTOS


Este relógio usa um display quadruplo 3330-5103 de catodos comuns, de cor vermelha, reaproveitado de uma balança digital cujo destino seria a lata do lixo. Dessa balança foram aproveitados também, dois sensores de força (strenght gauge) que poderão ser usados num futuro projeto.

A base de tempo será dada por um integrado DS1302, relógio de tempo real (RTC) de acesso serial, muito simples de ser operado pois o I/O consiste de um pino data e um pino clock. O DS1302 pode usar uma bateria CR2032 de 3.3V como nobreak, assim, se anergia cair, o RTC não para de funcionar e a hora estará sempre correta. Além disso, para operar precisamente, o DS1302 necessita um cristal de 32,768KHZ.




DESCRIÇÃO GERAL DO CIRCUITO

O projeto foi desenvolvido num microcontrolador PIC16F73 de 28 pinos que possui portas de I/O suficientes para todas as funções requeridas pelo projeto:

O display será controlado pelo método de multiplexação. Os pinos de I/O RA0, RA1, RA2 e RA3 serão usados como portas seletoras dos dígitos do display.

Sete pinos de I/O, RB1, RB2, RB3, RB4, RB5, RB6 e RB7, serão usados para acionar os segmentos do display em seus pinos, 10, 11, 8, 4, 9, 12 e 1, respectivamente.

Tres pinos de I/O, RC0, RC1 e RC2 serão usados para comunicação com o RTC DS1302 em seus pinos CE, IO e CLOCK, respectivamente.

Tres pinos de I/O, RA4, RA5 e RB0, serão usados para conectar botões de acerto do relógio. O botão em RB0 faz o sistema entrar em modo de acerto, o botão em RA4 acerta as horas e o botão em RA5 acerta os minutos.

O pino de I/O RC4 é usado por um LED, a fim de indicar que o relógio entrou em modo de acerto das horas. O LED acenderá quando o botão RB0 for pressionado para entrar em modo de acerto e apagará quando RB0 for pressionado novamente para sair do modo de acerto.

O pino de I/O RC3 será usado pelo jump JP1. Quando o jump JP1 estiver presente, o relógio entrará em modo normal, isto é, as horas e minutos serão mostradas no display. Quando o jump estiver ausente, o relógio entrará em modo debug que deverá ser usado em conjunto com o Hiperterminal do Windows. O modo debug foi criado apenas para auxiliar no desenvolvimento do programa e não tem outras utilidades práticas.

Os pinos de I/O RC6 e RC7 serão usados, no modo debug, para comunicação através da porta serial com o Hiperterminal do Windows. Notar que no circuito apresentado não foi incluida a parte de comunicação com a porta serial (RS232) do PC. Para fazer a comunicação entre o relógio e o PC deve-se montar o circuito apresentado no projeto  Comunicação entre PIC e o PC . Se optar por montar o circuito de comunicação, observe que aquele circuito possui os pinos RTS e CTS, porém esses pinos não devem ser usados. Apenas os pinos RX, TX, +5v e GND devem ser usados. Conecte o pino RX do circuito de comunicação ao pino TX do circuito do relógio e o pino TX do circuito de comunicação ao pino RX do circuito do relógio. Inicie o Hiperterminal do Windows numa sessão de 9600BPS e ligue a alimentação do relógio.

Abaixo podemos ver o esquema elétrico completo do circuito do relógio:







O hardware do projeto foi criado com o software EAGLE. Baixe e descomprima no HD, o arquivo projeto_eagle_r3330.zip. Será criada a pasta WALL_CLOCK_PARALLEL_DISPLAY. Abra essa pasta no EAGLE para ver o desenho do PCB.







FIRMWARE

Como dito anteriormente, projeto foi desenvolvido para um microcontrolador PIC16F73.

Baixe e descomprima o arquivo projeto_mplab_r3330.zip no seu HD. Será criada a pasta relogio_3330. Abra a pasta relogio_3330 e clique duas vezes no arquivo r3330.mcp para abrir o projeto no MPLAB e grave o arquivo r3330.hex no microcontroladorPIC16F73.







DOWNLOADS

Projeto Ealge do PCB

Projeto MPLAB do Firmware








PLACA MONTADA















RELÓGIO FUNCIONANDO








Índice dos circuitos




H P S P I N

Desde 04 de Março de 2010

Atualização: 19 de Mar de 2024