Índice:

O relógio não é tão ruim: 4 etapas
O relógio não é tão ruim: 4 etapas

Vídeo: O relógio não é tão ruim: 4 etapas

Vídeo: O relógio não é tão ruim: 4 etapas
Vídeo: MC Negão do Arizona e MC Menor MR - O Relógio (kondzilla.com) 2024, Junho
Anonim
O relógio não é tão ruim
O relógio não é tão ruim
O relógio não é tão ruim
O relógio não é tão ruim
O relógio não é tão ruim
O relógio não é tão ruim

Por davidjwattsdavidjwatts.comSiga mais pelo autor:

PiBot: Calculando Pi com um Arduino Uno
PiBot: Calculando Pi com um Arduino Uno
PiBot: Calculando Pi com um Arduino Uno
PiBot: Calculando Pi com um Arduino Uno

Primeiro, por que chamá-lo de Relógio de merda? Bem, diminui as expectativas com a esperança de superá-las:-) Eu brinco, é claro, o relógio representa muitos dos meus fracassos e sucessos em igual medida. A representação física do azarão em eletrônica.

Em segundo lugar, esta não é realmente uma forma de tornar a 'coisa' mais uma reflexão sobre as escolhas de design e todos os materiais de que você precisa para construir o seu próprio.

O Crap Clock é um relógio executado a partir de um ATMEGA328 que aciona 82 LEDs por meio de um 74HC595 acionando as linhas e um TLC5940 direcionando a corrente através das colunas. Como o DS3231 mantém a hora e pode ser mantido funcionando com os terminais de entrada da bateria. O relógio tem vários 'modos' para ver a hora, data, ano, temperatura e, em seguida, modos para definir a hora e a data com os dois botões. Os LEDs podem ser escurecidos com o TLC5940 e o display de segundos (LEDs rosa acima) pode ser usado para exibir uma letra contextual junto com o modo em que o relógio está.

Existem alguns recursos que não usei ou retirei do PCB, como carregamento de bateria de íon-lítio, fiz isso nesta versão para reduzir o custo das peças e porque o DS3231 realmente só consome uma pequena quantidade de corrente. Ainda há pinos para o pino INT / SQW de alarme DS3231 embutido e um pino de campainha do ATMEGA. O pino 10 é quebrado para uso geral e também há um pino analógico disponível para um recurso como um LDR para alterar o brilho com base na luz ambiente.

Eu montei uma lista de reprodução de todos os vídeos onde me lembro de falar ou projetar o relógio de merda.

Etapa 1: Etapa 1: o PCB e o esquema

Etapa 1: o PCB e o esquema
Etapa 1: o PCB e o esquema
Etapa 1: o PCB e o esquema
Etapa 1: o PCB e o esquema

O layout e o esquema do PCB foram projetados no Eagle, demorou muuuuito;-) mas também foi muito divertido e realmente me ensinou muito sobre design. Não se preocupe, ainda haverá muitos erros em todos os outros projetos que cometi, incluindo todos os que não conheço neste.

Eu queria que o relógio tivesse um display de matriz e que tudo existisse em uma placa, então comecei a criar uma placa redonda para emular um relógio analógico. Sim…. que não aderiu, era uma forma terrível de rotear e exigiu milhões (talvez centenas) de LEDs. Em seguida, decidi fazer uma tela em estilo matriz usando LEDs, originalmente todos acionados com registradores de deslocamento (o venerável 74HC595), mas decidi no final que o familiar driver de LED TLC5940 seria ótimo para drenar a corrente desses LEDs e fornecer o incrível recurso de escurecimento PWM.

Aqui está a lista de materiais:

1 x 16 MHz cristal SM49

82 x 0603 LEDs (praticamente qualquer cor que você quiser)

1 x Mini USB tipo B (não é necessário, é apenas para energia que é quebrada nos pinos de qualquer maneira)

7 x 100nf 0805 capacitores

9 x 10k 0805 resistores

2 x 10uf 0805 capacitores (não é realmente necessário para ser honesto e 0805 são caros)

5 x 1k 0805 resistores

1 x 2k 0805 resistores

5 x 2n3906 SOT23

2 x 22pf 1206 resistores

16 x 470 ohm 0805 resistores

1 x 74HC595D SO16

1 x ATMEGA328P-AU

1 x DS3231 SO16W

2 x interruptor tátil SMD DTSM-3

1 x TLC5940PWP

Etapa 2: Etapa 2: o código de merda

Etapa 2: o código de merda
Etapa 2: o código de merda

O código foi um pesadelo, descobriu-se que codificar um relógio com um display de matriz homebrew não é tão fácil, mesmo quando você está usando algumas bibliotecas.

Não é um ótimo código, é claro, é um código de merda. Mas está funcionando e é fácil de modificar, não tenho ideia de como fazer uma biblioteca, então tudo isso é um pouco como um desastre. Ha ha, mas honestamente, estou trabalhando para tornar meu código melhor e aprender como criar minhas próprias bibliotecas.

Ele foi escrito no IDE do Arduino e usa algumas bibliotecas (Shifter.h, MD_DS3231.he Tlc5940.h) criadas por pessoas muito mais espertas que eu. Você precisará fazer o upload com um programador, usei um Arduino como ISP e conectei-o ao reset, 11, 12, 13 pinos na placa.

Os botões:

Existem dois botões, eles têm várias funções, dependendo do modo em que o relógio está. Você pode usá-los para alterar o modo de exibição para frente e para trás, por meio de hora, data, ano, temperatura e depois para definir a hora.

Etapa 3: Etapa 3: a caixa de merda

"carregando =" preguiçoso "posso dizer, é um pouco besteira, mas estou meio que apaixonado por isso. A nova versão do design do PCB não tem aqueles fios bodge atraentes;-) Os acabados que tenho são baseados em minhas placas de protótipo.

Sinta-se à vontade para desmontá-lo, remixá-lo e usar todas as partes que achar úteis. Tenho recebido muita ajuda de pessoas da comunidade do YouTube em toda a extensão deste projeto, então é de todos no final.

Recomendado: