terça-feira, novembro 15, 2016

Novo Timer para Apresentações - Hardware

Esta é uma brincadeira que todos gostam: um timer em formato de explosivo. Já fiz um projeto usando um ATtiny e um módulo de display comprado na DX, mas agora resolvi fazer algo com componentes disponíveis em lojas aqui no Brasil para uma palestra/oficina no 13o BSides SP.


Esta é a versão anterior


Para ficar bem acessível, a base do timer é um Arduino. O circuito e o software do projeto podem ser usados sem alterações com os vários Arduinos baseados no ATmega operando a 5V e 16MHz. Para reduzir o custo, optei pelo modelo Mini Pro, mas o Nano também é uma boa opção (principalmente se você quiser mudar o software várias vezes). O tradicional Uno pode dificultar um pouco uma montagem definitiva e você pode ficar com um pouco de dó de deixá-lo dedicado para isto.


O componente adicional mais importante é o display. Mantendo o objetivo de facilitar a compra e a montagem, optei por um display LED com quatro dígitos de sete segmentos. Acabou sendo um pouco mais difícil de achar do que eu esperava, pois queria um modelo com os dois pontos para separar minutos de segundos. O modelo que comprei foi este aqui, ele é catodo comum (para usar um modelo anodo comum basta mudar o software). Apesar dele aparentar pontos decimais entre os dígitos, eles são só enfeites (os LEDs, se existirem, não estão ligados em nenhum pino), Atenção se for comprar em outro lugar pois algumas fotos que eu vi não correspondiam às descrições (um dos dois estava errado e eu preferi não me arriscar).

Este tipo de display exige o uso de multiplexação: um dígito é apresentado a cada vez. Passando rapidamente de um dígito para o outro, enganamos o nosso cérebro para enxergar todos acesos simultaneamente. Do ponto de vista de circuito, isto requer ligar a saídas digitais os 8 pinos de segmento/ponto mais os 4 pinos de seleção do dígito. Os pinos D2 a D13 são usados para isto, deixando livres os pinos D0 e D1 que são usados na comunicação serial. Resistores de 1K em série com os segmentos limitam a corrente, dispensando o uso de um transistor na seleção dos dígitos.

Para completar o hardware, dois botões e um buzzer. Os pinos marcados como Ax também podem ser usados como entradas e saídas digitais; A0 foi ligado ao buzzer (através de um transistor, devido à corrente) e A1 e A2 aos botões (vamos usar os pullups internos destas duas entradas).  O circuito fica assim:



A montagem que vou usar na palestra é meio gambiarra, mas ficou simples e compacta com o uso de uma placa padrão e a conexão direta do Arduino à placa através dos resistores:

O protótipo
 No próximo post vamos dar uma olhada rápida no software. Na semana que vem, após o evento, vou mostrar as montagens feitas na oficina.

Nenhum comentário: