Faça este relógio digital de 7 segmentos com circuito de alerta sonoro

Neste post, vamos construir um relógio digital usando um display LED de 7 segmentos com design controlado pelo Arduino.

DE:

Como funcionam os circuitos

O circuito de clock de 7 segmentos proposto é barato e até mesmo um iniciante no Arduino pode fazer isso facilmente. Este relógio consiste em quatro displays de 7 segmentos, dois por horas e dois por minutos.

A tela é combinada com o IC 4026, projetado para lidar com telas de 7 segmentos. Cada IC 4026 é controlado pelo Arduino.

Este relógio possui uma função de alerta de bipe, que emite um bipe a cada início de hora, dando uma idéia aproximada do tempo sem olhar para o relógio. Este relógio não possui função de alarme.

O código do Arduino não precisa de nenhuma biblioteca especial para compilar o programa. O relógio tem um design muito minimalista, apenas quatro monitores e dois LEDs para o indicador AM / PM e não possui funções sofisticadas além de emitir um bipe a cada hora.

Protótipo do autor:

Resultado do teste do relógio digital de 7 segmentos

Aqui está um protótipo completo com papelão e resíduos:

O desenho:

O circuito consiste em quatro IC 4026s para controlar quatro displays de 7 segmentos e o cérebro do relógio do arduino. Dois resistores pull-out são conectados ao pino de redefinição do IC 4026 para evitar redefinição acidental devido à carga estática. Indicador AM / PM conectado ao arduino em combinação com um resistor limitador de corrente de 330 ohm.

Nota: resistores de 220 a 330 ohm devem ser conectados a cada segmento do display.

Relógio digital de 7 segmentos com circuito de alerta sonoro

Configuração de pinos IC 4026:

Configuração de pinos IC 4026

O circuito de busca:

O circuito de som é apenas um multivibrador monoestável projetado com o IC555. Quando um pulso negativo é alimentado no pino 2 do IC555, ele emite um bipe por aproximadamente um segundo. Este alerta de áudio ajuda o usuário a ter uma ideia aproximada do clima. O pino 2 do IC555 deve estar conectado ao pino 10 do arduino.

Circuito de campainha IC 555

Código do programa:

//---------Program developed by R.Girish---------------//
int mint=13;
int hrs=11;
int beep=10;
int rst=8; // reset to mint ic.
int rsth=9; //reset to hrs ic.
int am=7;
int pm=6;
int y=0;
int t=0;
int x=0;
void setup()
{
pinMode(beep,OUTPUT);
pinMode(hrs,OUTPUT);
pinMode(am,OUTPUT);
pinMode(pm,OUTPUT);
pinMode(mint,OUTPUT);
pinMode(rst,OUTPUT);
pinMode(rsth,OUTPUT);
}
void loop()
{
digitalWrite(beep,1);
digitalWrite(13,0);
delay(10000);
delay(10000);
delay(10000);
delay(10000);
delay(10000);
delay(10000);
digitalWrite(13,1);
t=t+1;
if(t==60)
{
digitalWrite(rst,1);
digitalWrite(rst,0);
digitalWrite(hrs,1);
digitalWrite(hrs,0);
digitalWrite(beep,0);
digitalWrite(beep,1);
x=x+1;
y=y+1;
t=0;
delay(2000);  // error fixing (varies with temperature)
}
if(x==13)  // display 1'O clock after 12'O clock.
{
digitalWrite(rsth,1);
digitalWrite(rsth,0);
digitalWrite(hrs,1);
digitalWrite(hrs,0);
x=1;
}
if(y<12) { digitalWrite(am,1); digitalWrite(pm,0); } if(y>=12)
{
digitalWrite(pm,1);
digitalWrite(am,0);
}
if(y==24) y=0;
}
//---------Program developed by R.Girish---------------//

Como definir a hora:

Sendo um design muito minimalista, o “botão de redefinição” pode ser usado para definir o tempo. Mas o usuário precisa definir a hora com a ajuda do relógio de referência. O usuário deve redefinir o arduino exatamente às 12 horas. Feito isso, o relógio atualiza a hora por conta própria.

Nota: Como o relógio digital de 7 segmentos, explicado acima, usado pelo Arduino não possui um “chip de relógio em tempo real””, para manter a hora exata, é possível que o tempo possa ser avançado ou atrasado devido a uma mudança de temperatura meio Ambiente.

Para corrigir isso, aqui estão as etapas:

• Se o seu relógio avançar o tempo de referência por alguns segundos, ele deve ser mais lento, observe a diferença e insira o valor no programa em milissegundos.

atraso (2000); // correção de erros (varia com a temperatura) Isso diminui alguns segundos a cada hora.

• Substitua 2000 por seu valor.

• Se o relógio estiver atrasado, defina o “atraso (0); // correção de erros (varia com o tempo) “e faça as seguintes alterações no programa:

delay(10000);
delay(10000);
delay(10000);
delay(10000);
delay(10000);
delay(10000);
to
delay(10000);
delay(10000);
delay(10000);
delay(10000);
delay(10000);
delay(9700);

Substitua “atraso (9700);” com seu valor para acelerar o tempo a cada minuto.

Essas etapas não garantem que o tempo seja sempre preciso, mas ajuda a manter o tempo com imprecisão mínima. O design proposto é de 12 horas.



FONTE

Nota: Este foi traduzido do Inglês para português (auto)

Pode conter erros de tradução

Olá, se tiver algum erro de tradução (AUTO), falta de link para download etc…

Veja na FONTE até ser revisado o post.

Status (Não Revisado)

Se tiver algum erro coloque nos comentários

Mas se gostou compartilhe!!!


Relacionados

Top de Hoje

Top de Hoje

———-

Ver Mais

Axtudo Gostaríamos de mostrar notificações sobre as últimas notícias e atualizações.
Liberar
Permitir notificações