Índice:

Infinity Clock - Arduino - WS2813 e DS3231: 5 etapas (com imagens)
Infinity Clock - Arduino - WS2813 e DS3231: 5 etapas (com imagens)

Vídeo: Infinity Clock - Arduino - WS2813 e DS3231: 5 etapas (com imagens)

Vídeo: Infinity Clock - Arduino - WS2813 e DS3231: 5 etapas (com imagens)
Vídeo: Часы – матрица на Arduino и адресных светодиодах WS2812B. 2024, Novembro
Anonim
Image
Image
Infinity Clock - Arduino - WS2813 e DS3231
Infinity Clock - Arduino - WS2813 e DS3231

Infinity Clock - Arduino - WS2813 e DS3231

Eu queria construir um relógio e gostei da ideia de tentar fazer um relógio infinito com um Arduino. Eu queria construí-lo a partir de itens comuns e escrever o programa sozinho.

O que é um Infinity Clock?

O efeito de espelho de ilusão 3D é produzido sempre que há duas superfícies reflexivas paralelas que podem refletir um feixe de luz para frente e para trás um número indefinido (teoricamente infinito) de vezes. Os reflexos parecem diminuir na distância porque a luz realmente está atravessando a distância. Ao adicionar LEDs coloridos ao espelho Infinity, tentamos simular um relógio analógico usando a luz colorida que recua como ponteiros do relógio.

Neste instrutível, irei guiá-lo pelas etapas para criar o Infinity Clock e, em seguida, revisar alguns parâmetros ajustáveis no programa.

Etapa 1: peças necessárias para este projeto

Peças necessárias para este projeto
Peças necessárias para este projeto

Lista de peças:

  1. Arduino Uno $ 6 na taydaelectronics
  2. Protoshield para arduino uno. Você pode obter um por 2,50 na Amazon aqui.
  3. DS3231 plus bateria. você pode conseguir um por cerca de 3,00 na Amazon aqui.
  4. WS2813 LED 144 para 1 metro. $ 20 na Amazon aqui.
  5. 470 OHM 1 W Resistor de filme de carbono de cerca de 1 cent na Taydaelectronics.
  6. Capacitor eletrolítico 1000uf 16V 9 centavos na Taydaelectronics
  7. Fonte de alimentação 5v - usei um carregador de blackberry antigo.
  8. Espelho redondo de 6 polegadas. cerca de US $ 5 na Amazon
  9. Disco de acrílico de 6 polegadas por volta de 10 na Amazon
  10. Aros de bordar de madeira de 2 a 6 "(sim, isso mesmo) $ 2 cada na Amazon
  11. Película de espelho unidirecional prateada. Ebay parece ser o mais barato.
  12. Fios variados.
  13. Cavilha quadrada de madeira de 3/8 "HomeDepot por US $ 1,27
  14. base de relógio de madeira velha ou outro suporte de exibição.
  15. 2 pequenos laços zip.

O protetor de protótipo não é necessário, mas se você gosta de usar o Arduino, você o achará muito útil para construir esses projetos. Troque a proteção do protótipo por uma placa de ensaio, se necessário.

Você também pode precisar de um ferro de solda.

Eu esperaria que o projeto custasse cerca de US $ 40,00

Etapa 2: Configure seu PC

Configure seu PC
Configure seu PC
Configure seu PC
Configure seu PC
Configure seu PC
Configure seu PC

Se este for seu primeiro projeto arduino:

  1. Baixe o software arduino em arduino.cc
  2. Conecte o Arduino ao PC com um cabo USB.
  3. Depois de iniciar o software, você precisará instalar três bibliotecas:

    • Clique no menu "Sketch", clique em "Incluir Bibliotecas" e em "Gerenciar Bibliotecas …"
    • Instale as duas bibliotecas: FastLED e RTClib. Veja as fotos para mais detalhes.
  4. Pegue o scketch do Arduino no meu github

    • Vou revisar o código no final para que você possa modificá-lo conforme necessário.
    • Neste ponto, carregue o programa Infinity_Clock_DS3231_WS2813.ino
  5. Vá para Sketch e Upload para carregar o Arduino.
  6. A última seção do Instructable cobre alguns dos parâmetros configuráveis.

É melhor carregar o esboço agora, porque uma vez que a alimentação externa é adicionada, é melhor não conectá-lo ao seu PC.

Etapa 3: Conexão do projeto

Fiação do projeto
Fiação do projeto
Fiação do projeto
Fiação do projeto

Se você estiver usando o ProtoType Shield, coloque-o no Arduino.

A fiação é a parte mais complexa do projeto. Incluí fotos para ajudá-lo a ver o que fiz. Recomendo verificar todas as conexões antes de ligar.

DS3231 - Módulo de Relógio em Tempo Real

Coloque o módulo DS3231 na placa de ensaio e conecte como na imagem.

  • Arduino aterrado para GND
  • Arduino 5V para VCC
  • Arduino A4 para SDA
  • Arduino A5 para SCL

Na foto, eu conecto o 5v e o aterramento à sua própria execução na placa de ensaio porque mais tarde iremos conectar a alimentação externa.

Anexe a faixa de LED WS2813

  • arduino 5V à sua potência de 5V.
  • Os dois conectores do meio são pinos de dados redundantes. eles vão para o pino 7

    Certifique-se de colocar um resistor de 470 OHM entre o pino 7 e dois terminais de dados

  • Arduino aterrado no último conector.

Conecte a fonte de alimentação externa de 5 V (não é recomendado executar a faixa de LED da alimentação do arduino por longos períodos).

  • Coloque um capacitor eletrolítico de 1000 uF entre os terminais.
  • Conecte a alimentação e o aterramento ao Arduino Power (5V) e aterramento (GND)

Não recomendo conectar a alimentação externa e USB ao Arduino ao mesmo tempo.

Etapa 4: construir o espelho infinito

Construir o espelho infinito
Construir o espelho infinito

Passos para construir o espelho infinito:

  1. Aplique o filme nos dics acrílicos. Isso fará com que o seu espelho unilateral.
  2. Coloque o disco de acrílico no bastidor de bordar. Aperte o parafuso para evitar que escorregue
  3. Coloque o espelho no outro bastidor Embroiery. Aperte o parafuso.
  4. Corte o pino quadrado em pequenas seções. cerca de 1/2"
  5. Faça um loop na faixa de led com os LEDs apontando para dentro do círculo.

    1. Use os laços zip para segurar o led no lugar.
    2. Você pode precisar fazer um entalhe na gravata zip.
  6. Coloque o laço no espelho

    1. Use blocos de madeira como espaçadores
    2. Cole os blocos no lugar. Eles devem ser seguros o suficiente para manter o led no lugar.
  7. Coloque o espelho de acrílico em cima do espelho / LEDs e cole no lugar.

Etapa 5: O Código

O código
O código
O código
O código

O programa usa a biblioteca Real Time Clock e a biblioteca Fastled.

Aqui estão alguns trechos de código para personalizar o comportamento.

  • OFFSET - é a sobreposição. O programa espera que a sobreposição seja do LED0. Eu tenho um deslocamento de 3 LED.
  • CLOCKSTART - é onde o meio-dia está no relógio. O LED 30 opõe-se às ligações elétricas.

Eu escrevi o programa para usar cores HTML. Você pode obtê-los em https://htmlcolorcodes.com/ Basta trocar o # por 0x no programa.

Você pode alterar o plano de fundo para am / pm

  • backgroundAM = 0x070707;
  • backgroundPM = 0x646D7E;

Ponteiros LED do relógio:

  • hourHand = 0x000FFF;
  • minHand = 0x00CC00;
  • secHand = 0xcc0000;

Para destacá-lo, adicionei a opção de ter 3 LEDs para o ponteiro das horas, mas permite que você altere a cor em ambos os lados do do meio para destacá-lo.

  • theeledhour = true; // você pode torná-lo verdadeiro ou falso
  • extraHourHand = 0x00001F;

Outro recurso interessante é que o RTClib detectará que a bateria do seu DS3231 foi removida e configurará o tempo de compilação do PC. É um bom recurso para o novo DS3231.

Se você não pegou o esboço no início do documento, ele pode ser encontrado no GitHub

Obrigado por ler este Instructable. Meu filho ajudou e foi um projeto divertido para nós. Espero que sejamos considerados no concurso de óptica.

Recomendado: