Índice:

Detector de zumbi: 3 etapas
Detector de zumbi: 3 etapas

Vídeo: Detector de zumbi: 3 etapas

Vídeo: Detector de zumbi: 3 etapas
Vídeo: ArmA 3 - Zombies & Demons: The Underpass 2024, Julho
Anonim
Detector de zumbis
Detector de zumbis

Quando eu estava indo para a faculdade, trabalhei na Knott’s Berry Farm e quando o Halloween caiu em um fim de semana atraímos uma grande multidão. Todos nós nos arrumamos e nos divertimos um pouco, e a maioria dos clientes apreciou o esforço. Uma das “moças da moeda” onde trabalhei veio perfeitamente estilizada como Morticia Addams. Naquela época, o visual gótico não tinha sido inventado (a menos que você conte Moona Lisa), então no caminho para o trabalho ela recebeu uma revirada exagerada de um cara no carro ao lado dela em um semáforo. Ela olhou para ele e deu-lhe um grande sorriso - presas e tudo. Aparentemente, a expressão em seu rosto não tinha preço.

Com o mesmo espírito pensei em guardar este post até por volta do Halloween, mas depois me lembrei que o Apocalipse Zumbi poderia acontecer a qualquer momento. Quando mostrei isso aos netos, disse-lhes que detectava o pulso se estivessem vivos, mas sem pulso significava que eram zumbis. Pode ser usado como um jogo de eliminação (uma espécie de versão esquisita de cadeiras musicais) se você tiver uma multidão. Uma maneira de jogá-lo era distribuí-lo pela mesa. Se você obteve uma resposta “humana”, recebeu uma moeda, senão pagou uma moeda. As crianças sempre gostam de jogos que envolvam moedas.

Etapa 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

O esquema é mostrado no diagrama incluído acima. A parte do “detector” é um switch de toque capacitivo simples comumente anunciado como TTP223. Peguei um conjunto de 10 para quase nada, mas há um pequeno problema com eles. Os módulos são anunciados como funcionando de 2,5 volts a 5 volts, mas não funcionam. O que descobri foi que qualquer coisa abaixo de 4,75 volts fazia com que o módulo travasse no estado “Ligado”. Eu queria executar todo o projeto usando um par de baterias AAA (cerca de 3 volts), então tive que descobrir o problema. Depois de verificar o chip do módulo, determinei que o par de placas de solda em branco deveria ter um capacitor que determina a sensibilidade. A faixa recomendada é de 0 a 50pf com a sensibilidade aumentando conforme a capacitância é reduzida. Não consegui fazê-lo funcionar encurtando os blocos (0pf), mas funcionou bem com os capacitores de 22pf e 47pf que tenho. Com o valor de 22pf, consegui facilmente fazer o módulo funcionar a 2,5 volts.

O outro componente principal deste projeto (além do microcontrolador PIC) é uma matriz de 8x8 LED. Originalmente, usei uma matriz simples, mas tive que adicionar um par de registradores de deslocamento para endereçar as linhas e colunas e tive que multiplexá-los para obter uma exibição completa. Então descobri um módulo de LED barato que veio conectado a uma placa de circuito com um chip de driver de display de LED MAX7219. O chip do driver aceita comandos seriais que ele usa para ativar as linhas e colunas desejadas. O chip também faz a multiplexação automaticamente para que a carga seja removida do microcontrolador. Essa descoberta reduziu a complexidade do hardware e do software.

Etapa 2: Caixa de Projeto

Caixa de Projeto
Caixa de Projeto
Caixa de Projeto
Caixa de Projeto

Eu queria um filtro vermelho translúcido para cobrir a matriz de LED. Eu poderia ter cortado um pedaço de algum Plexiglas vermelho que tenho e, em seguida, colado em uma caixa de projeto, mas optei por fazer um pouco de re-propósito em vez disso. A caixa em que o construí é um contêiner que já continha um monte de balas de 0,22. A maioria desses recipientes é de plástico transparente, mas tenho alguns que são vermelhos. Não muito elegante, mas os netos não se importam com elegância.

Etapa 3: Software

Programas
Programas
Programas
Programas

O software é bastante simples. Timer0 pode rodar livremente e o valor é verificado sempre que o sensor de toque é detectado. Decidi arbitrariamente que a exibição do Zumbi seria exibida se a contagem do Timer0 fosse menor que 100. Dado que o Timer0 é de 8 bits, isso significa que a exibição “humana” acontecerá para valores de 100-255. Isso é uma proporção de cerca de 3: 2 e pode ser facilmente alterado no software.

Quando um toque é detectado e um tipo de display determinado, a rotina apropriada é chamada para enviar dados para a matriz de LED. Para fazer isso, uma série de comandos são enviados como endereço de 8 bits e dados de 8 bits. Os registros que podem ser endereçados são definidos na parte frontal da listagem. Alguns deles são usados para inicializar a matriz (por exemplo: brilho) e um é usado para ligar / desligar toda a matriz. A matriz pode operar em um modo onde BCD (decimal codificado em binário) exibirá o número apropriado. A rotina Init desliga isso para que possamos controlar os LEDs individuais. A outra parte da inicialização é definir o limite da coluna. Queremos todas as oito colunas, portanto, o limite de varredura é definido como 7.

Existem oito registros que são usados para habilitar os LEDs individuais desejados - um registro para cada coluna. Um “1” em um bit de dados habilitará aquele LED de coluna. Conforme mencionado anteriormente, nenhuma multiplexação é necessária no software. A exibição “humana” é um coração batendo. Depois que os padrões de bits adequados são enviados para a matriz, o batimento é simulado simplesmente ligando / desligando a matriz (com atrasos entre eles) enquanto o sensor de toque estiver ativo. A rotina Zombie exibe um padrão fixo de “X” até que o toque seja removido.

É isso para este post. Confira meus outros projetos eletrônicos em: www.boomerrules.wordpress.com

Recomendado: