Cara, de repente bateu uma vontade de fazer um relógio diferente pra minha bancada de trabalho. Tava cansado daqueles relógios feios ou cheios de firula. Queria algo simples, claro e que não me deixasse na mão. Dai nasceu a ideia do “Relogio Boss”.
A Fase das Tentativas (e Erros)
Peguei um Arduino Uno velho que tava juntando poeira. Conectei um display LCD básico que tinha aqui, daqueles de 16×2 caracteres. Escrevi um código malandro pra mostrar as horas:
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
*(16, 2);
*("Hora Certa:");
void loop() {
*(0, 1);
*(millis() / 1000); // Gambiarra pra simular tempo
delay(1000);
Mas putz, ficou uma merda. Só mostrava segundos acumulados desde que ligava, sabe? Tava mais pra cronômetro do que relógio. Além disso, toda vez que tirava da tomada, voltava pro zero. Um lixo total.
Colocando Ordem na Casa (e no Relógio)
Fui atrás de solução. Lembrei que precisava de um chip pra manter a hora certinha, mesmo sem energia. Encontrei aquele famosinho, o DS3231. Comprei um módulo barato dele. Fiz a ligação:
Conectei o pino SCL do módulo no A5 do Arduino.
Juntei o SDA no A4.
Alimentação (+5V e GND) nos pinos certos do Arduino.
Aí veio a parte de botar pra funcionar. Baixei a biblioteca “RTClib” e adaptei meu código:
#include
#include "RTClib.h"
RTC_DS3231 rtc;
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
if (!*()) {
*("RTC FALHOU!");
while(1);
if (*()) {
// Se perdeu energia, ajusta pro momento da compilacao (gambiarra pra teste)
*(DateTime(F(__DATE__), F(__TIME__)));
*(16, 2);
void loop() {
DateTime agora = *();
*(0, 0);
*("Relogio BOSS");
*(0, 1);
// Formata a hora bonitinha: HH:MM:SS
if (*() < 10) *("0");
if (*() < 10) *("0");
if (*() < 10) *("0");
delay(1000);
Acertando os Ponteiros (Literais)
Testei… e funcionou! Mas tinha um problema chato: toda vez que ligava pela primeira vez ou se faltasse luz, ele voltava pro horário em que o sketch foi compilado. Precisava de um jeito fácil de acertar a hora sem mexer no código.
Solução bagaceira? Adicionei botões! Coloquei três botões na protoboard:
Um para aumentar hora.
Outro pra aumentar minuto.
E um terceiro pra confirmar o ajuste.
Adaptei o código pra ler os botões e ajustar o RTC quando necessário, direto pelo Arduino. Agora ficou prático pra caramba!
O Que Aprendi (Fora os Puxões de Cabelo)
Essa zoeira toda me mostrou algumas coisas:
Primeiro: Nunca subestime um projetinho “simples”. Sempre cresce.
Segundo: Um bom RTC faz milagre. Nunca mais quero relógio que zera.
O mais doido? Esse troço virou item permanente na minha mesa. É feio? É, com fios pra todo lado ainda. Mas funciona que é uma beleza e me lembra o perrengue que foi fazer. Meu relógio boss, feito na raça!
Por Que Fiz Isso? (Drama Pessoal)
Tudo bem, confesso. Minha esposa tava puta. EU SEMPRE ESQUECIA DE MARCAR OS HORÁRIOS DAS REUNIÕES IMPORTANTES NO TRABALHO. Chegava atrasado, perdia call… ela quase me matou quando perdi uma reunião com o chefe dela! Então, esse relógio feio? É meu salva-vidas matrimonial e profissional. Coloquei ele bem na minha frente, gigante, pra nunca mais passar vergonha. Queria algo que não desse erro, não dependesse de internet e que me encarasse o dia todo. Funcionou. Agora até minha esposa gosta do “monstrinho”.