Índice:
- Etapa 1: peças necessárias para este projeto
- Etapa 2: Configure seu PC
- Etapa 3: Conexão do projeto
- Etapa 4: construir o espelho infinito
- Etapa 5: O Código
Vídeo: Infinity Clock - Arduino - WS2813 e DS3231: 5 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
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
Lista de peças:
- Arduino Uno $ 6 na taydaelectronics
- Protoshield para arduino uno. Você pode obter um por 2,50 na Amazon aqui.
- DS3231 plus bateria. você pode conseguir um por cerca de 3,00 na Amazon aqui.
- WS2813 LED 144 para 1 metro. $ 20 na Amazon aqui.
- 470 OHM 1 W Resistor de filme de carbono de cerca de 1 cent na Taydaelectronics.
- Capacitor eletrolítico 1000uf 16V 9 centavos na Taydaelectronics
- Fonte de alimentação 5v - usei um carregador de blackberry antigo.
- Espelho redondo de 6 polegadas. cerca de US $ 5 na Amazon
- Disco de acrílico de 6 polegadas por volta de 10 na Amazon
- Aros de bordar de madeira de 2 a 6 "(sim, isso mesmo) $ 2 cada na Amazon
- Película de espelho unidirecional prateada. Ebay parece ser o mais barato.
- Fios variados.
- Cavilha quadrada de madeira de 3/8 "HomeDepot por US $ 1,27
- base de relógio de madeira velha ou outro suporte de exibição.
- 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
Se este for seu primeiro projeto arduino:
- Baixe o software arduino em arduino.cc
- Conecte o Arduino ao PC com um cabo USB.
-
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.
-
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
- Vá para Sketch e Upload para carregar o Arduino.
- 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
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
Passos para construir o espelho infinito:
- Aplique o filme nos dics acrílicos. Isso fará com que o seu espelho unilateral.
- Coloque o disco de acrílico no bastidor de bordar. Aperte o parafuso para evitar que escorregue
- Coloque o espelho no outro bastidor Embroiery. Aperte o parafuso.
- Corte o pino quadrado em pequenas seções. cerca de 1/2"
-
Faça um loop na faixa de led com os LEDs apontando para dentro do círculo.
- Use os laços zip para segurar o led no lugar.
- Você pode precisar fazer um entalhe na gravata zip.
-
Coloque o laço no espelho
- Use blocos de madeira como espaçadores
- Cole os blocos no lugar. Eles devem ser seguros o suficiente para manter o led no lugar.
- Coloque o espelho de acrílico em cima do espelho / LEDs e cole no lugar.
Etapa 5: 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:
Faça uma caixa TARDIS Infinity: 9 etapas (com imagens)
Faça uma caixa TARDIS Infinity: Eu já construí um modelo TARDIS. Uma das características que definem a TARDIS é que ela é maior por dentro do que por fora. Obviamente não posso fazer isso, mas neste Instructable adapto o modelo para tentar torná-lo grande
Cubo Infinity "Fácil": 14 etapas (com imagens)
Cubo "fácil" do Infinity: cubos do Infinity e icosaedros são coisas que sempre chamaram minha atenção. No entanto, eles sempre pareceram muito difíceis de fazer, por causa da estrutura relativa complexa. Este cubo infinito, entretanto, tem uma moldura impressa em uma única peça. Fazendo a construção
Fácil DIY Infinity Mirror Clock: 3 etapas
Fácil DIY Infinity Mirror Clock: Se você está entediado com seu relógio normal, tente fazer este DIY Infinity Mirror Clock legal. Para elevar o nível do seu quarto
Configurando o DS3231 RTC (Real Time Clock) com precisão, rapidez e automatização usando Java (+ -1s): 3 etapas
Configurando o DS3231 RTC (Real Time Clock) com precisão, rápido e automatizado usando Java (+ -1s): Este Instructable vai mostrar como configurar a hora em um DS3231 Real Time Clock usando um Arduino e um pequeno aplicativo Java que usa a conexão serial do Arduino. A lógica básica deste programa: 1. O Arduino envia uma solicitação serial
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e