Índice:

Visor do medidor de parede: 4 etapas (com fotos)
Visor do medidor de parede: 4 etapas (com fotos)
Anonim
Image
Image
Conceito
Conceito

Comprei um medidor de relógio de bolso barato no eBay pensando que seria uma novidade interessante. Acontece que o medidor que comprei não era adequado, mas naquela época eu me comprometi a produzir algo que ficaria pendurado na parede e seria um assunto de conversa.

O centro da tela é um amperímetro analógico que é energizado por um capacitor carregado que descarrega através do medidor, animando a agulha do ponteiro ao fazer isso.

Uma tela de LED reflete o movimento do ponteiro, proporcionando uma tela atraente.

O conjunto é controlado por um microprocessador Atmel 328, desenvolvido diretamente em um Arduino Uno, que mede os níveis atuais de luz da sala e aciona aleatoriamente o display, tudo alimentado por três baterias AA.

Suprimentos

Arduino Uno com processador Atmel 328 … veja o resto do texto

Seleção de LEDs, vermelho, verde e amarelo com um branco

7 x resistores 330R

1 x LDR

1 x capacitor 220uF

1 x resistor 220R

2 x resistores de 10k

1 x diodo retificador

Um amperímetro adequadamente antigo, normalmente 100uA em escala completa

Etapa 1: conceito

Conceito
Conceito
Conceito
Conceito
Conceito
Conceito

As fotos contam uma curta história, o medidor original foi projetado para uso em rádios valvulados e exigia mais de 100mA e simplesmente não podia ser executado por um Arduino. Estas são as primeiras idéias de layout de exibição. No final desmontei o medidor com a intenção de substituir o mecanismo, sem muito sucesso.

Eventualmente, peguei um voltímetro antigo com um mecanismo de 100uA, perfeito.

Etapa 2: o circuito

O circuito
O circuito
O circuito
O circuito

A construção original usava um Arduino para conectar os bits em um sistema bastante simples. Seis pinos digitais acionam os LEDs coloridos por meio de resistores 330R.

Um pino digital é usado para energizar o divisor de tensão LDR, a tensão sendo medida em um dos pinos ADC e usada para estimar o nível de luz atual e a hora do dia.

Um pino digital é usado para carregar o capacitor por meio de um diodo e resistor 220R.

O medidor é conectado ao capacitor por meio de um resistor de 10k. Este valor pode precisar ser alterado dependendo da medição da escala completa no amperímetro usado.

Eu também conectei um botão de reset, para ser montado na lateral da vitrine.

Por último, uma outra conexão é feita a partir do ânodo de um dos LEDs para fornecer uma referência de tensão para verificar o nível de tensão da bateria. Este circuito nunca teve muito sucesso e vou mudá-lo para um divisor de tensão simples na próxima vez que as baterias se esgotarem e o display estiver fora da parede.

Etapa 3: Implementação

Implementação
Implementação
Implementação
Implementação
Implementação
Implementação
Implementação
Implementação

Executar o display com baterias usando um Arduino Uno não era prático, o consumo de corrente seria muito alto porque a placa está ativa o tempo todo e eu queria que o display ficasse em uma parede intocado por pelo menos seis meses em um Tempo.

Para cortar o consumo de corrente, os circuitos de exibição foram desenvolvidos com um Arduino e placa de ensaio, os circuitos transferidos para a placa de matriz e, em seguida, o processador finalmente programado removido do Arduino e colocado em um soquete em um pequeno pedaço de placa de matriz, junto com o xtal, e unidos com um cabo de fita.

No final, o display funciona por 12 meses completos com um conjunto de baterias.

Um truque útil é substituir o processador Atmel em um Arduino Uno por um soquete ZIF, este se encaixa perfeitamente, e depois reinserir o processador. Assim que o projeto estiver pronto, o processador já está programado e só precisa ser removido e colocado em um soquete na placa final. Quando compro processadores virgens, passo uma hora colocando carregadores de boot em todos eles para que estejam prontos para uso a qualquer momento.

Etapa 4: O Código

Como se pode imaginar, o código para rodar o display básico não é muito complicado, mas a principal área é a redução do consumo de energia. Existem duas abordagens para isso, uma é apenas executar o display quando for provável que alguém o veja e, em segundo lugar, reduzir ao mínimo o consumo de energia dos circuitos.

O programa deve ter as bibliotecas Narcoleptic instaladas antes da compilação.

Todos os atrasos no sistema são implementados usando a biblioteca narcoléptica para o modo de baixo consumo total do processador, com um consumo de energia medido em alguns nanoampers.

O processador dorme por quatro segundos de cada vez e, ao despertar, executa uma rotina aleatória para determinar se o sistema não despertará. Caso contrário, o sistema hiberna por mais quatro segundos.

Se a rotina aleatória for verdadeira, o circuito LDR é ativado e uma medição do nível de luz é realizada. O circuito LDR é desativado imediatamente depois para economizar energia.

O sistema funciona em quatro períodos de tempo estimados.

  • Noite - está muito escuro e provavelmente ninguém vai ver - não faça nada e volte a dormir
  • Madrugada - na primeira parte é improvável que haja qualquer observador, mas mantém as estatísticas como se fosse durante o dia
  • Dia - pode haver observadores, mas ative apenas o medidor analógico, não os LEDs
  • Noite - é provável que haja observadores, então ative a tela inteira

O sistema estima que a duração do dia mudará com as estações, então a noite é estendida para o que seria noite, já que a duração dos dias é mais curta, mas quando é provável que os observadores ainda estejam presentes.

Se a hora do dia for adequada, uma saída digital é usada para carregar o capacitor e depois desligada. Com um display apenas analógico, o sistema volta a hibernar com todas as saídas desligadas e o capacitor descarrega através do medidor cujo ponteiro, que passou para a escala total, retorna a zero.

Com o display de LED ativo, o sistema mede a tensão no capacitor e apresenta um display de luz em execução com base na tensão medida até que ela caia abaixo de um limite quando o sistema dorme.

Uma segunda seleção aleatória ocorre no final da exibição para determinar se a exibição será repetida ou não, proporcionando mais interesse para o observador.

Um LED branco é ativado para iluminar a face do medidor quando o LED show está ativo.

A biblioteca narcoléptica de Peter Knight coloca o processador em um modo de hibernação, onde as saídas permanecerão no estado em que estavam ao entrar em hibernação, mas todos os relógios internos param, exceto o temporizador de hibernação, que é limitado a quatro segundos. Isso pode ser testado em um Arduino, mas por causa do LED de energia do Arduino e os circuitos USB não alcançam a mesma economia de energia.

O sistema ainda contém código que foi feito para explicar a capacidade decrescente das baterias, mas isso não se mostrou útil. Da próxima vez que não for mais preciso, mudarei o programa para fornecer algum tipo de status da bateria por meio dos LEDs ou do amperímetro.

A versão final tem um botão de reset montado na lateral da vitrine. A principal razão para isso é permitir demonstrações aos visitantes para que o sistema execute sua rotina básica 10 vezes após a reinicialização, antes de retornar à sua rotina aleatória normal.

Recomendado: