Contador de tempo com display duplo de sete segmentos

Boa noite amigos,

Quero implementar um contador tempo progressivo, com Arduino Uno controlando dois displays sete segmentos, que quando acionado e mantido acionado um botão o contador inicie a contagem de tempo em segundos, ao desligar o botão, o contador mantenha a informação da contagem e zere quando o botão for acionado de novo, reiniciando a contagem.

Exatamente como no vídeo abaixo, mas não encontro o código que foi usado:

O que é que já tentaste fazer? O que pretendes não é particularmente complicado, mas as pessoas estão aqui para ajudar e não para fazer o trabalho todo. Afinal de contas o objectivo da plataforma é aprender e só se aprende fazendo.

Vê este exemplo e volta se ficares preso e logo te ajudamos a avançar.
https://www.arduino.cc/en/tutorial/button

bubulindo:
O que é que já tentaste fazer? O que pretendes não é particularmente complicado, mas as pessoas estão aqui para ajudar e não para fazer o trabalho todo. Afinal de contas o objectivo da plataforma é aprender e só se aprende fazendo.

Vê este exemplo e volta se ficares preso e logo te ajudamos a avançar.
https://www.arduino.cc/en/tutorial/button

Oi Bubulindo, foram 10 dias bem intensos estudando Arduino e o basicão do C+.
O que eu consegui até agora:

  1. Controlar um display de sete segmentos, dois dígitos, dez pinos. Entendi que esse display já vem multiplexado, assim sendo cátodo ficou tranquilo montar o circuito.

Usei um Sketch do www.diarioeletronicohoy.com que permite contagem progressiva 0-99. Carreguei na placa e funciona.

  1. Adicionei um sensor de vibração (sw-420) e coloquei ele como um botão, assim, quando HIGH ele faz o contador iniciar, e quando LOW o contador para.

  2. E aqui que eu parei também; não consigo programar: ao parar o sensor: delay de 1 segundo, e em seguida zerar para começar nova contagem.

O zerar está difícil: estudei interrupção (atende pois sensor está no pino 2) para controlar isso, não consegui; botei return, também não acertei como fazer. Estou tentando entender se o MIlis faz esse controle, enquanto isso vim aqui perguntar:

O que sugeres?

Desde já agradeço!

p.s.: na imagem o display que aparece é de um digito; não achei o equivalente de dois dígitos no Fritzing , mas o que importa é que são 10 pinos; o esquema de ligação é aquele ali; nessa esquema o sensor ainda está no pino A0, mas está mudado no Sketch.

sketch_oct02e_conta_vibracao_com_reset.ino (1.95 KB)