Dúvida ligação máquina fotográfica DSLR ao Arduino

Não fiques assim... o teu código também funciona, mas não é muito flexível por causa dos delays.

Este é um pouco mais complexo, mas após compreenderes o objectivo torna-se simples.

Reparei que a parte da sequência estava desalinhada, se meteres alinhado talvez consigas ver melhor.
Os bits são vistos da direita para a esquerda, ou seja, o bit mais à direita é o zero, o seguinte à o um, etc... Esses bits indicam o estado das luzes ou válvula em cada momento. Como podes ver, no primeiro estado a lampada externa (que ainda não tens no teu sistema) está ligada para tu preparares tudo. Depois o estado 1 diz-te que a lâmpada está apagada e a válvula e obturador estão abertos. Depois apenas o obturador, depois o obturador e a válvula.

No setup tens a definicão da sequencia. Onde eu escrevi a explicacão da sequencia, o numero do estado é o indice do vector sequencia_pinos e o valor que eu coloquei é visto por de cima para baixo. Ou seja:

estado zero - 0b00000001
estado um - 0b00000110
estado dois - 0b00000100

... estás a ver a mecânica?

O vector estado_tempos indica o tempo que demora a passar de estado para estado.
Hoje talvez tenha algum tempo para ver isto por casa com uns leds e se a sequencia funciona (ontem usei um bocado de código semelhante para simular um encoder, por isso deve dar).