Índice:
- Etapa 1: Interromper o manipulador
- Etapa 2: definir o intervalo de tempo periódico
- Etapa 3: interromper a inicialização
- Etapa 4: Onde adicionar seu código
Vídeo: Arduino - Interrupção periódica: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Este Instructable é sobre como usar uma interrupção periódica para cronometragem em programas Arduino. Esta é uma etapa para um programador de Arduino iniciante que sabe que o Arduino pode fazer mais, mas não sabe exatamente como fazer isso acontecer.
Se houver um problema de desempenho, presumo que você esteja usando uma ou mais funções delay (). O truque é se livrar da (s) função (ões) delay () e substituí-la por uma interrupção. A função delay () força o Arduino a não fazer nada enquanto espera a conclusão de delay (). Usar uma interrupção permite que seu programa faça outras coisas enquanto espera pelo fim do atraso. Geralmente, há uma grande quantidade de tempo morto não utilizado que poderia ser usado para outras coisas ao usar delay (). Usar uma interrupção resolve esse problema.
Etapa 1: Interromper o manipulador
1. Adicione o manipulador de interrupção ao seu programa. Basta copiar e colar em algum lugar acima de setup ();
const sem sinal longo TIMER0_COUNT = 500; // intervalo do cronômetro de 500 ms
// manipulador de interrupção TIMER0 volatile bool time = false; ISR (TIMER0_COMPA_vect) {contagem longa sem sinal estática = 0; if (++ contagem> TIMER0_COUNT) {contagem = 0; tempo = verdadeiro; // o tempo é definido como verdadeiro a cada TIMER0_COUNT ms} // (o tempo precisa ser apagado na rotina principal)}
Etapa 2: definir o intervalo de tempo periódico
2. Defina o intervalo de tempo. Esta rotina carrega-se na interrupção TIMER0, que é configurada para disparar a cada ~ 1 mseg.
Seu "intervalo" é o número de interrupções TIMER0 para processar. Cada intervalo é de aproximadamente 1 mseg, então você está realmente definindo quantas interrupções TIMER0 contar antes de ativar seu intervalo. IOW, defina a variável TIMER0_COUNT para quantos milissegundos você deseja esperar. Por exemplo, use 500 por meio segundo. Use 3000 por 3 segundos.
Etapa 3: interromper a inicialização
3. Adicione o código de "inicialização TIMER0" ao método setup (). Novamente, apenas copie e cole em setup ().
// *** Inicialização do TIMER0 ***
cli (); // desliga todas as interrupções TIMSK0 = 0; // desliga o timer0 para diminuir o jitter OCR0A = 0xBB; // contagem de interrupções arbitrárias TIMSK0 | = _BV (OCIE0A); // pegando carona na interrupção sei (); // liga as interrupções novamente
Etapa 4: Onde adicionar seu código
4. Adicione o código de "verificação de tempo" ao método loop (). Copie e cole em loop ().
if (tempo) {
tempo = falso; // faça algo aqui}
O "tempo = falso;" linha é importante. Sem esta linha, as linhas "faça algo aqui" seriam executadas toda vez que o programa executasse loop ().
Claro, você substitui suas próprias atividades na linha "faça algo aqui". Comece imprimindo algum texto ou piscando o LED.
Você Terminou!
Recomendado:
Arduino Halloween Edition - Tela pop-out de zumbis (etapas com imagens): 6 etapas
Arduino Halloween Edition - Tela pop-out de zumbis (etapas com imagens): Quer assustar seus amigos e fazer barulho no Halloween? Ou apenas quer fazer uma boa pegadinha? Esta tela pop-out de zumbis pode fazer isso! Neste Instructable, vou ensiná-lo a criar facilmente zumbis usando o Arduino. O HC-SR0
Alimentador de peixes Arduino Uno em 6 etapas fáceis e baratas !: 6 etapas
Arduino Uno Fish Feeder em 6 etapas baratas e fáceis !: Portanto, um pouco de história de fundo pode ser necessária para este projeto. Pessoas com peixes de estimação provavelmente enfrentavam o mesmo problema que eu: férias e esquecimento. Eu sempre esquecia de alimentar meus peixes e sempre me esforçava para fazê-lo antes de ir para
Levitação acústica com Arduino Uno passo a passo (8 etapas): 8 etapas
Levitação acústica com Arduino Uno passo a passo (8 etapas): transdutores de som ultrassônico L298N fonte de alimentação do adaptador DC fêmea com um pino DC macho Arduino UNOBreadboardComo isso funciona: primeiro, você carrega o código para Arduino Uno (é um microcontrolador equipado com digital e portas analógicas para converter código (C ++)
Sistema de alarme de incêndio usando Arduino [em algumas etapas fáceis]: 3 etapas
Sistema de alarme de incêndio usando o Arduino [em algumas etapas fáceis]: você está procurando fazer um projeto simples e interessante com o Arduino que, ao mesmo tempo, possa ser realmente útil e potencialmente salvador? Se sim, você veio ao lugar certo para aprender algo novo e inovador. Neste post vamos
Tabela periódica interativa de LED: 12 etapas (com imagens)
Tabela Periódica Interativa de LED: Minha namorada e eu temos uma coleção de elementos - amostras dos pedaços únicos de matéria que compõem tudo no universo! Para uma coleção tão interessante, decidi construir uma vitrine que mostre as amostras em todos os seus mundos