Índice:

Relógio de mesa binário: 9 etapas (com fotos)
Relógio de mesa binário: 9 etapas (com fotos)

Vídeo: Relógio de mesa binário: 9 etapas (com fotos)

Vídeo: Relógio de mesa binário: 9 etapas (com fotos)
Vídeo: Janja após gestos em debate viralizar: "Bocejei na cara do inominável" 2024, Novembro
Anonim
Relógio de mesa binário
Relógio de mesa binário
Relógio de mesa binário
Relógio de mesa binário
Relógio de mesa binário
Relógio de mesa binário

Relógios binários são fantásticos e exclusivos para quem conhece o binário (a linguagem dos dispositivos digitais). Se você é um técnico, este relógio estranho é para você. Então, faça você mesmo e mantenha o seu tempo em segredo!

Você encontrará muitos relógios binários de diferentes tipos na Internet. Até você pode comprar um relógio binário em uma loja online como a amazon.com. Mas esse relógio é diferente de todos e aqui eu costumava jogar mármore para dar um visual elegante.

Antes de descer, assista ao vídeo de demonstração.

Etapa 1: Lista de materiais

Lista de Materiais
Lista de Materiais
Lista de Materiais
Lista de Materiais
Lista de Materiais
Lista de Materiais

Componentes de hardware

1. Arduino Pro Micro (compre em aliexpress.com): Este é o coração principal do relógio e lê a hora do RTC e dá instruções para acionar os LEDs de acordo. Você pode usar o Arduino Nano até mesmo o Arduino Uno em vez do Pro Micro se o tamanho não for importante para você.

2. Módulo DS3231 RTC (compre em aliexpress.com): O DS3231 RTC mantém registro do tempo mesmo quando a energia é desligada. Embora outro RTC como o DS1307 possa ser usado, o DS3231 é mais preciso.

3. MAX7219CNG LED Driver IC (compre em aliexpress.com): O Arduino tem um número limitado de pinos. Portanto, se você deseja controlar toneladas de LEDs sem desperdiçar os pinos do Arduino, o MAX7219 é o salva-vidas. Leva dados seriais e pode acionar 64 LEDs de forma independente.

4. LED azul de 20 PCS, 5 mm (compre em aliexpress.com): o azul deu o melhor resultado para mim. Você pode tentar com outras cores.

5. 20 PCS jogando mármore (compre em aliexpress.com): Foi usado o tamanho padrão para jogar mármore. O mármore deve ser transparente para passar luz.

6. Resistor 10K: Usado para controlar a corrente do segmento do MAX7219 IC. Consulte a folha de dados para saber o valor exato para diferentes correntes de segmento.

7. Fios

8. Protótipo de placa de PCB (compre em aliexpress.com): Usei um protótipo de placa de PCB para MAX7219 IC com uma base de IC. Você também pode projetar sua placa PCB personalizada.

Ferramentas de Hardware

1. Máquina de roteador CNC para madeira com gravador a laser CNC 3018 PRO (compre em aliexpress.com): A máquina DIY CNG Theis foi usada para esculpir madeira para mármore e LEDs. Esta é uma excelente máquina com um preço baixo para qualquer fabricante e amador.

2. Estação de solda (compre uma em aliexpress.com): Um pouco de solda é necessária para o projeto e um bom ferro de solda é uma ferramenta imprescindível para o fabricante. 60W é uma boa escolha para solda DIY.

3. Cortador de fio (compre em aliexpress.com)

4. Fresa de topo de carboneto revestido de titânio para CNC (compre em aliexpress.com): Você também pode tentar com a broca fornecida com a máquina. Nesse caso, você deve fazer algumas alterações no design.

Etapa 2: gravura e entalhe

Gravura e entalhe
Gravura e entalhe
Gravura e entalhe
Gravura e entalhe
Gravura e entalhe
Gravura e entalhe

Peguei uma peça de madeira Maple Maple 165X145X18,8 mm para colocar os LEDs do relógio. No topo de cada led, colocarei uma bola de gude e o tamanho de uma bola de gude padrão é 15,5 mm de diâmetro. Então, fiz furos de 15,7 mm com profundidade de 7 mm. No centro do furo, fiz uma broca de 5 mm para colocar o LED. Todo o texto foi feito com 2mm de profundidade. Você pode aumentar ou diminuir a profundidade de sua escolha. Você também pode tentar a gravação a laser para o texto.

O projeto completo foi feito por Cavalete de Inventáveis. O Easel é uma plataforma de software baseada na web que permite que você projete e trabalhe a partir de um único programa simples e a maioria dos recursos são de uso gratuito. Você só precisa fazer login no sistema criando uma conta ou usando o Gmail.

Easel Pro é um software em nuvem baseado em associação que se baseia no software Easel gratuito da Inventables. O Easel e o Easel Pro minimizam as barreiras associadas aos complicados softwares de fabricação de produtos CAD e CAM, tornando mais fácil para os usuários produzirem produtos físicos.

Usando o cavalete, você pode exportar o arquivo de projeto no formato de código G ou configurar diretamente o seu CNC a partir do ambiente do cavalete e enviar o comando ao CNC. Nesse caso, você precisa instalar o driver para o cavalete. Você também pode importar um código G criado anteriormente para o IDE do cavalete e modificá-lo. Eu incluí o arquivo de design aqui. Você pode modificar facilmente o design de acordo com sua escolha usando cavalete.

Etapa 3: Lixar e aplicar verniz

Lixar e aplicar verniz
Lixar e aplicar verniz
Lixar e aplicar verniz
Lixar e aplicar verniz
Lixar e aplicar verniz
Lixar e aplicar verniz
Lixar e aplicar verniz
Lixar e aplicar verniz

O verniz pode fornecer um belo acabamento para projetos de madeira e pinturas. Antes de aplicar verniz na madeira, lixe sua peça e limpe sua área de trabalho. O lixamento dá uma aparência lisa e prepara a madeira para o verniz. Aplique o verniz em várias camadas finas, deixando cada uma secar completamente antes de passar para a próxima. Para envernizar uma pintura, deixe-a secar completamente e depois aplique o verniz com cuidado. Uma camada é suficiente para muitas pinturas, mas você pode adicionar uma camada adicional, desde que primeiro deixe a anterior secar completamente.

Antes de aplicar o verniz é necessário remover todas as imperfeições e manchas antes de aplicar o verniz. Para isso, use uma lixa de grão 100 para peças não acabadas e trabalhe com o veio da madeira. Lixe suavemente até que a peça esteja lisa. Após a limpeza da peça de madeira, aplique o verniz em local bem ventilado.

O verniz protege a madeira da poeira e da umidade do ambiente, mas pode afetar a cor da madeira.

Etapa 4: Fazendo o circuito

Fazendo o circuito
Fazendo o circuito
Fazendo o circuito
Fazendo o circuito
Fazendo o circuito
Fazendo o circuito
Fazendo o circuito
Fazendo o circuito

O principal componente do relógio é uma placa de microcontrolador Arduino Pro Mini e um módulo DS3231 RTC. A conexão do Arduino Pro Mini e do módulo RTC é muito simples. Você precisa conectar o pino SDA do módulo RTC ao pino SDA do Arduino e o pino SCL do módulo RTC ao pino SCL do Arduino. Os pinos SDA e SCL são, na verdade, A4 e A5 pino do Arduino, respectivamente. Você também precisa fazer uma conexão de aterramento comum entre os módulos Arduino e RTC. Usei fios de jumper para fazer as conexões.

A conexão entre Arduino e DS3231 RTC:

Arduino DS3231
SCL (A5) SCL
SDA (A4) SDA
5V VCC
GND GND

Para mostrar as horas, minutos e segundos, um relógio binário requer 20 LEDs. Se você quiser mostrar a data, é necessário mais. A placa Arduino tem uma limitação dos pinos GPIO. Então, usei o IC do driver MAX7219CNG LED para acionar toneladas de LEDs usando apenas três pinos da placa Arduino.

O IC do driver MAX7219 é capaz de acionar 64 LEDs individuais enquanto usa apenas 3 fios para comunicação com o Arduino e, o que é mais, podemos conectar vários drivers e matrizes em série e ainda usar os mesmos 3 fios.

Os 64 LEDs são acionados por 16 pinos de saída do IC. A questão agora é como isso é possível. Bem, o número máximo de LEDs acesos ao mesmo tempo é, na verdade, oito. Os LEDs são organizados como um conjunto 8 × 8 de linhas e colunas. Assim, o MAX7219 ativa cada coluna por um período muito curto de tempo e, ao mesmo tempo, também aciona cada linha. Assim, ao alternar rapidamente entre as colunas e linhas, o olho humano perceberá apenas uma luz contínua.

O VCC e o GND do MAX7219 vão para os pinos 5V e GND do Arduino e os outros três pinos, DIN, CLK e CS vão para qualquer pino digital da placa Arduino. Se quisermos conectar mais de um módulo, basta conectar os pinos de saída da placa breakout anterior aos pinos de entrada do novo módulo. Na verdade, esses pinos são todos iguais, exceto que o pino DOUT da placa anterior vai para o pino DIN da nova placa.

A conexão entre Arduino e MAX7219CNG:

Arduino MAX7219
D12 DIN
D11 CLK
D10 CARGA
GND GND

Etapa 5: Upload do programa

Carregando o programa
Carregando o programa

Todo o programa é escrito em ambiente Arduino. Duas bibliotecas externas foram usadas para o esboço. Um é para o módulo RTC e outro é para o CI MAX7219. Baixe as bibliotecas do link e adicione ao IED Arduino antes de compilar o programa.

Carregar programa no Arduino Pro Mini é um pouco complicado. Dê uma olhada no tutorial se você nunca usou o Arduino Pro Mini antes:

/*

GIT: https://github.com/jarzebski/Arduino-DS3231> GIT: https://github.com/jarzebski/Arduino-DS3231> * / #include "Wire.h" #include "DS3231.h" #include "LedControl.h" / * Agora precisamos de um LedControl para trabalhar. ***** Esses números de pinos provavelmente não funcionarão com o seu hardware ***** O pino 12 está conectado ao DataIn, o pino 11 está conectado ao CLK, o pino 10 está conectado a LOAD Temos apenas um único MAX72XX. * / Relógio DS3231; RTCDateTime dt; LedControl lc = LedControl (12, 11, 10, 1); segundos, minutos, horas; número de bytes [10] = {B00000000, B01000000, B00100000, B01100000, B00010000, B01010000, B00110000, B01110000, B00001000, B01001000}; void setup () {//Serial.begin(9600); / * O MAX72XX está no modo de economia de energia na inicialização, temos que fazer uma chamada de ativação * / lc.shutdown (0, false); / * Defina o brilho para valores médios * / lc.setIntensity (0, 15); / * e limpar a exibição * / lc.clearDisplay (0); //lc.setLed(0, row, col, true); // lc.setRow (0, 0, B11111111); // lc.setRow (0, 1, B11111111); // lc.setRow (0, 2, B11111111); // lc.setRow (0, 3, B11111111); // lc.setRow (0, 4, B11111111); // lc.setRow (0, 5, B11111111); // lc.setColumn (0, 2, B11111111); // lc.setColumn (0, 3, B11111111); // lc.setColumn (0, 4, B11111111); // lc.setColumn (0, 5, B11111111); // Inicializa o DS3231 clock.begin (); // Definir o tempo de compilação do esboço //clock.setDateTime(_DATE_, _TIME_); pinMode (5, INPUT_PULLUP); pinMode (6, INPUT_PULLUP); pinMode (7, INPUT_PULLUP); } menu int = 0, para cima, para baixo; int hours_one; int hours_ten; int minutes_one; int minutes_ten; segundos_um int; int seconds_ten; loop vazio () {if (digitalRead (5) == 0) {delay (300); menu ++; if (menu> 3) menu = 0; } if (menu == 0) {dt = clock.getDateTime (); horas = dt.hour; minutos = dt.minuto; segundos = dt.segundo; se (horas> 12) horas = horas - 12; if (horas == 0) horas = 1; horas_um = horas% 10; horas_den = horas / 10; minutes_one = minutos% 10; minutes_ten = minutes / 10; segundos_um = segundos% 10; segundos_den = segundos / 10; lc.setRow (0, 0, número [segundos_um]); lc.setRow (0, 1, número [segundos_den]); lc.setRow (0, 2, número [minutos_um]); lc.setRow (0, 3, número [minutos_den]); lc.setRow (0, 4, número [horas_um]); lc.setRow (0, 5, número [horas_den]); } if (menu == 1) {if (digitalRead (6) == 0) {delay (300); horas ++; se (horas> = 24) horas = 0; } se (digitalRead (7) == 0) {atraso (300); horas--; se (horas = 60) minutos = 0; } se (digitalRead (7) == 0) {atraso (300); minutos--; se (minutos <0) minutos = 0; } minutes_one = minutos% 10; minutes_ten = minutes / 10; lc.setRow (0, 4, B00000000); lc.setRow (0, 5, B00000000); lc.setRow (0, 1, B00000000); lc.setRow (0, 0, B00000000); lc.setRow (0, 2, número [minutos_um]); lc.setRow (0, 3, número [minutos_den]); } if (menu == 3) {clock.setDateTime (2020, 4, 13, horas, minutos, 01); menu = 0; } //lc.setLed(0, row, col, false); //lc.setLed(0, row, col, true); //lc.setColumn(0, col, B10100000); //lc.setRow(0, 4, B11111111); //lc.setRow(0, row, (byte) 0); //lc.setColumn(0, col, (byte) 0); // Para olhar zero à esquerda para o exemplo DS3231_dateformat // Serial.print ("Raw data:"); // Serial.print (dt.year); Serial.print ("-"); // Serial.print (dt.month); Serial.print ("-"); // Serial.print (dt.day); Serial.print (""); // Serial.print (dt.hour); Serial.print (":"); // Serial.print (dt.minute); Serial.print (":"); // Serial.print (dt.second); Serial.println (""); // // delay (1000); }

Etapa 6: Colocando os LEDs

Colocando os LEDs
Colocando os LEDs
Colocando os LEDs
Colocando os LEDs
Colocando os LEDs
Colocando os LEDs
Colocando os LEDs
Colocando os LEDs

Nesta etapa, colocarei todos os LEDs nos orifícios da placa de madeira. As conexões dos LEDs são mostradas no esquema. Como usaremos o driver MAX7219 LED para acionar os LEDs, todos os LEDs devem ser conectados em forma de matriz. Então, eu conectei os pinos anódicos de todos os LEDs em cada coluna juntos e todos os pinos catódicos de cada linha juntos de acordo com o esquema. Agora, nossos pinos de coluna são, na verdade, pinos anódicos de LEDs e os pinos de linha são, na verdade, pinos catódicos de LEDs.

Para acionar LEDs usando MAX7219, você deve conectar o pino catódico de um led a um pino digital do IC e o pino anódico do led a um pino de segmento do IC. Portanto, nossos pinos de coluna devem ser conectados aos pinos de segmento e os pinos de linha devem ser conectados ao pino de dígitos do MAX7219.

Você precisa conectar um resistor entre o pino ISET e o VCC do MAX7219 IC e este resistor controlar a corrente dos pinos do segmento. Usei um resistor de 10K para manter 20mA em cada pino de segmento.

Etapa 7: Conectando LEDs

Conectando LEDs
Conectando LEDs
Conectando LEDs
Conectando LEDs
Conectando LEDs
Conectando LEDs

Neste estágio, conectei todos os LEDs em um formato de matriz linha-coluna. Eu precisei usar alguns fios de jumper extras para conectar os LEDs, mas você pode fazer a conexão sem a ajuda de fios extras se os fios dos LEDs forem longos o suficiente para se tocarem.

Nesta configuração, nenhum resistor é necessário porque MAX7219 cuidará da corrente. Seu dever é selecionar o valor correto para o resistor ISET e puxar o pino ISET com este resistor. Antes de colocar e conectar os LEDs, sugiro que você verifique todos os LEDs. Porque colocar um LED ruim vai matar muito tempo. Na próxima etapa, conectaremos os fios de linha e coluna ao MAX ic.

Etapa 8: Conectando a placa de circuito com os LEDs

Conectando a placa de circuito com os LEDs
Conectando a placa de circuito com os LEDs
Conectando a placa de circuito com os LEDs
Conectando a placa de circuito com os LEDs
Conectando a placa de circuito com os LEDs
Conectando a placa de circuito com os LEDs

Nossa placa de circuito incluindo RTC, Arduino e MAX7219 está pronta há muito tempo e também preparamos a matriz de LED no estágio anterior. Agora precisamos conectar todas as coisas de acordo com o esquema. Primeiro, precisamos conectar os fios da linha e da coluna ao MAX7219IC. A conexão foi mencionada no esquema. Para tornar isso mais claro, siga a tabela abaixo.

Matriz de LED MAX7219CNG
ROW0 DIGIT0
ROW1 DIGIT1
ROW2 DIGIT2
ROW3 DIGIT3
COLUMN0 SEGA
COLUMN1 SEGB
COLUMN2 SEGC
COLUMN3 SEGD
COLUMN4 SEGE
COLUMN5 SEGF

ROW0-> linha superior

COLUMN0 -> Coluna mais à direita (SS COLUMN)

Após fazer a conexão você precisa consertar a placa PCB e o Arduino com a peça de madeira para evitar quebrar a conexão. Usei cola quente para consertar todos os circuitos no lugar. Para evitar qualquer curto-circuito, use uma grande quantidade de cola para esconder a junta de solda na parte inferior da placa de circuito impresso.

Para tornar um relógio utilizável, você precisa manter uma opção para ajustar a hora quando necessário. Eu adicionei três interruptores de botão para ajustar o tempo. Um para alterar a opção e dois para aumentar e diminuir as horas e os minutos. Os botões são colocados no canto superior direito para que possam ser facilmente acessados.

Etapa 9: Colocando as Mármores

Colocando os mármores
Colocando os mármores
Colocando os mármores
Colocando os mármores
Colocando os mármores
Colocando os mármores

Esta é a etapa final do nosso projeto. Toda a conexão do circuito está concluída. Agora você precisa colocar o mármore na parte superior do relógio de madeira. Para colocar as bolas de gude usei cola quente. Use cola em bastão de cor branca transparente para esse propósito. Apliquei cola quente em cada orifício da parte superior e sobre os LEDs coloquei delicadamente o mármore em cada orifício. Adicionar cola uniformemente aumentará o brilho do led. Usei LED AZUL no meu relógio. Me deu o melhor resultado.

Dê energia ao relógio. Se mostrar a hora então parabéns !!!

Você conseguiu!

Aproveitar!

Concurso Make it Glow
Concurso Make it Glow
Concurso Make it Glow
Concurso Make it Glow

Vice-campeão no concurso Make it Glow

Recomendado: