Por que precisamos piscar sem usar a função de atraso () em Arduino
A função de atraso () produz um atraso de um tempo definido na execução de declarações ou podemos dizer que a função de atraso () faz uma pausa para todo o programa e nenhuma declaração será executada até que o atraso () não chegue ao fim.
Isso significa que não podemos realizar qualquer outra tarefa até que o atraso não seja concluído, essa é a principal preocupação por que às vezes é desencorajado a usar a função de atraso (). Vamos considerar o exemplo de um courier-homem, ele vai para a casa e não encontra ninguém em casa, disseram os vizinhos, que a pessoa em questão estará de volta à sua casa em uma hora. Agora, o que o courier-homem deve fazer? Ou ele pode esperar ou entregar as parcelas dos clientes vizinhos e voltar depois de uma hora para entregar o pacote dessa pessoa.
Da mesma forma, na programação, não recomendamos o uso da função de atraso () e fazer uma pausa no programa inteiro por algum tempo, em vez disso, preferimos executar alguma outra tarefa enquanto o piscar de LED do LED.
Piscar sem usar o código de função de atraso () em Arduino
Em Arduino, podemos piscar os LEDs sem usar a função de atraso () por um código muito simples. Antes de passar pelo código, vamos explicar o objetivo de algumas funções internas que estão sendo usadas no código:
Funções | Propósito |
---|---|
pinmode () | Esta função é usada para definir o pino específico para atuar como uma saída ou entrada |
DigitalWrite () | Esta função é usada para configurar o pino de acordo com estados altos ou baixos |
Serial.começar() | Esta função é usada para a comunicação serial |
milis () | Esta função é usada para extrair o tempo de execução do código em milissegundos |
Considere o seguinte código:
int led = 13;
int x = 1;
não assinado D1, D2;
Void Setup ()
pinmode (LED, saída);
DigitalWrite (LED, 1);
Serial.começar (9600);
Void Loop ()
d2 = millis ();
if (d2-d1> = 1000)
x = 1-x;
d1 = millis ();
DigitalWrite (LED, X);
A explicação do código acima é:
Simulação
Vamos executar esse código na simulação do Proteus, abriremos o Proteus e encontraremos os seguintes componentes:
Conecte o terminal único do resistor com o pino 13 de Arduino, conecte o terminal positivo do LED com o outro terminal do resistor e conecte o solo ao terminal negativo do LED. Depois que o circuito for concluído, clique duas vezes em Arduino e envie um arquivo "hexadecimal" do código Arduino.
Jogue o projeto e o LED começará a piscar como mostrado abaixo:
Configuração de hardware
O mesmo circuito que é simulado no proteus será montado na placa de ensaio. Usamos fios de jumper para conectar os componentes que são LED, Arduino e Resistor:
O fio do jumper preto é conectado ao solo do Arduino e ao terminal negativo do LED. Em seguida, um resistor (220 ohms) está conectado ao terminal positivo do LED e outra perna do resistor (220 ohms) está conectada ao pino 13 de Arduino usando o fio de saltador vermelho. O código já está carregado no Arduino, o funcionamento do projeto é:
O LED está piscando com sucesso sem usar a função de atraso ().
Conclusão
A função pisca sem atraso () em Arduino é o projeto de nível para iniciantes, que é usado para demonstrar como o projeto pode ser executado sem usar a função de atraso (). Sem usar a função de atraso (), não somos restritos a uma única tarefa e podemos executar outras instruções do código. Neste artigo, explicamos o piscar liderado sem a função () em Arduino com a ajuda de uma demonstração de sua simulação, bem como sua configuração de hardware.