FAÇA UM RELÓGIO CONTROLADOR DE 6 CANAIS (VERSÃO PARA DS1307) – COM PIC 16F628A E LCD (REF116)

Acionar dispositivos em determinados momentos programados pode ser muito útil em automação. Veja esta nova versão do controlador de 6 canais usando um RTC DS1307 (comunicação I2C)…

Para facilitar para alguns hobistas que estão tendo dificuldade de encontrar o ci DS1302, de protocolo SPI (3 fios), foi adaptado o código para usar o ci DS1307, de protocolo I2c de 2 fios. Com exceção de usar um fio a menos na ligação com o PIC, poucas coisas mudaram no esquema. Veja abaixo como ficou:

Na parte do arquivo ASM, todas as rotinas de SPI foram substituídas por rotinas I2C. O Programa ficou bem inchado com estas modificações, sendo então necessário a substituição de algumas linhas de código repetidas por chamadas de subrotina. Ainda assim, sobraram poucas linhas de código, sem usar, das 2047 existentes na flash do PIC16F628a.
Com respeito ao uso e aplicações, poderá ver os detalhes no artigo ‘FAÇA UM RELÓGIO CONTROLADOR DE 6 CANAIS – COM PIC 16F628A E LCD’, uma vez que só foi mudado o chip RTC de ds1302 para DS1307.
Obs.: Esta montagem é de caráter didático, sendo montada e testada apenas em placa de protoboard, sendo sujeita a bugs ainda não detectados. São fornecidos os arquivos ASM e HEX, que poderão ser modificados conforme as necessidades dos hobistas.

Segue o arquivo ASM:

RELOGIO_CONTROL_DS1307_ASM

Segue o arquivo Hex:

RELOGIO_CONTROL_DS1307_HEX

Em 27/11/14 foi feita revisão, conforme pasta abaixo:

relogio_controlador_v2

Também, em 30/11/14 foi feita esta versão usando compilador “C”, e atualizada em 03/03/2015, com vantagem de recuperar a situação programada, mesmo com falta de energia momentânea. Foi feita uma nova forma de mostrar a programação do calendário e canais, piscando os elementos que estão sob ajustes. Confira na pasta zipada abaixo:

RELOGIO_CONTROL_DS1307_V_4

O Sr. Edmilson Spigolan nos envia gentilmente uma versão com apenas um canal, usando o mesmo esquema, mas sem montar fisicamente os canais 2 a 6. Segue a pasta com o asm e hex:

relogio_controlador 1 canal

Em 09/09/2017 foi feita uma revisão neste relógio de 1 canal, eliminando um ‘bug’ que deixava a segunda linha um pouco instável na apresentação. Segue os arquivos desta nova versão de 1 canal:

RELOGIO_CONTROL_1C_E

Caso deseje a versão com o circuito integrado DS1302 clique aqui.

Em 27/07/2015 foi feita esta versão, com programação também do dia(s) da semana além das horas, minutos e segundos. Por exemplo: Como irrigação de jardim: acionando eletroválvula da água (destas de máquina de lavar roupas). Podemos programar para regar nas segundas, quartas, sextas, ligando no horário xx:xx:xx e desligando yy:yy:yy (a diferença será o tempo de rega). Segue a pasta com os arquivos desta montagem:

RELOGIO_CONTROL_SEM_6CAN

Manuais:

DS1307
PIC 16F628A
LCD
Esquemas curiosos

Curiosidades:

Como usar melhor o tempo?
Coleta da água da chuva — métodos antigos e modernos
O que é a Grande Bacia Artesiana?
O que revela a visão do invisível?
Os ciclos que sustentam a vida
Já que não pode guardá-lo, use-o bem
Dê mais vida à sua casa
Ondas assassinas: mitos e verdades
Já sorriu para um crocodilo?
Navegar em água e em terra
O esplendor da areia

Outros assuntos:
Lidar com sogros
Aprenda a perdoar
Lidar com dívidas
Como disciplinar seu filho adolescente
Por que eu me corto?
Desempenhem bem o papel de pais
Como fazer seu segundo casamento dar certo
O que acontece quando morremos?
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Adolescentes- O que fazer se estou sofrendo bullying?
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?

Até o próximo artigo!!!

86 comments on “FAÇA UM RELÓGIO CONTROLADOR DE 6 CANAIS (VERSÃO PARA DS1307) – COM PIC 16F628A E LCD (REF116)

  1. sim Claudio ira funcionar da seguinte maneira visualizando pelo lcd o controlador ira temporizar por 3 em 3 horas em periodos de 19 ou 29 dias uma das saidas mandando um pulso de duraçao de 1seg onde esse pulso ira acionar um rele que ira acionar um motor para abrir e fechar a encubadora para refrigerar a mesma.

    1. Olá Marcos!
      Deixa ver seu eu entendi! A sua necessidade é um temporizador com um único canal, que de um pulso de 1 segundo a cada 3 horas , repetindo sempre este ciclo por um período de 19 ou 29 dias, talvez por usar uma chave seletora. Após este período, tudo se desliga. Creio que o melhor seria fazer um novo circuito, mais simples, onde se poderia usar até um pic menor. Mas eu não entendi bem do porque precisa a cada 3 horas refrigerar a sua encubadora, uma vez que provavelmente ela tenha controle automático de temperatura. Seria para renovar o ar ou algo parecido?
      Neste caso, não tem algum arranjo usando ventiladores ou algum tipo de exaustor?
      Cláudio

  2. Boa tarde amigo Larios ,montei o circuito e quando ajusto o relogio data hora tudo certinho ,e passo pelos canais 1 a 6 sem ajusta-los para nenhuma operação de ligar ou desligar alguma carga. simplesmente o relogio volta a apresentar os pontos de interrogação normal isso acontecer

        1. Olá Marcos!
          Eu tive alguns problemas parecidos, mas quando usei uma bateria de 3 volts externamente, obtive solução do problema. Mas o simples fato deste terminal ficar desligado pode ser porta de entrada de ruídos. O datasheet aconselha liga-lo ao gnd se não estiver usando a bateria de segurança.
          Cláudio

          1. ola Claudio estou fazendo alguns testes , e precisaria que esse circuito ficasse funcionando automaticamente da seguinte forma. que quando ligar o controlador ele mandaria um pulso de 1seg em apenas uma das saidas a cada 3 horas por periodos de 19 dias ou 29 dias.para fins de testes em encubadoras.obrigado

          2. Olá Marcos!
            Terá que alterar bastante coisa no programa, e eliminar outras partes que não usará.
            Poderia falar para nós como isto funcionaria?
            Cláudio

  3. Esqueci de comentar, os fins de semana poderiam ou não programar pois mesmo sendo raro as vezes temos aulas ao sábado. Pois se ficar direto sem discriminar os dias da semana os vizinhos poderiam ficar chateados. Mas se não for possível ficamos contentes acionando nos horários pre programados. Pensando aqui isso poderia ser usado mesmo até em fabricas para controlar os horários dos funcionários. Mais uma vez obrigado.

  4. Olá, novamente Claudio, bom estou usando somente uma saída com o código cedido gentilmente pelo Edmilson. Eu trabalho em uma escola municipal e o que acontece que o sinal “sirene” e dado manualmente apertando um interruptor. Eu gostaria de saber se seria possível alterar o código para que o relógio virasse um sinaleiro. Ou seja fosse capaz de acionar o rele 1 em horários diferentes por exemplo “07:00,09:30,09:45,11:15″e a tarde “13:00,15:00,15:15,15:20,15:35 e por fim 17:15 termino horário tarde”, isso com pulso da sirene por 5 segundos. Isso para acabar com as reclamações dos professores pelo fato do “apertador do botão” não ter muito critério com os horários. Eu faria essa alteração se soubesse programação porem não sei, se você puder nos ajudar com esse problema a comunidade escolar ficaria muito grata pois a placa e a caixinha já estarei doando para a escola. Obrigado

    1. Olá Hemerson!
      Acredito ser uma ideia interessante esta sua sugestão. O problema é tempo para fazer este programa ! Vou anotar no caderninho como sugestão para um futuro artigo.
      Obrigado
      Cláudio

  5. Cara queria usar uma saída AN para usar um LM35, como faço pra mudar isto? Não manjo mto. Tem como vc adicionar a essa um Lm35? Ficaria nota 10 se tu fizestes isso.

      1. Entao, o que eu queria é que no display, além de aparecer data e hora, tbm mostrar a temperatura, ficaria mto bom,creio q seja coisa simples, porém não tenho a mesma habilidade q vc

        1. Olá Superfitness!
          Entendi agora o que deseja. Mas infelizmente, o pic 16f628a não dispõe de conversor analógico/digital, o que impossibilita a leitura de tensão neste projeto.
          Cláudio

Comments are closed.

Back To Top