Arduino & IoT Academy · Aula

attachInterrupt em um pino

Execute o código no instante em que um sinal mudar.

Aula 2 de 413 etapas

attachInterrupt em um pino é uma aula grátis de Arduino & IoT Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Arduino & IoT Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Arduino & IoT Academy inclui 4 aulas no total.

Ligue o código a um pino

A função attachInterrupt informa à sua placa: monitore este pino e, no instante em que o sinal mudar, execute minha função imediatamente.

Apenas pinos especiais

Nem todo pino é compatível com interrupções. No Uno, apenas os pinos 2 e 3 são compatíveis, portanto conecte seu sinal a um deles.

Converta o pino em número

Coloque o pino dentro de digitalPinToInterrupt para usar o número correto da interrupção. Isso mantém seu código portátil entre placas.

digitalPinToInterrupt(2);

Três elementos

Você fornece três coisas a attachInterrupt: qual pino monitorar, qual função executar e que tipo de mudança deve acioná-la.

attachInterrupt(digitalPinToInterrupt(2), myISR, RISING);

A função manipuladora

A função que você nomeia é seu manipulador, também chamado de ISR. A placa o chama automaticamente; você nunca o chama diretamente.

void myISR() {
  flag = true;
}

Borda RISING

Passe RISING para disparar quando o pino passar de LOW para HIGH, como no instante em que um sinal é ligado pela primeira vez. 📈

Borda FALLING

Passe FALLING para disparar quando o pino passar de HIGH para LOW. Um botão com pull-up geralmente dispara nesse momento, pois pressioná-lo faz o pino descer.

Modo CHANGE

Passe CHANGE para disparar em qualquer uma das bordas, tanto na subida quanto na descida. Isso é útil quando você se importa com cada transição do sinal.

Configure em setup()

Chame attachInterrupt uma vez dentro de setup, logo depois de configurar o modo do pino. A partir daí, o monitoramento acontecerá por conta própria.

pinMode(2, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(2), myISR, FALLING);

O laço permanece leve

Com a interrupção anexada, seu laço não consulta mais esse pino. O manipulador só é executado quando a borda escolhida realmente ocorre.

Desativando-a

Se precisar parar de monitorar, detachInterrupt remove a conexão. Na maioria dos projetos, a interrupção é anexada uma vez e nunca é removida.

detachInterrupt(digitalPinToInterrupt(2));

Verificação rápida

Qual modo de acionamento é executado somente quando um pino passa de LOW para HIGH?

Recapitulação

Você aprendeu a chamar attachInterrupt com um pino, um manipulador e um modo como RISING. Agora o hardware executa seu código no instante em que um sinal muda. 🎉

Grátis para começar

Aprenda C++ com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “attachInterrupt em um pino” é grátis?

Sim — o texto completo de “attachInterrupt em um pino” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Arduino & IoT Academy, atualize para CoddyKit PRO. O curso de Arduino & IoT Academy inclui 4 aulas no total.

O que vou aprender em “attachInterrupt em um pino”?

Execute o código no instante em que um sinal mudar. Você pratica Arduino & IoT Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Arduino & IoT Academy?

Nenhuma experiência prévia é necessária. Arduino & IoT Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “attachInterrupt em um pino”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Arduino & IoT Academy?

Sim. Cada aula de Arduino & IoT Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Sondagem versus interrupções
  2. attachInterrupt em um pino
  3. Escreva uma ISR segura
  4. Conte pulsos de um codificador
← Voltar para Arduino & IoT Academy