attachInterrupt em um pino
Execute o código no instante em que um sinal mudar.
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. 🎉
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
- Sondagem versus interrupções
- attachInterrupt em um pino
- Escreva uma ISR segura
- Conte pulsos de um codificador