RELÓGIO ESCOLAR – AUTOMATIZADOR DE SIRENE – COM PIC 16F628A E DS1307 (REF183)

5

Proporcionando praticidade e precisão no gerenciamento da sirene sinalizadora de períodos de aulas …

Quem não se lembra da hora do recreio! Alguns momentos antes ficávamos esperando ansiosos o toque do sinal!
Atualmente, com a ajuda de microcontroladores fica mais fácil implementar um sistema de automatização de toques deste tipo de sinal, para uso em escolas. Através de um rele na sua saída, poderemos acionar uma sirene escolar ( do tipo usado em ambulancias) ou mesmo uma simples campainha do tipo ‘cigarra’.
Veja como ficou o esquema para esta montagem:

Em princípio, montamos um relógio com calendário usando um circuito integrado RTC chamado DS1307 em conjunto com um pic 16f628a, e visualizamos as informações através de um LCD 16×2. A programação é realizada por meio de 6 interruptores ligados ao circuito.
O programa permite que seja feita o ajuste de até 31 horários de acionamento diferentes, sendo o tempo de acionamento também programável de 1 a 30 segundos. No modo ‘uso’, o LCD mostra na linha superior as horas, minutos e segundos. Na linha inferior temos um ‘*’ se o interruptor ‘sábado’ estiver ligado (indicando que a programação irá funcionar também no dia de sábado). Em seguida, mostra o dia da semana usando 3 dígitos (ex. ‘SEG’ para segunda-feira), e o calendário com dia, mês e ano.
Ao apertar o botão ‘menu’ passamos para o modo de programação. O horário passa a piscar e através dos botões seg’, ‘min’, ‘hora’ podemos alterar os valores. Outro aperto no botão ‘menu’ fará que o dia da semana fique piscando, pronto para ser alterado pelo aperto de qualquer um dos botões ‘seg’, ‘min’ ou ‘hora’. Mais um aperto em ‘menu’ permitirá o ajuste do tempo de acionamento da sirene ligada. Ainda mais outro aperto levará a programação de um horário de acionamento, sendo o total de 31 possíveis horários. Note que ao apertar o botão ‘menu’ por mais de 5 segundos levará a sair do modo de programação de forma antecipada. Isto é prático quando queremos ajustar apenas o relógio sem mexer na programação dos horários de sinais. Um detalhe importante é que temos que ir até ‘ajuste de tempo da sirene’ para então apertarmos por 5 segundos para sair, se queremos gravar as mudanças realizadas no relógio e calendário. Após programar a posição 31 e acionar novamente o botão ‘menu’ também sairá do modo de programação.
Na programação de horários usamos o botão ‘l/d’ para ligar ou desligar o horário ajustado. Os horários não utilizados devem ser desligados de modo que mostre a letra ‘D’ no display. Senão, ficarão operando mesmo que estejam em 00:00:00 (meia-noite vai tocar a sirene).
O programa não permite o acionamento da sirene aos domingos e nos sábados somente se o interruptor ‘sábado’ estiver acionado.
Isto permite um pouco de descanso para os vizinhos da escola, que poderão dormir mais tarde sem serem incomodados pelos toques de sirene desnecessários.
O rele de saída deverá ter contatos que suportem a corrente da sirene ou cigarra a ser utilizada. A alimentação poderá ser feita com uma destas fontes que ficam direto na tomada, de 110 volts para 12 volts ou mesmo usando um transformador montado na placa, com os diodos retificadores e capacitores de filtro tradicionais.
Obs. Este circuito é experimental e didático, sendo montado e testado apenas em placa do tipo protoboard, sendo sujeito a bugs ainda não observados em uso. Esta sendo fornecido os arquivos que poderão ser alterados pelos hobistas segundo as suas necessidades de uso.

Segue a pasta com os arquivos desta montagem (Compilador CCS C), atualizado em 07/11/2015 (retirado bug de disparo as 00:00:00 hs):

relogio_escolar_ds1307_v2

Segue a pasta com os arquivos desta montagem (Compilador XC8), atualizado em 07/11/2015 (retirado bug de disparo as 00:00:00 hs):

RELOGIO_ESCOLAR_DS1307_XC8_v2

Manuais:

Pic 16f628a
DS 1307
Lcd 16×2
Sirene
Cigarra

Curiosidades:
O planeta vivo
O favo de mel
Padrões intrigantes nas plantas
As células — bibliotecas vivas
Mosaico — pinturas feitas com pedras
O incrível ovo de avestruz
A resistente cabeça do pica-pau
Navegação automática
Faça bom uso de sua curiosidade

Lições do Passado:
Ciro, o Grande
Platão
Heródoto
Constantino
Galileu
Robert Boyle
Joseph Priestley
William Whiston

Outros assuntos:
Três perguntas que as pessoas gostariam de fazer a Deus
Criação ou evolução? — Parte 1: Por que acreditar em Deus?
Criação ou evolução — Parte 2: Por que duvidar da evolução?
Como posso controlar a minha raiva?
Como posso me dar bem com meus pais?
Existem contradições na Bíblia?
Por que Deus permitiu o Holocausto?
Qual é o sentido da vida?

Videos para assistir com seus filhos pequenos:

Proteja seus filhos
Aprenda a perdoar
Divida suas coisas com outros
Jeová criou todas as coisas
Seja limpo e organizado
O que é um amigo de verdade?
Dar de coração traz alegria
Por favor e obrigado
É errado roubar
Como enfrentar o bullying sem partir para a briga

Videos Motivadores:
Vejo a vida com as mãos
‘Eu estava cheio da minha vida’
Um novo começo
Japão — refazendo a vida um ano após o desastre
Uma exposição histórica
Deus tem nome?

Até o próximo artigo!!!

5

25 comments

  1. 0

    olá Claudio bom dia, eu quero lhe agradecer por compartilhar esse projeto.
    Bom eu trabalho em um colégio, e esse seu projeto é perfeito, simples e funcional.
    A principio eu montei ele em uma placa de teste e esta funcionando perfeitamente a vários dias.
    Eu gostaria de fazer uma pergunta ao Sr, seria possível eu separar os dias da semana? explico melhor, exemplo: de segunda a quarta toca o sino do recreio as 9:00, na quinta o recreio sai as 9:25 e na sexta as 9:00 novamente.
    Eu estive vendo seu código escrito em XC8 mas meu nível de conhecimento em C é bem amador! estou tentando fazer essa mudança que citei acima mas to meio enrolado. kkkkkkkkkkkkkkk

    Att: lindomar.

    1. 0

      Olá Lindomar!
      O objetivo deste relógio é acionar a sirene em horários que se repetem todos os dias. No seu caso é uma exceção e realmente necessitaria uma programação por dias da semana. No projeto atual acredito não ser possível alterar isto, por falta de espaço na flash do PIC usado. Talvez um outro projeto com um PIC com mais flash e mais memória EEprom. Fica anotado no “caderninho” para uma futura montagem.

      Cláudio

      1. 0

        Olá grato pelo retorno, sim eu percebi que o F628 ficou limitado de memoria! , eu estou migrando ele para o 16f887 no CCS! que eu sou mais entendido 👿 kkkkkkkk. se der certo eu volto pra ti contar. Muito obrigado por hora..

        lindomar.

  2. 0

    Antes de mais estas de parabens com este projecto simples e pratico. Estou tentando simular no Proteus este projecto mais sinto que a contagem de segundos esta muito lenta. A que se deve?

    1. 0

      Olá Edilson!
      Não saberia informar, pois não tenho usado simuladores para testes, apenas montagem real em placa de montagem experimentais (tipo ‘Protoboard’). Sugiro que verifique as configurações do seu programa de simulação. Poderá buscar ajuda em blogs dos usuários do Proteus também.
      Cláudio

  3. 0

    Olá Claudio…
    … Primeiro gostaria de te dar os parabéns pelo trabalho e por essa sabedoria em compartilhar tantas informações e conhecimentos, coisa muito rara nos dias de hoje, parabéns mesmo!
    Montei esse circuito (RELÓGIO ESCOLAR) e funcionou muito bem, porem ele aciona o relé as 00:00 mesmo com as programações de desse tempo desligadas (D). Saberia me informar o que devo mudar?
    Muito Obrigado!

    1. 0

      Olá Silvio!
      Esta situação é típica de quando se esquece uma das programações acionadas acidentalmente (L). Verifique cuidadosamente, uma a uma, se não está acontecendo isto. Se conferir que realmente estão todas desligadas, me retorne dizendo se usou a versão compilada com CCS ou XC8 para poder montar o circuito na placa novamente e efetuar testes.
      Cláudio

      1. 0

        Olá Claudio…
        … conferi cada uma das programações, principalmente as “00:00” e todas estão com a indicação “D”. Usei a compilação feita no CCS.
        Muito obrigado!

      1. 0

        Olá Claudio…
        Gravei o novo HEX. (CCS) e funcionou perfeitamente.
        Muito obrigado e parabéns mais uma vez por seu trabalho e senso de compartilhar conhecimento.
        Obrigado mesmo!

  4. 0

    claudio boa noite gostaria de saber c e posivel programar um pic 16f676 para rodar um motor trifasico com saida pwm crato wesley

    1. 0

      Olá Wesley!
      Eu não saberia dizer se isto é possível ou se já foi feito. Mas fica muito difícil usa-lo nesta aplicação, pois o ideal é termos 3 módulos PWM feitos em Hardware no próprio PIC. Desta forma deixa mais tempo para o microcontrolador realizar os cálculos para o disparo e correção de fases.
      Cláudio

    1. 0

      Olá sidsc!
      O programa atual permite mudar entre 1 e 30 segundos. Qual seria o tempo que você deseja?
      Cláudio

  5. 0

    Olá Claudio.
    Parabens pelo projeto.
    Montei-o na placa de ensaios.Funcionou tudo na perfeição.
    Muito obrigado.

    Sempre grato.

    Costa Eusébio.

    1. 0

      Olá Costa Eusebio!
      Fico feliz que tenha conseguido montar com sucesso. Obrigado por retornar esta informação, pois indica que os arquivos foram postados corretamente.
      Cláudio

  6. 0

    larios: parabéns pelo exelente e utilizavel projeto,visto pela versatilidade e facilidade está incluido tudo que se espera de um bom projeto, agora é so usar a imaginação e usufruir plenamente dos recursos oferecidos pelo mesmo. congratulation

  7. 0

    Claudio, obrigado pela atenção e obrigado por publicar um circuito tão util para todos da comunidade escolar. Um forte abraço. 😛

    1. 0

      Olá Hemerson!
      Espero sinceramente que o circuito funcione a contento e possa realmente ser útil na comunidade escolar, como uma agradável contribuição social.
      Cláudio

Comments are closed.