terça-feira, 29 de setembro de 2015

07 Programa Arduino: Interrupção (Parte 2)

Prosseguindo o tutorial 7 vou apresentar o segundo modo de interrupção. Este modo permite que ao interrompermos o programa e acionarmos o botão novamente, o hardware inicie de onde parou, ou seja, é realizado uma pausa no programa.

Para este programa será utilizado o mesmo código anterior com acréscimo de algumas instruções que apresentarei no decorrer deste tutorial. O programa é este abaixo.


// 07 Programa Arduino Interrupção parte 2
volatile int state = HIGH;
int ledArray[]= {8,9,10,11,12};
int count = 0;
int timer  = 75;
int pause = 500;
void setup(){
  for(count=0; count<5; count++){
    pinMode(ledArray[count], OUTPUT);
  }
  attachInterrupt(0, ledOnOff, FALLING);
}
void loop(){
  if(state){
    for(count=0; count<5; count++){
      digitalWrite(ledArray[count], HIGH);
      delay(timer);
      if(!state){
        break;
      }
    }
    delay(pause);
    if(state){
      for(count=0; count<5; count++){
        digitalWrite(ledArray[count], LOW);
      }
      delay(pause);
    }
  }
}
void ledOnOff(){
  static unsigned long lastMillis = 0;
  unsigned long newMillis = millis();
  if(newMillis - lastMillis < 50){
  }
  else{
    state = !state;
    lastMillis = newMillis;
  }
}

Como pode ser observado este programa é o mesmo, exceto pelo acréscimo do comando break, então analisarei somente as modificações feitas a fim de acelerar o tutorial visto que a análise deste programa pode ser vista aqui

A instrução break será utilizada posteriormente com o comando switch. Mas aqui neste exemplo ele tem a função de fazer com que quando o botão for pressionado, saia do loop e mantenha os LEDs acesos, ou seja, funciona como uma pausa mantendo a rotina do programa intacta. E quando o botão for pressionado novamente ele retorna o programa de onde parou.


Para montarmos este exemplo será necessários os seguintes componentes:

  • Arduino Uno;
  • 5 LEDs;
  • 5 resistores de 150 Ohm;
  • 1 botão de pressão;
  • Fios ou jumpers.
O esquema para conectar o hardware é este abaixo.
Figura 1 - Esquema do hardware
Logo abaixo algumas fotos da minha montagem.
Figura 2 - Minha montagem 
Figura 3 - Minha montagem
Como pode ser visto pelas fotos a montagem é a mesma. Em seguida trago um vídeo demonstrando o funcionamento deste programa.



Você também pode baixar este e outros programas neste link.

Se você gostou, ajude o blog Eletrônica de Garagem compartilhando em suas redes sociais ou curtindo nossa fan page.

Até o próximo tutorial ! 
Compartilhar:
←  Anterior Proxima  → Página inicial

0 comentários:

Postar um comentário

Marcadores

Total de visualizações