(Resolvido) controlando dimmer com 2 lampadas

Boa noite. Eu sei que este post é antigo, porém gotaria de contribuir de alguma maneira. Quando você trabalha com mais de um dimmer ao mesmo tempo, não é possivel simplesmente encadear os retardos de tempo, é bem mais complicado. Isto acontece porque quando você implementa o primeiro retardo, O TEMPO JÁ AVAÇOU! Ou seja, suponha que você tenha dois dimmers, um com disparo no pino 4 e outro no pino 5. Suponha que o retardo do primeiro são 1000 microsegundos, e do segundo 300 microsegundos. Se o retardo de 1000 microsegundos for aplicado no pino 4, a lampada correspondente irá acender com uma certa luminosidade. Porém não esqueça que já se passaram 1000 microsegundos. Se você aplicar um delay de 300 microsegundos no segundo, do pino 5, na verdade você esta mandando um pulso com retardo real de 1000 + 300 = 1300 microsegundos! Para funcionar, você precisa fazer o seguinte: determine qual dos dois dimmers tem o retardo MENOR. No nosso caso, é o dimmer do pino 5:

retardo = 300us
Dimmer pino 5
retardo = 700us
Dimmer pino 4

O segredo é que sempre o segundo pulso, precisa descontar o valor do primeiro retardo. Se porém tivermos o seguinte: Pino 4 com 10uS e Pino 5 com 300uS, ficaria:

retardo = 10us
Dimmer pino 4
retardo = 290us
Dimmer pino 5

Portanto você precisa re-escrever o código, e bolar um função para determinar qual dos dois retardos é maior. A principal dificuldade é que a sequência de disparo não é fixa, ora você dispara primeiro o pino 4, ora é primeiro o pino 5. Se aumentar o numero de dimmers a dificuldade é maior, mas da para fazer. Já consegui disparar 10 dimmers ao mesmo tempo com o Arduino UNO.