amigo viniciospolo, ja descobri...ja tenho o codigo!!!!
tive a falar com o meu ex-formador, e ele deu-me uma ajuda. tenho o codigo com 4 sequencias de strobos. Assim que for possivel posto fotos para verem.
codigo:
const int pinoBotao = 10; // dando nome ao pino conectado o botao para facilitar durante a programacao
const int pinoLedVerm = 5; // dando nome ao pino conectado o LED Vermelho para facilitar durante a programacao
const int pinoLedAzul = 4; // dando nome ao pino conectado o LED Azul para facilitar durante a programacao
volatile int state = LOW;
// variables will change:
int buttonState, sequencia=0; // variable for reading the pushbutton status
void setup() {
// inicializa os pinos dos LEDs como saidas
pinMode(pinoLedVerm, OUTPUT);
pinMode(pinoLedAzul, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(pinoBotao, INPUT);
//desliga os dois LEDs, apenas para ter certeza que quando inicia é com os LEDs apagados
digitalWrite(pinoLedVerm, LOW);
digitalWrite(pinoLedAzul, LOW);
attachInterrupt(0, sequencias, RISING);
}
void loop(){
if(sequencia==1) sequenciaUm();
if(sequencia==2) sequenciaDois();
if(sequencia==3) sequenciaTres();
if(sequencia==4) sequenciaQuatro();
}
void sequencias()
{
static unsigned long last_interrupt_time = 0;
unsigned long interrupt_time = millis();
// If interrupts come faster than 200ms, assume it's a bounce and ignore
if (interrupt_time - last_interrupt_time > 700)
{
sequencia++;
if (sequencia >4) sequencia = 1;
}
last_interrupt_time = interrupt_time;
}
void sequenciaUm(){
//acende os LEDs azuis
digitalWrite(pinoLedAzul, LOW);
//apaga LEDs vermelhos
digitalWrite(pinoLedVerm, LOW);
//aguarda um tempo de 500 ms
delay(500);
//acende os LEDs vermelhos
digitalWrite(pinoLedAzul, HIGH);
//apaga LEDs azul
digitalWrite(pinoLedVerm, HIGH);
//aguarda um tempo de 500 ms
delay(500);
}
void sequenciaDois(){
//acende os LEDs azuis
digitalWrite(pinoLedAzul, LOW);
delay(150);
digitalWrite(pinoLedAzul, HIGH);
delay(150);
digitalWrite(pinoLedAzul, LOW);
delay(150);
digitalWrite(pinoLedAzul, HIGH);
delay(150);
digitalWrite(pinoLedAzul, LOW);
delay(150);
digitalWrite(pinoLedAzul, HIGH);
delay(150);
//apaga os LEDs vermelhos
digitalWrite(pinoLedVerm, LOW);
delay(150);
digitalWrite(pinoLedVerm, HIGH);
delay(150);
digitalWrite(pinoLedVerm, LOW);
delay(150);
digitalWrite(pinoLedVerm, HIGH);
delay(150);
digitalWrite(pinoLedVerm, LOW);
delay(150);
digitalWrite(pinoLedVerm, HIGH);
delay(150);
}
void sequenciaTres(){
digitalWrite(pinoLedAzul, HIGH);
//apaga LEDs vermelhos
digitalWrite(pinoLedVerm, LOW);
//aguarda um tempo de 500 ms
delay(200);
//acende os LEDs vermelhos
digitalWrite(pinoLedVerm, HIGH);
//apaga LEDs azul
digitalWrite(pinoLedAzul, LOW);
//aguarda um tempo de 500 ms
delay(200);
}
void sequenciaQuatro(){
digitalWrite(pinoLedAzul, LOW);
delay(50);
digitalWrite(pinoLedAzul, HIGH);
delay(50);
digitalWrite(pinoLedAzul, LOW);
delay(50);
digitalWrite(pinoLedAzul, HIGH);
delay(50);
digitalWrite(pinoLedAzul, LOW);
delay(50);
digitalWrite(pinoLedAzul, HIGH);
delay(50);
digitalWrite(pinoLedAzul, LOW);
delay(50);
digitalWrite(pinoLedAzul, HIGH);
delay(50);
digitalWrite(pinoLedAzul, LOW);
delay(50);
digitalWrite(pinoLedAzul, HIGH);
delay(50);
digitalWrite(pinoLedAzul, LOW);
delay(50);
digitalWrite(pinoLedAzul, HIGH);
delay(50);
//apaga os LEDs vermelhos
digitalWrite(pinoLedVerm, LOW);
delay(50);
digitalWrite(pinoLedVerm, HIGH);
delay(50);
digitalWrite(pinoLedVerm, LOW);
delay(50);
digitalWrite(pinoLedVerm, HIGH);
delay(50);
digitalWrite(pinoLedVerm, LOW);
delay(50);
digitalWrite(pinoLedVerm, HIGH);
delay(50);
digitalWrite(pinoLedVerm, LOW);
delay(50);
digitalWrite(pinoLedVerm, HIGH);
delay(50);
digitalWrite(pinoLedVerm, LOW);
delay(50);
digitalWrite(pinoLedVerm, HIGH);
delay(50);
digitalWrite(pinoLedVerm, LOW);
delay(50);
digitalWrite(pinoLedVerm, HIGH);
delay(50);
}
Este foi um exemplo que ele me deu, mas ha outra maneira de fazer mais simples.
peço desculpa ter colado o codigo assim, mas n sei como voces fazem.
de qlqr forma, se tiverem outra ideia, ou outro codigo que queira partilhar, aceito...eu partilhei este para quem precisar.
Abraço