Índice:

Arco-íris Word Clock com um efeito arco-íris completo e mais: 13 etapas (com imagens)
Arco-íris Word Clock com um efeito arco-íris completo e mais: 13 etapas (com imagens)

Vídeo: Arco-íris Word Clock com um efeito arco-íris completo e mais: 13 etapas (com imagens)

Vídeo: Arco-íris Word Clock com um efeito arco-íris completo e mais: 13 etapas (com imagens)
Vídeo: Nem eu ,Dentista, Jamais tinha Visto ISSO em Toda minha vida !! #shorts 2024, Novembro
Anonim
Arco-íris Word Clock com um efeito arco-íris completo e muito mais
Arco-íris Word Clock com um efeito arco-íris completo e muito mais

Metas

1) Simples

2) Não é caro

3) O mais eficiente possível em termos de energia

Arco-íris Word Clock com um efeito arco-íris completo.

Um Smiley no Word Clock.

Controle remoto IR simples

Atualização 03-nov-18 LDR para o Controle de Brilho dos Neopixels

Atualização 01-jan-19 Reduzindo o consumo de energia do WS2812B.

Atualização 15-jan-19 Smiley.

Atualização 23-jan-19 Código 1.6

Atualizar links de bibliotecas de 10 de março de 19

Update 14-abr-19 version 1.7 Escolha smiley on / off collor rainbow / fix enz.

Última atualização 01-jun-19 versão 2.0 Controle remoto IR e reprojeto de código

Etapa 1: o caso do relógio

O caso para o relógio
O caso para o relógio
O caso para o relógio
O caso para o relógio
O caso para o relógio
O caso para o relógio

Com algumas ferramentas simples e um pouco de habilidade, não é difícil fazer um relógio de cartas Usei os materiais disponíveis.

Para o caso, usei uma barra de pinho áspera na qual serrei alguns quadros. Isso faria os quatro lados da caixa, que eram colados e reforçados com um pequeno pedaço de madeira nos cantos. Em seguida, a madeira precisa de lixar e pintar.

As letras são cortadas em papel alumínio por uma impressora com escrita espelhada. A película está na parte de trás da placa de vidro e é coberta com um papel padrão de camada dupla para melhor distribuição da luz. O vidro é fixado com selante de silicone.

Etapa 2: Neopixels

Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels
Neopixels

Os LEDs Neopixels estão dispostos em uma placa de madeira. Nesse caso, você primeiro faz furos de 3 mm. Na frente, eles são aumentados para tamanho carta a 3/4 de profundidade. Depois disso, os 3 mm na parte de trás aumentam para 10 mm, este é o tamanho de um Neopixel. Para alguns caracteres entre outros o W, o orifício deve ser ligeiramente ajustado.

Usei madeira compensada que se estilhaçou rapidamente, MDF pode ser melhor.

Com LEDs individuais, você não está limitado a uma distância fixa, o que é o caso com fitas de LED. Os LEDs devem ser conectados uns aos outros. Você pode fazer isso com todos os pedaços curtos de arame. Mas as duas conexões mínimas (-) são como as duas conexões positivas (+) conectadas internamente, portanto, a mesma conexão.

Você pode economizar muito trabalho soldando um pedaço de fio no LED esquerdo e, em seguida, no LED direito. Em seguida, solde os intermediários.

A conexão de dados deve, é claro, com peças curtas porque a saída de dados vai para a entrada de dados.

Etapa 3: Ajustar o texto frontal

Ajustando o Texto da Frente
Ajustando o Texto da Frente
Ajustando o Texto da Frente
Ajustando o Texto da Frente
Ajustando o Texto da Frente
Ajustando o Texto da Frente

A placa frontal agora está em holandês, mas simplesmente para ser convertida em qualquer idioma.

Os leds NeoPixels são trocados em sucessão aqui de 0-167. A numeração vai da primeira linha no canto superior esquerdo para a direita e depois para a segunda linha da direita para a esquerda etc. O ajuste pode ser feito de acordo com suas próprias necessidades. O número de NeoPixels é determinado pela quantidade de caracteres. Menos ou mais Neopixels podem ser ajustados na seguinte linha

#define NUMPIXELS 168 // Quantos NeoPixels estão anexados ao Arduino?

168 é do que outro número. A numeração começa em 0. Você pode fazer qualquer texto. Se você alterar o texto, também terá que ajustar as palavras correspondentes. A numeração permanece a mesma.

Por exemplo, DRIE dos minutos, é determinado no código

void zetmDrie () {

Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie

}

Se você quiser transformar a palavra Arduino, é assim:

void zetArduino () {

Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;

Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Word-arduino

}

Então você pode fazer palavras no meio.

Para palavras de relógio, é útil se elas formarem uma palavra contígua, mas não é absolutamente necessário. As letras não utilizadas não precisam de Neonpixels. Eu tenho todos eles preenchidos para o uso de possibilidades futuras além do tempo que está sendo exibido.

Se você alterar o ponto inicial ou alterar a sequência de sucessão, a numeração deve ser alterada de acordo.

Etapa 4: efeito arco-íris completo

Efeito Arco-Íris Completo
Efeito Arco-Íris Completo

O relógio agora está tão programado que é contado um número de vezes por segundo quantos neopixsels estão ligados.

O espectro total é sobre o número de dividido e ligeiramente deslocado. Como resultado, cada Neopixel tem uma cor diferente que muda continuamente. Neopixel nº 1 e nº 167 seguem um ao outro em alguns envolvimentos de cor.

Se você preferir menos cores diferentes ao mesmo tempo, isso é fácil de ajustar. A cor ainda muda em todo o espectro, mas com uma parte menor. Neopixel nr 1 e nr 167 já não seguem um ao outro alguns envolvimentos de cor.

O brilho pode ser definido na linha a seguir, pixels.setBrightness (150);

Um número menor é menos e um número maior mais brilho.

Etapa 5: os vários componentes

Os vários componentes
Os vários componentes
Os vários componentes
Os vários componentes
Os vários componentes
Os vários componentes

Os seguintes componentes que usei

Arduino Pro Mini ATMEGA328 5V / 16MHz

Módulo de Relógio DS3231

168 peças LEDs Neopixels WS2812 LED Chip & Dissipador 5V 5050 RGB WS2811 IC embutido

Estêncil de folha de alumínio

Receptor DCF77

Etapa 6: código para o relógio

Aqui está o código. Adicionado um controle de brilho e desligamento quando ninguém está presente e à noite.

Adicionado sensor de movimento por radar de microondas RCWL-0516 (procure por RADAR)

Após 10 minutos sem movimento, os NeoPixels são desligados.

Sobre a versão 2.0

O uso de memória era excessivo, com avisos de esgotamento de memória no compilador. É por isso que mudei completamente o código, mas a operação permaneceu a mesma e um receptor IR foi adicionado.

Há um trecho de código para fornecer dados à EEPROM. Execute-o uma vez removendo temporariamente / * e * /. Procure por => execute isto uma vez para fornecer dados à EEPROM

No início do loop void está o código para ler o código de seu próprio controle remoto. Você pode executá-lo removendo temporariamente / * e * /, não se esqueça de colocá-los de volta depois. Você também pode definir seus próprios botões. O código lido deve ser inserido em => Defina seus próprios botões aqui

O controle remoto Samsung funciona melhor do que o (muito barato) simples.

Etapa 7: a descrição do hardware

A descrição do hardware
A descrição do hardware
A descrição do hardware
A descrição do hardware
A descrição do hardware
A descrição do hardware

Existem diferentes versões do Arduino Pro Mini. Observe que as conexões podem ser diferentes.

Adicionado um sensor de movimento de microondas RCWL-0516.

Enquanto houver movimento nas proximidades do relógio, o NeoPixel permanecerá ligado

e assim que não houver mais movimento o NeoPixel dispara após alguns minutos.

Na versão 2.0, o receptor DCF77 é alimentado por meio do pino 13. Este pino é definido como saída e configurado alto quando a rotina DCF77 é endereçada. O receptor DCF77 usa 0,28 mA e é necessário apenas alguns minutos por dia.

Desativando salvamentos

5 Volts * 0,28 mA / 1000 * 24 horas * 365 dias * Fonte de alimentação com eficiência de 1 / 0,85 = 14,4 watts por ano.

Isso não parece muito, mas tudo ajuda.

Etapa 8: LDR para o controle de brilho dos neopixels

LDR para o controle de brilho dos neopixels
LDR para o controle de brilho dos neopixels
LDR para o controle de brilho dos neopixels
LDR para o controle de brilho dos neopixels

Adicionado um LDR para o controle de brilho dos neopixels.

Colei o LDR no espaço do neopixel 103. Este não é usado na exibição de tempo e, portanto, não influencia o regulamento. O papel amortece a luz incidente, mas isso não é problema.

O divisor de tensão do LDR e do resistor de 20 kohm vai para A0 do Arduino Pro Mini. A voltagem é um indicador da intensidade da luz e, portanto, também um indicador da quantidade de luz que os neopixels têm para fornecer.

A fórmula que uso me dá um bom controle de luz, pode ser ajustada dependendo das circunstâncias. Dependendo da quantidade de luz, a tensão pode variar entre 0 e 5 volts que é convertida para 0 a 1024 contagens que estão em "LDRValue".

Se o novo valor medido for maior que o último valor calculado, a intensidade é aumentada em 1, se for menor que diminuída em 1 e se for igual nada é feito. Para que o valor prossiga lentamente, de modo que não haja efeito de piscar, apenas 1 é aumentado ou diminuído e, como o cálculo está no loop, ele só é recalculado após percorrer o loop 25 vezes.

A intensidade é teoricamente um mínimo de 20 e um máximo de 1024/7 + 45 = 191. O valor máximo que medi foi 902, o que equivale a uma intensidade de 173. Isso se encaixa bem com os 150 que defini como valor padrão. (veja pixels.setBrightness (150))

Na versão 2.0, você pode definir o controle por meio do controle remoto. Os seguintes parâmetros foram adicionados: Brightness_min como mínimo e Brightness_max como configuração máxima e Brightness_Offset como parâmetro de configuração. Brightness_min e _max são os valores que podem depender de sua própria situação. Brightness_Offset é um valor que pode ser definido com o controle remoto e com o qual mais ou menos brilho pode ser definido.

Também há uma banda morta de 3 entre os valores LDRValue medidos e os valores BerLDRValue calculados.

Use as instruções de impressão no void BrightnessControl para verificar a configuração de brilho.

Etapa 9: Reduzindo o consumo de energia do WS2812B

Reduzindo o consumo de energia do WS2812B
Reduzindo o consumo de energia do WS2812B

Os drivers nos neopixels endereçáveis WS2812B estão consumindo corrente mesmo quando os neopixels estão desligados, definidos para a cor 0 (nenhum elemento de neopixels aceso).

Quando todos os 169 neopixels estão eliminados, medi 69 mA para os neopixels. Supondo que o relógio esteja desligado 12 horas por dia, o desligamento total economiza: 5 (fonte de alimentação em Volt) * 69/1000 (Miliampère / 1000 = Ampère) * 12 (Número de horas por dia) * 365 (Número de dias em um ano) = 1511 watts-hora. Portanto, anualmente, 1,5 Kwh. Eu concordo, não é muito em si, mas muitos pequenos fazem um grande problema.

O circuito é simples. O ponto positivo da fonte de alimentação é comutado por um MosFet de canal P. O sensor de radar determina se os neopixels estão ligados ou desligados. Eu coloquei dois parrelel MosFet para manter a resistência ON o mais baixo possível devido à perda dos MosFets. Em uso normal, eu meço 4,5 mili volts nos MosFets. A porta é controlada pela saída 4 do Arduino por meio de um resistor de 470 Kohm. Se a saída for baixa (0) digitalmente, os neopixels estão ligados e em alta (1) eles estão desligados.

Etapa 10: Smiley no Word Clock

Smiley no Word Clock
Smiley no Word Clock
Smiley no Word Clock
Smiley no Word Clock

Um Smiley no Word Clock.

Ocasionalmente, aparece um Smiley no relógio. Isso, entretanto, te deixa feliz.

O Smiley é acionado pelo sensor de radar. O número de vezes que o movimento (ajustável) mede a aparência do Smiley. Os sinais de% indicam que o movimento foi detectado. A cada décimo movimento (ajustável), o Smiley surge com um Winky Face e depois de três vezes um Winky Face surge a quarta vez que um Smiley Face mostra a língua para fora.

O Smiley é uma pequena mudança no código.

Etapa 11: Quais bibliotecas são usadas

Quais bibliotecas são usadas.

Eu os uso no Windows 7 com Arduino IDE 1.6 e também foram testados no Windows 10 com Adruino IDE 1.8.8

RTClib-master

Arduino-DS3231-master

Adafruit_NeoPixel-master

Arduino-DCF77-master

Biblioteca IRremote de Ken Shirriff

Como sempre há confusão sobre a biblioteca usada, adiciono a que uso.

A biblioteca IRremote usa muita memória. No IRremote.h é indicado que você pode desativar qualquer protocolo não utilizado

// Cada protocolo que você inclui custa memória e, durante a decodificação, custa tempo // Desabilite (defina como 0) todos os protocolos que você não precisa / deseja!

Desativei tudo, exceto o protocolo NEC e Samsung. Isso proporciona uma economia de memória de 10%. No momento não há mais problemas com a quantidade de memória, por enquanto a desativação não é necessária.

Etapa 12: controle remoto IR simples

Controle Remoto IR Simples
Controle Remoto IR Simples
Controle Remoto IR Simples
Controle Remoto IR Simples
Controle Remoto IR Simples
Controle Remoto IR Simples

A montagem

Como você pode ver nas fotos, o orifício para o LED 132 acabou sendo um pouco grande. Fiz bom uso disso e adicionei o receptor IR a ele. Conecte o pino de dados do receptor IR VS1838 ao pino 7 do Arduino. Além disso, conecte a fonte de alimentação positiva e negativa. O receptor IR usa 0,21 mA e também pode ser conectado à fonte de alimentação plus após a chave FET. Isso resulta em uma economia, se o relógio estiver ligado 50% do tempo, de 5 Volts * 0,21 mA / 1000 * 12 horas * 365 dias * 1 / 0,85 eficiência da fonte de alimentação = 5,4 watts por ano. Isso não parece muito, mas tudo ajuda.

A operação é a seguinte

Pressione qualquer tecla no controle remoto IR e, em seguida, a tecla OK. Na primeira vez que você pressiona, você vai para o processamento de IR e na segunda vez você vai detectar se foi uma solicitação justificada. A segunda vez, OK deve seguir rapidamente o primeiro pressionamento de tecla, caso contrário, ele voltará novamente. Fiz essa construção de forma que dificilmente conseguisse decodificar corretamente o primeiro código e, portanto, não acabei no tratamento de IR.

Uma vez no manuseio de infravermelho, uma série de LEDs acendem para informações, para explicação, leia mais e veja a primeira imagem.

A descrição é para o controle remoto simples, mas você pode usar qualquer controle remoto e definir suas próprias teclas. Também usei um controle remoto Samsung.

As primeiras quatro teclas correspondem às quatro primeiras linhas de LEDs. Quatro LEDs viram para a esquerda ou para a direita, dependendo da configuração. Quando as teclas de 1 a 4 são pressionadas, o estado é revertido e armazenado na memória.

1 cor fixa ou efeito arco-íris

2 segundos de flash desligado ou segundo flash ligado

3 smiley desligado smiley ligado

4 DCF77 desligado ou DCF77 ligado

O número da chave é exibido nas seguintes teclas

5 contador de smiley

Largura do espectro de 6 arco-íris

7 corrigir configuração de vermelho

8 correção de configuração de verde

9 corrigir configuração de azul

As linhas 6, 7 e 8 dos LEDs agora correspondem ao valor definido, a linha 6 indica as unidades, a linha 7 as dezenas e a linha 8 as cem. Cada linha começa com o valor zero. Portanto, o primeiro led na linha é 0, o segundo é 1 etc.

0 ajuste de tempo

/ / configuração de brilho

Quando o botão 0 é pressionado, os LEDs "dez" acendem para indicar que você deseja definir a hora e quando você pressiona 0 uma segunda vez, a hora definida aparece no visor.

A hora agora pode ser definida e é exibida no visor.

Defina a hora correta e, se o minuto for igual ao de um relógio de referência, pressione o botão OK.

A hora é ajustada.

Se você não operar o botão de minutos ou horas, nenhuma alteração de horário será feita. Se você pressioná-los, a hora será definida imediatamente.

O valor das teclas 5 a 9 pode ser alterado com as teclas

direito é mais 1

à esquerda é menos 1

para a frente é mais 10

reverso é menos 10.

e para a configuração do tempo

certo é mais 1 minuto

à esquerda é menos 1 minuto

avançar é mais 1 hora

reverso é menos 1 hora

Às vezes acontece que o pressionamento da tecla não é reconhecido ou é executado duas vezes. Portanto, preste atenção se a configuração correr bem, caso contrário, tente ou corrija novamente. O controle remoto Samsung que eu também testei funcionou muitas vezes melhor do que o controle remoto simples (muito barato).

Ao definir a cor, você vê a mudança diretamente em todo o visor. Para um site com uma visão geral das cores, consulte https://www.helderester.nl/kleurentabel.html. Claro, você pode definir qualquer valor.

Se a largura do espectro do arco-íris tem um valor de 0, o espectro é muito estreito e a tela tem uma cor que muda constantemente.

A desvantagem de definir a hora desta forma é que você não pode calcular uma transição verão / inverno porque temos a data incorreta. Não importa para o relógio em si, porque não o usamos agora.

Etapa 13: quais são os próximos?

Quais Próximos?
Quais Próximos?

O que se segue, bom, se a memória livre ainda é suficiente.

Já tenho as caixas dos alto-falantes. Eles são de um laptop antigo.

Recomendado: