collapse

* Posts Recentes

Ajuda na identificação de componente de portatil por jm_araujo
[15 de Setembro de 2019, 11:41]


Loja online "McMaster" na europa? por senso
[09 de Setembro de 2019, 23:54]


Carregador Solar para Baterias - EBay por almamater
[09 de Setembro de 2019, 22:47]


Pasta térmica por thx1011
[04 de Setembro de 2019, 19:35]


Livros opensource de electrónica, transístores e OpAmps. por thx1011
[03 de Setembro de 2019, 19:56]


Que métodos utilizam para limpar as vossas placas após soldadura? por KammutierSpule
[21 de Agosto de 2019, 22:42]


Contas para saber a duração das baterias. por vasco
[21 de Agosto de 2019, 11:10]


Fabricantes de PCB e Assemblage (produção em massa) por Kristey
[21 de Agosto de 2019, 08:51]


Máquina de soldar a fio sem gás LIDL por Hugu
[16 de Agosto de 2019, 18:28]


Hugu por jm_araujo
[14 de Agosto de 2019, 00:50]

Autor Tópico: Relógio com Arduino UNO.  (Lida 4543 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Relógio com Arduino UNO.
« Responder #15 em: 22 de Fevereiro de 2018, 14:19 »
Vivas Joanito,

Então e tens feito coisas mais recentemente, ou entretanto perdeste o interesse nesta área?

Offline vasco

  • Mini Robot
  • *
  • Mensagens: 382
Re: Relógio com Arduino UNO.
« Responder #16 em: 22 de Fevereiro de 2018, 14:57 »
Olá, eu quando comecei o projeto estava com ideias em fazer por programação do arduino , só que o arduino uno não tem portas digitais suficientes para lidar com tantos catodos digitais então eu acabei por fazer quase um relógio todo com contadores e descodificadores e ficou o arduino só a gerar o clock . Claro que há maneiras mais fáceis de gerar o clock e mais baratas, mas para incluir o arduino neste projeto, ficou assim.

Just for the record, por um pino high e low com um delay pelo meio não produz um clock particularmente estavel.

Não compreendo o código abaixo, mas gera um clock de 4 MHz no pino 11 de um arduino nano, tenho a certeza que funciona também no uno e não necessita de ter absolutamente nada a correr dentro da função loop(). Não estou certo se o prescaler permite descer até 1 Hz

Código: [Seleccione]
setup()
{
  pinMode(11,OUTPUT);

  TCCR2A = ((1 << WGM21) | (1 << COM2A0));
  TCCR2B = (1 << CS20);       // prescaler = 1
  TIMSK2 = 0;
  OCR2A = 1;
}

A minha maior duvida é onde é que é dito que o output é para o pino 11.
Stupid men are often capable of things the clever wouldn't dare to contemplate.

Offline LVirtual

  • Mini Robot
  • *
  • Mensagens: 472
  • http://www.s-tronika.com
    • S-Tronika - Serviços Técnicos de Electrónica
Re: Relógio com Arduino UNO.
« Responder #17 em: 22 de Fevereiro de 2018, 15:03 »
ja agora uma achega visto que realmente usar um arduino para nao comprar 2 ou 3 transistores para fazer um clock, tem que se lhe diga... ;)

http://cosinekitty.com/digitalclock/

se 3 resistencias e 1 transistor nao for suficientemente bom, deixo aqui uma soluçao mais "em conta"... ;)

http://transistorclock.com/
"O defeito mais grave dos humanos, aquele que coloca mais obstáculos à sua evolução, é a crença profundamente arreigada na infalibilidade dos seus raciocínios e dos seus pontos de vista."

Offline Joanito

  • Mini Robot
  • *
  • Mensagens: 9
Re: Relógio com Arduino UNO.
« Responder #18 em: 22 de Fevereiro de 2018, 15:54 »
Olá, acho que falta qualquer funçãozita aí que faça saír o valor pelo pino 11, Vasco.

Gostei do relógio só com transistores, LVirtual. Deve haver tambem um relogio só com relés ;-) Já imaginas-te o som daqueles relés todos a baterem : tic tac, tic tac  nem era preciso nada para fazer o bip a cada segundo que passasse, os próprios relés já o faziam ;-)

Offline Joanito

  • Mini Robot
  • *
  • Mensagens: 9
Re: Relógio com Arduino UNO.
« Responder #19 em: 22 de Fevereiro de 2018, 15:56 »
Olá , sim continuo com interesse nesta área :-)

Porque é que um HIGH com latencia seguido de um LOW com latencia num loop não geram um bom clock ?
« Última modificação: 22 de Fevereiro de 2018, 16:01 por Joanito »

Offline LVirtual

  • Mini Robot
  • *
  • Mensagens: 472
  • http://www.s-tronika.com
    • S-Tronika - Serviços Técnicos de Electrónica
Re: Relógio com Arduino UNO.
« Responder #20 em: 22 de Fevereiro de 2018, 16:01 »
Olá, acho que falta qualquer funçãozita aí que faça saír o valor pelo pino 11, Vasco.

Gostei do relógio só com transistores, LVirtual. Deve haver tambem um relogio só com relés ;-) Já imaginas-te o som daqueles relés todos a baterem : tic tac, tic tac  nem era preciso nada para fazer o bip a cada segundo que passasse, os próprios relés já o faziam ;-)

imagino sim. basta ires ás estaçoes de comboio que tenham relaogios daqueles feitos com segmentos amarelos e vais ouvir o barulho das bobines dos segmentos a bater a cada segundo. adoro é no virar da hora :) batem todos quasem em simultaneo.
as bobines destes segmentos sao iguais as dos relays...

tenta adormecer numa estaçao de comboio na zona do relogio que vais ver... ;)
"O defeito mais grave dos humanos, aquele que coloca mais obstáculos à sua evolução, é a crença profundamente arreigada na infalibilidade dos seus raciocínios e dos seus pontos de vista."

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.528
  • NERD!
Re: Relógio com Arduino UNO.
« Responder #21 em: 22 de Fevereiro de 2018, 16:04 »
Olá, acho que falta qualquer funçãozita aí que faça saír o valor pelo pino 11, Vasco.
Não falta nada, está completo o código (tirando a parte da frequencia gerada não ser 1Hz).
O proximo capitulo a ler é sobre timers.
O timer 2 pode contolar os pinos OC2A e/ou OC2B que correspondem aos pinos do atmega  PB3 e PD3, que correspondem no arduino aos pinos 11 e 3.

Porque é que um HIGH com latencia seguido de um LOW com latencia num loop não geram um bom clock ?
Respondeste-te a ti próprio e nem reparaste. A latência não é determinística (pode variar e varia!), o sinal não vai ser estável nem preciso.
« Última modificação: 22 de Fevereiro de 2018, 16:06 por jm_araujo »

Offline Joanito

  • Mini Robot
  • *
  • Mensagens: 9
Re: Relógio com Arduino UNO.
« Responder #22 em: 22 de Fevereiro de 2018, 16:07 »
E se fosse um processador de um computador dos dias de hoje feito só com relés ? Quantos campos de futebol eram precisos para fazer o processador ? ;-) E o barulho daqueles relés todos a baterem ? ;-) Estrondo !

Offline Joanito

  • Mini Robot
  • *
  • Mensagens: 9
Re: Relógio com Arduino UNO.
« Responder #23 em: 22 de Fevereiro de 2018, 16:13 »
...Mas se for por exemplo: loop { pino 3=High ; delay (1000) ; pino 3=Low ; delay (1000) ; } Isto gera um clock normal, certo ?

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.528
  • NERD!
Re: Relógio com Arduino UNO.
« Responder #24 em: 22 de Fevereiro de 2018, 16:20 »
É disso que estamos a falar.
Gera um clock "normal" mas não é estável nem preciso. O delay não tem precisão nem demora sempre o mesmo (mesmo que o nº que lá está seja igual).
Um delay(1000) pode demorar 1000ms, como 1000,5ms, como 1000,4ms, como outro qualquer valor aproximado, e não tens como saber o que demora de cada vez que o chamas.
Para garantir a consistência precisas de usar timers.

Offline Joanito

  • Mini Robot
  • *
  • Mensagens: 9
Re: Relógio com Arduino UNO.
« Responder #25 em: 22 de Fevereiro de 2018, 16:29 »
ah ok , não sabia , obrigado

Offline vasco

  • Mini Robot
  • *
  • Mensagens: 382
Re: Relógio com Arduino UNO.
« Responder #26 em: 23 de Fevereiro de 2018, 17:07 »

imagino sim. basta ires ás estaçoes de comboio que tenham relaogios daqueles feitos com segmentos amarelos e vais ouvir o barulho das bobines dos segmentos a bater a cada segundo. adoro é no virar da hora :) batem todos quasem em simultaneo.
as bobines destes segmentos sao iguais as dos relays...

tenta adormecer numa estaçao de comboio na zona do relogio que vais ver... ;)

Já não será do tempo da maior parte dos frequentadores do forum, mas quando eu era criança ainda fui umas quantas vezes "à Portela ver os aviões voar", já nessa altura ficava fascinado com os quadros informativos que tinham os nomes dos destinos em plaquinhas separadas... Só os barulhos estranhos que aquilo fazia eram metade da piada.

A definição mais básica de um transístor diz que ele é um interruptor, logo não é de espantar que toda a logica que se faz com transístor  também se possa fazer com relés.
Stupid men are often capable of things the clever wouldn't dare to contemplate.

Offline vasco

  • Mini Robot
  • *
  • Mensagens: 382
Re: Relógio com Arduino UNO.
« Responder #27 em: 23 de Fevereiro de 2018, 17:17 »
Olá, acho que falta qualquer funçãozita aí que faça saír o valor pelo pino 11, Vasco.
Não falta nada, está completo o código (tirando a parte da frequencia gerada não ser 1Hz).
O proximo capitulo a ler é sobre timers.
O timer 2 pode contolar os pinos OC2A e/ou OC2B que correspondem aos pinos do atmega  PB3 e PD3, que correspondem no arduino aos pinos 11 e 3.


Não, não, esses valores são para 4 MHz. Não tenho a certeza se se consegue só com o prescalar descer até 1 Hz, mas o que não faltam são chips que podem servir como divisores.

Eu acho que já percebi a ideia dos timmers, carrega-se um dado valor (num registo) que é decrementado à frequência do clock dividido pelo prescalar, quando essa valor chega a zero acontece "qq coisa", é a definição da "qq coisa" que me baralha.
Stupid men are often capable of things the clever wouldn't dare to contemplate.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.433
    • Tróniquices
Re: Relógio com Arduino UNO.
« Responder #28 em: 23 de Fevereiro de 2018, 17:59 »
Está tudo na datasheet de qualquer AVR que tenha um timer.

Há vários modos de contagem, pode ser para cima, para baixo, para cima e para baixo...
E pode contar até ao limite dos bits, ou até ao valor constante de um outro registo.
E quando o contador "dá a volta", ou quando o valor fica igual ao contido num outro registo, pode por exemplo ocorrer uma interrupção, ou pode iniciar-se/fazer toggle/... o sinal de saída se o modo for PWM.
A "velocidade" de contagem é o clock do timer quem decide. Esse clock pode ser directamente o clock do chip (system clock), ou um valor reduzido (dividido) por um "pre-scaler", um sinal digital que vem do exterior do chip (se quiseres por exemplo contar transições de um sinal digital), ou ainda a saída de um multiplicador do system clock (por exemplo o attiny26(x) tem um multiplicador interno que pode gerar clocks até 64MHz).

Offline LVirtual

  • Mini Robot
  • *
  • Mensagens: 472
  • http://www.s-tronika.com
    • S-Tronika - Serviços Técnicos de Electrónica
Re: Relógio com Arduino UNO.
« Responder #29 em: 23 de Fevereiro de 2018, 18:49 »

imagino sim. basta ires ás estaçoes de comboio que tenham relaogios daqueles feitos com segmentos amarelos e vais ouvir o barulho das bobines dos segmentos a bater a cada segundo. adoro é no virar da hora :) batem todos quasem em simultaneo.
as bobines destes segmentos sao iguais as dos relays...

tenta adormecer numa estaçao de comboio na zona do relogio que vais ver... ;)

Já não será do tempo da maior parte dos frequentadores do forum, mas quando eu era criança ainda fui umas quantas vezes "à Portela ver os aviões voar", já nessa altura ficava fascinado com os quadros informativos que tinham os nomes dos destinos em plaquinhas separadas... Só os barulhos estranhos que aquilo fazia eram metade da piada.

A definição mais básica de um transístor diz que ele é um interruptor, logo não é de espantar que toda a logica que se faz com transístor  também se possa fazer com relés.

eu tive a sorte de trabalhar numa empresa que ha 15 anos atras quase que empestou tudo o que era serviços publicos de transportes com paineis de informaçao ao publico com com caracteres feitos com tecnologia eletromagnetica.
A maior parte foi parar as estaçoes de comboios mas tambem chegaram a existir em estaçoes de outros veiculos de transporte alguns.

sempre que tinha algum para reparar em bancada era uma maravilha ouvir os segmentos a bater todos cadenciados. quem nao gostava muito do ruido "tipo relogio de sala" era o resto do pessoal ;)

ja agora assim estilo àparte, os paineis que informam os preços dos combustiveis nas autoestradas sao todos com segmentos magneticos. esses é que eu gostava de reparar porque sao muito rapidos a mudar os digitos...
era sempre um cagaçal na sala, porque a placa de cpu assim que é alimentada faz um autoteste a todos os digitos da linha que sao 8, vezes 7 segmentos cada um... e dentro duma sala com 30 M2 faz mesmo cagaçal as chapas de aluminio dos segmentos a bater dentro da caixa metalica de cada digito...
"O defeito mais grave dos humanos, aquele que coloca mais obstáculos à sua evolução, é a crença profundamente arreigada na infalibilidade dos seus raciocínios e dos seus pontos de vista."