Índice:
- Etapa 1: Lista de materiais
- Etapa 2: gravura e entalhe
- Etapa 3: Lixar e aplicar verniz
- Etapa 4: Fazendo o circuito
- Etapa 5: Upload do programa
- Etapa 6: Colocando os LEDs
- Etapa 7: Conectando LEDs
- Etapa 8: Conectando a placa de circuito com os LEDs
- Etapa 9: Colocando as Mármores
Vídeo: Relógio de mesa binário: 9 etapas (com fotos)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
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
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
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
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
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
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
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
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
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
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!
Vice-campeão no concurso Make it Glow
Recomendado:
Relógio binário verdadeiro com sincronização NTP: 4 etapas
Relógio binário verdadeiro com sincronização NTP: Um relógio binário verdadeiro exibe a hora do dia como uma soma das frações binárias de um dia inteiro, em oposição a um " relógio binário " que exibe o tempo como dígitos decimais codificados por binários correspondentes às horas / minutos / segundos. Traditiona
Exibição do relógio binário BigBit: 9 etapas (com imagens)
BigBit Binary Clock Display: Em um Instructable anterior (Microbit Binary Clock), o projeto era ideal como um dispositivo de mesa portátil, pois a tela era bastante pequena. Portanto, parecia apropriado que a próxima versão fosse uma versão para lareira ou montada na parede, mas muito maior
Relógio Vortex: um relógio de pulso com espelho infinito: 10 etapas (com fotos)
Relógio Vortex: um relógio de pulso com espelho infinito: O objetivo deste projeto era criar uma versão vestível de um relógio com espelho infinito. Ele usa seus LEDs RGB para indicar o tempo, atribuindo horas, minutos e segundos às luzes vermelha, verde e azul, respectivamente, e sobrepondo esses tons t
Amplificador de mesa com visualização de áudio, relógio binário e receptor FM: 8 etapas (com imagens)
Amplificador de mesa com visualização de áudio, relógio binário e receptor FM: Gosto de amplificadores e hoje irei compartilhar meu amplificador de mesa de baixa potência que fiz recentemente. O amplificador que projetei tem alguns recursos interessantes. Ele tem um relógio binário integrado e pode fornecer data e hora e pode visualizar o áudio, muitas vezes chamado de áudio
Construa um relógio de sino real para seu PC e um relógio de extintor de incêndio: 3 etapas (com fotos)
Construa um relógio de sino real para seu PC e um relógio de extintor de incêndio .: Um sino de latão, um pequeno relé, mais algumas coisas e um sino de verdade podem marcar as horas em sua área de trabalho. Embora este projeto seja executado no Windows e Mac No OS X também, decidi instalar o Ubuntu Linux em um PC que encontrei na lixeira e trabalhar nisso: eu nunca tinha