FAÇA UM TIMER PROGRAMÁVEL – C/ ATTINY2313 E DISPLAY LCD 16X2 (REF245)

Mais uma opção para controlar o tempo de seus processos…

Quem trabalha com confecção de circuito impresso por processo fotográfico sabe da importância de controlar bem o tempo de exposição a luz.
Mas no dia a dia, encontramos aplicações das mais inusitadas. Por exemplo, imagine o prato principal de uma refeição sendo cozido no forno. Um timer que indique o fim do tempo de cozimento impedirá que sua deliciosa refeição vire carvão!
Esta montagem trata justamente de mais uma versão de timer, desta vez usando o microcontrolador ATtiny2313. Veja o esquema abaixo:

Para usa-lo basta programar o tempo desejado entre 0:01 a 59:59, e em seguida, apertar o botão ‘On/Pause’. Os botões ‘Seg’ e ‘Min’ ajustam respectivamente os segundos e os minutos. Apertando começa a incrementar e soltando para o incremento. Somente podemos ajustar o tempo quando em ‘pausa’ ou ‘desligado’ por tempo. Se estiver em ‘pausa’ e ajustamos qualquer um dos valores, o display passa a mostrar ‘Timer Off’ ao invés de ‘Timer Pause’. Quando em modo ligado, ou seja, está acionando a saída e contando tempo para desligar, o LCD apresenta ‘Timer On’. Quando apertamos para pausar, também desliga o relé e a carga na sua saída.
Quando o tempo atinge o valor ’00:00′, além de desligar o relé, também ativa um ‘beep’ produzindo um sinal sonoro do termino do tempo, parecido com os usados em forno de micro-ondas. Podemos zerar os segundos e minutos, por simplesmente apertar simultaneamente os botões ‘Seg’ e ‘Min’. Foi usado um simples disco piezoelétrico, pois a frequência é gerada por software.
O programa C foi compilado usando Mikroc PRO for AVR 6.1. A versão Demo permite compilar até 4096 bytes de programa final.
Não foi possível usar as rotinas internas para Lcd, como o Lcd_chr, Lcd_Out, etc. O motivo: elas consomem muita memória de programa e junto com as outras rotinas produzem um arquivo maior que os 2k da flash do ATtiny2313. Então, foi usado uma rotina simplificada para operar o Lcd, com menos consumo de memória.
Para programar foi usado o hardware do artigo “PROG_AVR – FAÇA UM SIMPLES PROGRAMADOR SERIAL PARA AVR ATMEL” junto com o PonyProg2000, por meio da porta serial do PC.
Importante: A palavra de configuração do ATtiny2313 tem que ser programada para operar com o oscilador externo a cristal. De fábrica ele vem programado com oscilador interno a 8 Mhz de clock. Coloque um Xtal de 4mhz nos pinos 4 e 5 antes de alterar a palavra de configuração. O bit div/8 não deve ser programado.
Usando o PonyProg2000, podemos ver abaixo, como ficou configurado:

Obs. Esta montagem é de caráter didático, sendo realizado em placa de montagem experimental ( tipo breadboard), sujeita a bugs ainda não observados. Está sendo fornecido os arquivos que poderão ser alterados pelos hobistas conforme a sua necessidade.
Atenção: Antes de fazer placa de circuito impresso para este circuito, monte em placa experimental e teste para certificar que ele atende as suas necessidades.

Segue pasta com os arquivos desta montagem:

TIMER_60MIN_AT

Manuais:

ATtiny2313

Curiosidades:

As catacumbas de Odessa — um labirinto subterrâneo
Faça bom uso de sua curiosidade
Carvão — rochas negras extraídas de um buraco escuro
Os desafios para resolver o “problema da longitude”
Horário de verão: de quem foi a ideia?
Como o sol pode brilhar à meia-noite?

Outros assuntos:
O que é a fera cor de escarlate de Apocalipse capítulo 17?
O que o Reino de Deus realizará?
Quão grande é a sua bondade?
Como se dar bem com seus irmãos?
Como lidar com mudanças
Quando acontece uma tragédia

Vídeos:
Vídeos de introdução a livros da Bíblia
Como enfrentar o bullying sem partir para a briga
Quem é o Autor da Bíblia?
Será que é amor ou paixão?
Tenha mais paciência
Fale a verdade
Eu me cansei das religiões

Até o próximo artigo!

Back To Top