Índice:
- Etapa 1: imprimir em 3D os componentes de plástico
- Etapa 2: Prepare suas placas de controle e fiação
- Etapa 3: montar os servos
- Etapa 4: configuração e teste
- Etapa 5: enviando o código
- Etapa 6: montagem do relógio na placa traseira
- Etapa 7: Configuração e operação finais
Vídeo: Relógio Mecânico de Exibição de Sete Segmentos: 7 Passos (com Imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Alguns meses atrás, eu construí um display mecânico de 7 segmentos de dois dígitos, que transformei em um cronômetro de contagem regressiva. O resultado foi muito bom e várias pessoas sugeriram dobrar o display para fazer um relógio. O problema era que eu já estava ficando sem PWM IO no meu Arduino Mega e não tinha o suficiente disponível para o segundo ou terceiro dígito. Fui então apontado na direção desses drivers PWM de 16 canais PCA9685 que operam em uma interface I2C. Isso tornou possível acionar os 28 servos de que eu precisava, todos usando os dois pinos I2C em um Arduino. Então comecei a trabalhar construindo um relógio que agora usa um módulo de relógio de tempo real DS1302 para manter a hora e dois servo drivers de 16 canais para controlar os 28 servos usados para compor o display, todos alimentados por um Arduino Uno.
Se você gosta deste Instructable, considere votar nele no Concurso de Relógios
Suprimentos:
Para construir seu relógio, você precisará dos seguintes suprimentos, além de algumas ferramentas básicas:
- Arduino Uno - Compre aqui
- Módulo de relógio DS1302 - compre aqui
- 2 x PCA9685 16Ch Servo Drivers - Compre Aqui
- 28 x Micro Servos - Compre Aqui
- Cabo fita - compre aqui
- Tiras de cabeçalhos de alfinetes masculinos - compre aqui
- Tiras de cabeçalhos de alfinetes femininos - compre aqui
- 3mm MDF - Compre Aqui
- Tinta spray preta - compre aqui
- Circuito de Eliminação de Bateria 5V 5A - Compre Aqui
- Fonte de alimentação 12V - compre aqui
Para este projeto, você também precisará de algumas peças impressas em 3D. Se você ainda não tem uma impressora 3D e gosta de fazer coisas, definitivamente deveria considerar a compra de uma. O Creality Ender 3 Pro usado aqui é acessível e produz impressões de qualidade muito boa por seu preço.
- Impressora 3D usada - compre aqui
- Filamento - Compre Aqui
Etapa 1: imprimir em 3D os componentes de plástico
Eu projetei os visores de 7 segmentos para serem o mais simples possível. O servo também é o suporte para segurar o segmento acima dele. Existem dois componentes impressos em 3D necessários para cada segmento, um bloco espaçador para apoiar a parte inferior do servo e o segmento da tela que se cola diretamente no braço do servo.
Baixe os arquivos de impressão 3D - Mechanical Display Clock de 7 segmentos Arquivos de impressão 3D
Imprima os segmentos servo e pontos usando um PLA de cor brilhante. Usei verde translúcido, mas vermelho, laranja ou amarelo também devem funcionar bem. Usei PLA preto para os blocos espaçadores e suportes de pontos para que eles não fiquem visíveis quando os segmentos são desligados.
Se você não tiver acesso a uma impressora 3D, experimente um dos serviços de impressão online. Existem vários serviços acessíveis disponíveis que imprimem os componentes e os entregam em sua porta em poucos dias.
Etapa 2: Prepare suas placas de controle e fiação
Você precisará usar dois drivers PWM de 16 canais PCA9685 para acionar seus servos de 28 clock. Separei os servos em dígitos de hora e minuto, com cada par de dígitos sendo conduzido por uma placa. Portanto, tenho uma placa controlando os servos para os dígitos de duas horas e a segunda controlando os servos para os dígitos de dois minutos.
Para encadear os dois, você precisará fazer um conector de cabo de fita de 6 fios e soldar uma segunda tira de cabeçalho na outra extremidade da primeira placa de controle servo. Você também precisará alterar o endereço I2C na segunda placa para que seja diferente da primeira e seja identificável de maneira única.
Você também precisará fazer o chicote de fiação para conectar as três placas (duas placas servo e o módulo de relógio) ao seu Arduino. Você precisará de 5V e GND para cada placa, bem como as conexões I2C para os pinos A4 e A5 do Arduino (I2C no Arduino Uno), e os pinos do módulo de relógio CLK, DAT e RST para os pinos 6, 7 e 8 em seu Arduino respectivamente.
A energia é fornecida ao Arduino diretamente da fonte de alimentação de 12 V e aos servos usando o 5V 5A BEC que é então conectado aos dois terminais na parte superior do driver PWM. Você só precisa conectar um servo driver à energia e ele irá alimentar o segundo por meio da conexão do cabo de fita de 6 fios.
Etapa 3: montar os servos
Depois de imprimir seus segmentos, você precisará borrifar o verso e as laterais em preto para que fiquem menos visíveis quando virados 90 graus para a posição desligada.
Em seguida, você precisa colar os segmentos nos braços do servo com cola quente derretida. Ajuda colá-los no servo com o braço já no servo, dessa forma você pode verificar se está colando-os em linha reta e nivelada.
Você também precisará colar um bloco espaçador na parte inferior de cada servo.
Monte os pontos colando uma pequena cavilha ou espeto na parte de trás dos pontos e, em seguida, nos blocos de base. Eu borrifei esses gravetos também de preto para que eles fiquem menos visíveis se vistos de um ângulo.
Etapa 4: configuração e teste
Numerei todos os servos e escrevi o número em cada pista para que fosse mais fácil controlá-los. Comecei com o segmento superior no dígito das unidades e trabalhei em torno do segmento do meio no dígito das dezenas. Esta também é a ordem em que os pluguei nas placas de servo controle, lembrando que os identificadores nas placas contam de 0 a 13 e não de 1 a 14.
Em seguida, coloquei os segmentos em uma mesa com espaço suficiente entre eles para teste, de modo que não se movessem entre um e outro enquanto configurava os limites de viagem e as direções. Se você tentar colocá-los próximos um do outro, provavelmente um ou dois tentarão se mover na direção errada ou ultrapassar o curso em algum estágio e atingir outro, o que pode danificar o segmento, braço do servo ou arrancar as engrenagens do servo.
Etapa 5: enviando o código
O código parece complicado à primeira vista, mas na verdade é relativamente simples graças às duas bibliotecas usadas. Também há muita repetição porque existem quatro visores de 7 segmentos diferentes que precisam ser atualizados.
Aqui está uma descrição resumida do código, dê uma olhada no guia completo para uma explicação mais detalhada e um link para fazer o download do código - Relógio mecânico de 7 segmentos
Começamos importando duas bibliotecas, virtuabotixRTC.h para o módulo de relógio e Adafruit_PWMServoDriver.h para os servo drivers. A biblioteca Adafruit pode ser baixada e instalada diretamente por meio do gerenciador de biblioteca no IDE.
Em seguida, criamos um objeto para cada placa de controle com o endereço relevante, um para os dígitos das horas e um para os dígitos dos minutos.
Temos então quatro matrizes para armazenar as posições ativada e desativada de cada servo. Você precisará fazer ajustes a esses números nas próximas etapas para se certificar de que seus servos estão na vertical quando ligados, virados 90 graus quando desligados e não viajam demais.
Uma matriz de dígitos armazena as posições de cada segmento para cada dígito a ser exibido.
Em seguida, configuramos o módulo de relógio e criamos variáveis para armazenar os dígitos individuais atuais e anteriores.
Na função de configuração, iniciamos e configuramos as placas de controle PWM, bem como atualizamos a hora do relógio, se necessário. Em seguida, executamos um loop para definir a exibição em 8 8: 8 8 para que saibamos a posição inicial de todos os servos. Isso também é usado para configurar os servos de modo que fiquem todos voltados para cima corretamente.
No loop principal, obtemos a hora atualizada do módulo de relógio, dividimos em quatro dígitos e, em seguida, verificamos se a hora mudou desde a última verificação. Se a hora mudou, atualizamos a exibição e, em seguida, atualizamos os dígitos anteriores.
Na função de atualização de exibição, primeiro movemos os segmentos do meio. Isso é feito primeiro porque há alguma lógica necessária para mover os dois segmentos superiores adjacentes ao segmento do meio para fora do caminho um pouco antes de mover o segmento do meio, caso contrário, ele colidirá com eles. Uma vez que os segmentos do meio são movidos, os segmentos restantes são movidos para as posições corretas.
Etapa 6: montagem do relógio na placa traseira
Assim que terminei os testes, montei os servos no painel traseiro usando o layout acima como guia.
A área branca é o tamanho geral da placa, o cinza mais claro é a área ao redor de cada dígito para onde os segmentos do servo se movem e o contorno na área cinza escuro é a linha central para os 6 segmentos externos de cada dígito.
Cortei o quadro, marquei o layout e colei os dígitos no lugar para compor o mostrador do relógio.
Em seguida, fiz furos perto de cada servo e alimentei os fios pela parte de trás da placa para que eles fiquem menos visíveis.
Montei a parte eletrônica na parte de trás do relógio com fita dupla-face.
Etapa 7: Configuração e operação finais
Uma vez que os servos estavam todos prontos, removi todos os braços do servo para os ajustes finais nas posições dos segmentos. Você deve ligar o Arduino neste estado para que 8 8: 8 8 seja exibido e, em seguida, desconecte a energia, isso centraliza novamente todos os seus servos para que você possa colocar os braços do servo de volta com os segmentos voltados o mais próximo possível da vertical que possível.
Em seguida, você precisará ligar sequencialmente o Arduino e fazer ajustes nas posições de ativação e desativação do segmento em seus quatro arrays para que os servos fiquem perfeitamente verticais quando ligados e giram 90 graus quando desligados, sem viajar demais. Esta etapa consome muito tempo e requer um pouco de paciência, mas o resultado final vale a pena!
O relógio pode ser deixado com energia usando a fonte de alimentação de 12 V e 5 V BEC conectado a ela. Se a energia cair, a bateria no módulo RTC manterá a hora para que, quando a energia for restaurada, o relógio volte automaticamente para a hora correta.
Se você gostou deste Instructable, vote nele no concurso Clock e me informe sobre quaisquer melhorias ou sugestões que você possa fazer na seção de comentários abaixo.
Segundo Prêmio no Concurso de Relógios
Recomendado:
Controlando a exibição de sete segmentos usando Arduino e o registrador de deslocamento 74HC595: 6 etapas
Controlando a exibição de sete segmentos usando Arduino e o registrador de deslocamento 74HC595: Ei, e aí, pessoal! Akarsh aqui da CETech. Monitores de sete segmentos são bons de se olhar e são sempre uma ferramenta útil para exibir dados na forma de dígitos, mas há uma desvantagem neles que é que quando controlamos um monitor de sete segmentos na reali
Visor do relógio de sete segmentos Edge-Lit: 16 etapas (com imagens)
Display de relógio de sete segmentos Edge-Lit: displays de sete segmentos existem há mais de um século (https://en.wikipedia.org/wiki/Seven-segment_display) e formam a forma familiar dos números em relógios digitais, painéis de instrumentos e muitos outros displays numéricos. Eles estão re
Sete segmentos personalizados usando LED: 5 etapas
Sete segmentos de design personalizado usando LED: Led é um componente muito básico no design e alguns LEDs fazem muito mais trabalho do que apenas indicação. Neste artigo, veremos como construir um display de sete segmentos de design personalizado usando LED. Há muita variedade de sete segmentos no mercado, mas eu
Sistema de alarme residencial de receptor IR de sete segmentos: 6 etapas
Sistema de alarme residencial com receptor IR de sete segmentos: Este é o projeto perfeito para começar se você quiser aprender como usar o display de 4 dígitos e 7 segmentos, bem como criar algo legal que possa realmente ser implementado em sua casa. Você não precisa usar um display de 4 dígitos e 7 segmentos, você pode definir
Visor de sete segmentos de PVC reciclado: 5 etapas (com imagens)
Visor de sete segmentos em PVC reciclado: há algum tempo que estou planejando fazer um relógio digital que possa pendurar na parede, mas continuei a colocá-lo porque simplesmente não queria comprar acrílico, então usei alguns dutos de cabo de PVC que sobraram e eu tenho que dizer que os resultados não são essa cama, então vamos