quinta-feira, 4 de abril de 2019

Código Referncia para Interrupção do Arduino

//***************** Interrupções Aula 1  *********************************

/* Instituição: Escola Técnica Parobé
  Autor: Professor Luis Antonio  e Aransegui     **Atenção: Programas sem boas práticas não serão aceitos***
  Data 04/04/2019
  Versão 0.1.1*/

//Parametrização e Otimização do Projeto


#define ledPin 13 // Define rótulo ledPin ao pino 13
#define interruptPin 2 // Define Rótulo interruptPin ao pino 2

// No Arduino UNO, somente os pinos 1 e 2 são recomendados

// Declaração de Funções(Planejar antes do Início)

void panico();// Declara o método,função ou subrotina para acionar o Led

//Declaração de Variáveis


volatile byte state = LOW; // Determina nível baixo para a variável state em memória temporá

// Configuração do do Projeto

void setup() {
  pinMode(ledPin, OUTPUT);// define pino como saída
  pinMode(interruptPin, INPUT_PULLUP);// Configura a interrupção para
  attachInterrupt(digitalPinToInterrupt(interruptPin), panico, CHANGE);// Ativa a INT0 com os parâmetros (pino, função,novo estado)
}

// Acionamento do Led

void acionaLed() {
  digitalWrite(ledPin, state);// Ativa o pino 13 em HIGH
}

//Funções em Loop,Obs.: Aqui devem ser colocadas as funções ou subrotinas que farão parte do programa

 void loop() {
  digitalWrite(ledPin,state);
  //panico();// roda o método para acionar led
}

// Método chamado pela interrupção no pino 2

void panico() {
  state = !state;// inverte o estado de state no pino 2
}

Nenhum comentário:

Postar um comentário