Relógio Arcade Retrô: Temporizador Interativo de Cabeceira com Animações Arcade
Componentes Necessários
| Componente | Quantidade |
|---|---|
| Arduino Mega 2560 | 1 |
Ferramentas Necessárias
- Impressora 3D (genérica)
Software e Serviços Online
- Arduino IDE (versão 1.06 recomendada)
Sobre o Projeto
Introdução: Relógio Arcade Retrô - Arduino
Construa um relógio de cabeceira interativo estilo arcade, com tela touchscreen, e figuras animadas de jogos arcade dos anos 80. Você pode gravar um som personalizado para o alarme.
O projeto inclui uma caixa impressa em 3D e quatro programas diferentes para escolher:
- Relógio Arcade – Animações DK Mario, Space Invaders e Pac-Man
- Relógio Pac-Man – Jogo interativo animado Pac-Man/Ms. Pac-Man com funções de relógio
- Relógio DK – Jogo interativo animado Donkey Kong com funções de relógio
- Tumble Ghost – Jogo animado de fantasma do estilo Flappy Bird
Diversão garantida na construção e ótimo presente para quem gosta de reviver a nostalgia dos personagens de arcade dos anos 80.
Passo 1: Reunir Materiais
- Placa Arduino – Arduino Mega 2560
- Shield Touchscreen Arduino – Placa de expansão 3.2" Mega Touch LCD
- Touchscreen – Display TFT LCD 3.2" + touchscreen para Arduino Mega 2560
- Módulo Relógio Tempo Real – DS3231 RTC
- Módulo Gravador de Voz – ISD1820
- Filamento PLA para impressora 3D
- Resina epóxi de dois componentes para colar a caixa
- Cabo USB 2m + carregador USB (fonte de alimentação)
- Pistola de cola quente
- Abrafios (zip ties) x 3
Componentes opcionais para dimmer automático do backlight (recomendado para relógio de cabeceira):
- Resistor 270k ohm
- Diodo Zener 3.3V
- Resistor 0.5W 47 ohm
- Resistor dependente de luz (LDR)
Passo 2: Imprimir a Caixa 3D
Imprimi a caixa no Creality Ender 3. Todos os arquivos 3D e instruções estão no Thingiverse.
Passo 3: Montar o Circuito
O circuito geral contém: RTC, Arduino Mega, módulo de som, touchscreen e shield de tela.
1. Relógio Tempo Real (RTC)
Monte o RTC na traseira do Arduino Mega (conforme foto). Usei cola quente e espuma para isolar e amortecer. Soldei 2 pernas do RTC diretamente no Arduino e usei fios para 5V e GND.
2. Módulo de Gravação de Som
Posicione o módulo e o alto-falante na traseira do Arduino com espuma e cola quente, isolando-os. O módulo é acionado pelo pino D8 do Arduino – conecte conforme diagrama.
3. Dimmer Automático do Backlight (Opcional)
Se for usar como relógio de cabeceira, provavelmente vai querer diminuir o backlight à noite. O backlight do TFT é hardwired em +3.3V e não pode ser ajustado pelo Arduino. Precisamos desconectá-lo e reconectar a um pino PWM.
(a) Posicione o LDR na traseira da caixa para detectar luz. Fure dois furos de 3mm e passe as pernas do LDR. Cole com cola quente por dentro. Solde dois fios e conecte conforme diagrama. Adicione resistor 270k no pino A7.
(b) Remova o display TFT, identifique o pino 19 (LED_A), remova cuidadosamente alguns mm do plástico na base do pino. Dobre o pino para fora do conector. Verifique se o shield encaixa sem obstrução.
(c) Solde resistor 47 ohm no pino dobrado e conecte fio ao pino D9 do Arduino Mega. Anexe diodo Zener 3.3V no mesmo pino (LED_A) e conecte à terra conforme diagrama. O diodo protege o backlight de sobretensão, regulando a 3.3V.
4. Tela TFT e Shield Arduino
Conecte cuidadosamente o touchscreen TFT 3.2" no shield TFT Arduino. Conecte no topo do Arduino. O RTC tem bateria e mantém a hora mesmo sem energia. O horário do alarme fica na EEPROM do Arduino, persistindo em queda de energia.
Passo 4: Carregar o Código
O projeto requer os seguintes arquivos e bibliotecas antes de compilar e rodar. O código é único, construído em torno das capacidades das bibliotecas, hardware, gráficos customizados e outros projetos.
⚠ Importante: O desenvolvimento usou IDE v1.06 e algumas bibliotecas são datadas. Muitos têm problemas com IDE 1.6+. Recomendo usar IDE v1.06 e incluí os arquivos zip das bibliotecas corretas.
Bibliotecas Necessárias
- UTFT.h e URtouch.h (arquivo zip incluso – crédito: Rinky-Dink Electronics)
- Time.h (arquivo zip incluso)
- DS1307RTC.h (arquivo zip incluso)
- Wire.h e EEPROM.h (já inclusos na IDE v1.06)
Variações de Tela TFT
(a) Sainsmart: Se seu TFT 3.2" tem marca "Sainsmart" atrás, edite initlcd.h e mude:
LCD_Write_COM_DATA(0x01, 0x2B3F); → LCD_Write_COM_DATA(0x01, 0x3B3F);
(b) Chipset Controlador: Podem ser "SSD1289" ou "ILI9341". Se tela ficar em branco após carregar, provavelmente é ILI9341. Mude no código:
UTFT myGLCD(SSD1289, 38, 39, 40, 41); → UTFT myGLCD(ILI9341_16, 38, 39, 40, 41);
(c) Controles Touch Invertidos: Alguns relatam eixo Y invertido. Corrija:
Encontre: yT = myTouch.getY(); → Mude para: yT = 240 - myTouch.getY(); (duas ocorrências).
Arquivos Gráficos
Há arquivos bitmap que devem ficar no mesmo subdiretório do código Arduino ao carregar. Baixe e use a IDE para carregar.
Configurar o Relógio
Após carregar com sucesso, pressione o centro da tela para abrir a tela de configuração. Use o menu para definir hora e alarme em formato 24h. Pressione SALVAR. O RTC mantém a hora (bateria). O alarme fica na EEPROM (persiste em queda de energia).
Testar o Alarme
O módulo ISD1820 é controlado pelo pino D8 do Arduino. Grave som segurando o botão REC do ISD1820 enquanto reproduz áudio no microfone. Teste com botão PLAY-E. Configure hora e alarme com poucos minutos de diferença. Certifique-se de "SET" o alarme e pressionar "SALVAR". O alarme tocará no horário. Desligue tocando o centro da tela (abre tela de configuração).
Calibração do Touchscreen
Se botões não alinharem com toque, calibre usando o código de calibração e instruções da biblioteca URtouch.
Passo 5: Montagem Final
1. Alimentação Externa
Fure a traseira da caixa, passe o cabo USB e conecte VCC, GND, D+, D- na base do conector USB do Arduino (conforme diagrama). Vantagens: proteção contra sobrecorrente da entrada USB do Mega, e pode usar o cabo USB para upload de código sem desmontar. Cole a isolação do cabo no Arduino com cola quente. Adicione abraçadeira (zip tie) no cabo 6-8cm da conexão para alívio de tensão.
2. Montar Eletrônica na Caixa
Coloque o circuito sobre o painel frontal alinhando os 4 guias de furação para centralizar a tela no recorte. Ligue o circuito para verificar posicionamento da imagem na tela, depois cole com cola quente.
3. Montagem Final
Encaixe painel frontal no traseiro puxando suavemente o cabo USB para tomar folga. A abraçadeira protege a fiação. Conecte no carregador USB e pronto!
Código
O código completo (extenso) está disponível nos arquivos zip anexos ao projeto original. Inclui 4 programas separados:
- 1. RetroArcadeClockTechKiwigadgetsV1.zip
- 2. Retro_Pacman_Clock_V10.zip
- 3. Retro_DK_Clock_V3.zip
- 4. Tumble_Ghost_V10.zip
Mais bibliotecas: DS1307RTC.zip, Time.zip, URTouch.zip, UTFT.zip
Peças Personalizadas e Caixas
Thingiverse: https://www.thingiverse.com/thing:3017701
Esquemáticos
Consulte o diagrama de circuito no projeto original.
Processo de manufatura
- Construa um Sequenciador de LED com Timer 555 e Contador 4017 – Divisão de Frequência e Debounce
- Relógio Cuco: História, Artesanato e Evolução Moderna
- Relógio POV com Arduino: Construa um Display LED de Persistência de Visão
- Gerador de Clock Verilog: Guia de Design e Implementação
- Relógio de Palavras DIY com Arduino – Construa um Display Elegante de Tempo Real
- TeleBall: Console Retrô Portátil DIY – Breakout e Tênis para Dois com Arduino
- Construa um Relógio Mestre LED Personalizado com Alarme – Visível a 12 Metros
- Consola Retro Games Ingegno – Jogos 8-Bit Redefinidos
- Relógio de Palavras em Italiano com Arduino Nano, NeoPixel, LCD e RTC
- Relógio Espelho Infinito: Elegância Infinita Encontra Precisão no Tempo