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:
Segue o arquivo Hex:
Em 27/11/14 foi feita revisão, conforme pasta abaixo:
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:
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:
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:
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:
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!!!
Bom dia Claudio,
Eu experimentei o programa e funciona perfeitamente.
Agradeço a sua atenção.
Este projeto é muito bom, eu vou usar para programar as luzes da casa quando eu não estou e fingir que alguém está dentro.
Pode ser dado muitas aplicações.
Muito obrigado.
Olá Claudio, eu tenho armado circuito e funcionando bem, no entanto, quando é executado momentaneamente fora de tensão, o circuito já não monta o relé que, de acordo com o programa deve ser montado, ou seja, as saídas não são devolvidos ao seu status que tinha antes deixado sem tensão.
Você vai apreciar a sua ajuda muito.
Saudações.
(Desculpe, eu escrevi tradutor espanhol-Português)
Olá Jandos!
Obrigado por trazer atenção este assunto. Assim que tiver um tempo livre, irei montar o circuito e fazer testes. Por favor, aguarde um futuro retorno.
Cláudio
Olá Jandos! Por favor, experimente esta versão atualizada do relógio controlador postada no artigo em adição e com link rápido aqui. Nesta versão, a situação de cada saída fica gravada na eeprom, sendo recuperada ao reiniciar o microcontrolador. Será útil apenas para quedas momentâneas de energia, já que os reles, sem energia não funcionam.
Cláudio
Olá Cláudio, tudo bem? Parabéns pelo projeto. É extremamente inteligente. Ficou excelente 😀 . Você teria o mesmo com apenas 1 canal na linguagem CCS C? Um abraço e fica com Deus.
Olá Xuguinho! Muito obrigado por seu elogio. Infelizmente só tenho na versão ASM.
Cláudio
Muito obrigado Edimilson e a você também Claudio. Já vou começar a montar hoje mesmo. Um forte abraço a todos do Blog.
Olá Claudio, você teria o código modificado para acionar somente o rele 1. Não sei muito de programação para alterar o seu código e usar somente o rele1; se tiver você pode me enviar.Obrigdo
Olá Hemerson!
Aguarde mais um pouco por resposta do Edimilson . Talvez ele já tenha pronto,
Claudio
Olá Hemerson! O Sr. Edmilson cedeu gentilmente o asm e o hex da sua versão de um canal. O link está incorporado ao artigo. Ou clique aqui para obte-lo.
Cláudio