Como utilizar a função millis() na prática
HTML-код
- Опубликовано: 7 фев 2025
- Normalmente eu vejo vários desenvolvedores tendo problemas para aplicar corretamente a função millis() em seus sistemas com Arduino.
Nessa aula, você vai aprender o que é a função millis e como aplicar de forma simples.
Deixe nos comentários o que você achou da aula ou a sua dúvida, eu irei responder o quanto antes.
Link do código: drive.google.c...
Gostei muito do seu projeto e do uso do switch - case que é a estrutura fundamental da Máquina de Estado. Muito bom para também implementar na prática um sistema "Bi-Manual de Partida", no qual temporizamos o tempo dos 2 botões usados com a lógica && de maneira que, se o tempo ajustado ( p.ex. 500 ms) for excedido, uma instrução de bloqueio impede a ativação da saída correspondente que faz o equipamento funcionar. Isso para evitar que o operador mantenha um botão sempre acionado ( travado mecanicamente ) e fique utilizando apenas uma mão para pressionar o outro botão e partir o dispositivo com risco de sofrer algum acidente na mão que está livre. Show 👍👍👍
Boa noite George. foi a melhor explicaçao até agora
ta começando a ficar mais facil. Muito obrigado.
Parabéns, muito bom e de muita ajuda... Obrigado.
Sr. George, gostei da sua explicação! poderia depois fazer outro exemplo explicando o millis com 2 botões e 2 leds, mas que pra explicar crianças de 10 a 13 anos, eu não sei exemplificar pra mostrar a eles! Há obrigado pela explicação!
Parabéns pelo vídeo brother, acho que ficou bem explicado pra turma que tem dúvidas sobre a função Millis
VELEU MUITO OBRIGADO.
consegui extrair o arquivo rar. num saite oline.
Muito bom o vídeo!!!
Muito bom o seu vídeo, a forma que fala e explica ! Montei o circuito e os comandos, deu certo, mas gostaria de fazer uma observação: No caso de quando você invoca o botão no primeiro " if ", para funcionar aqui somente com valor alto(HIGH).
Quando você coloca o teste para verificar se o botão foi apertado ou não, normalmente eu coloco HIGH , nivel alto(1), pois o nível baixo de tensão (0), LOW(sem acionamento do botão), demonstra que estará desde já sempre acesso e apagará com HIGH. Neste caso se vc apertar o botão já com o LED aceso e mantiver no caso o pushButton apertado o LED ira se apagar conforme o tempo que programou.
Tenho uma chave fim de curso aqui que tem duas opções de uso, serve para abrir ou fechar contato depende de como você quer posiciona ira colocar HIGH ou LOW para o teste da condição if. Deu certo o teste.
Obrigado.
Olá, muito obrigado por compartilhar seu conhecimento, estou desenvolvendo uma lógica para acionar uma lâmpada por meio de sensor PIR em conjunto com LDR. Logo vou fazer um vídeo e compartilhar meus resultados também.
Bom dia, Parabéns prof. Muita didática com grande conhecimento, só sucesso. Como seria a programação para acionar dois motores, onde inicialmente se aciona um motor por determinado tempo, e após este tempo, o outro motor seria acionado. Esta ação deve ocorrer por 5 repetições.
Perfeito
Didática muito boa,de fácil entendimento, parabéns !
Muito show!
Bom dia adorei sua explicação,.
Surgiu uma duvida. A variavel unsigned long conta até 4,294,967,295 mili segundos que corresponde a 4,294,967 segundos que corresponde a 49 dias.
O que acontece se a automação ficar ligado mais de 50 dias?
O millis perda a função?
Muito bom o vídeo! Já me escrevi no canal.
Luis, tenho.uma dúvida.
Tenho leds acionados pelo sensor da biblioteca (CapacitiveSensor) posso determinar um tempo de 1 em 1 hora para estes Leds piscarem, vamos supor numa frequência de 3x por segundo durante 3 segundos?
Obs: A partir do momento que ligo o Arduino. É tipo um alarme automático sem apertar botão.
Muito bem explicado!!!
Boa tarde, primeiro gostaria de parabenizar pela explicação muito clara, mas gostaria só de tirar uma dúvida: É possível usar a função millis junto com RTC? ou seja em vez de usar o sistema de contagem do tempo do arduino, usar o relógio
Boa tarde, tentei abaixar o código e o mesmo não está disponível, como posso conseguir?
Boa tarde!
Como faço para aplicar essa técnica para substituir os delay no meu codigo abaixo. consegue me ajudar?
#define botao_1 2
#define botao_2 3
#define led_1 5
#define led_2 6
#define led_3 7
#define led_4 8
boolean flag_botao1;
boolean flag_botao2;
void setup() {
pinMode(botao_1, INPUT);
pinMode(botao_2, INPUT);
pinMode(led_1, OUTPUT);
pinMode(led_2, OUTPUT);
pinMode(led_3, OUTPUT);
pinMode(led_4, OUTPUT);
digitalWrite(led_1, LOW);
digitalWrite(led_2, LOW);
digitalWrite(led_3, LOW);
digitalWrite(led_4, LOW);
}
void loop() {
if(!digitalRead(botao_1) && digitalRead(botao_2) && !flag_botao1){
delay(50);
if(!digitalRead(botao_1)){
flag_botao1 = true;
}
}else{
if(digitalRead(botao_1) && flag_botao1){
flag_botao1 = false;
digitalWrite(led_1, HIGH);
delay(2000);
digitalWrite(led_1, LOW);
digitalWrite(led_2, HIGH);
delay(2000);
digitalWrite(led_2, LOW);
}
}
if(!digitalRead(botao_2) && digitalRead(botao_1) && !flag_botao2){
delay(50);
if(!digitalRead(botao_2)){
flag_botao2 = true;
}
}else{
if(digitalRead(botao_2) && flag_botao2){
flag_botao2 = false;
digitalWrite(led_3, HIGH);
delay(2000);
digitalWrite(led_3, LOW);
digitalWrite(led_4, HIGH);
delay(2000);
digitalWrite(led_4, LOW);
}
}
}
Like 101, parabéns !!!
Estou tentando fazer um semáforo com a função milles como expressar intervalos? tipo... ( milles - tempo tem que ser maior que 10 e menor que vinte)?
Meu amigo quero que vc faz um programa pra mim.
Mim manda seu contato dependendo do valor cobrado quero o programa pra ontem
o ruim da explicação foi esses numeros espalhado no programa, não se sabe quem é led ou quem é bt
não consigo acessar o drive... pode mandar no tiago_usc@hotmail.com?
Mas é folgado kkkk duvido que ele te enviou kkkk só vc mesmo pra acreditar que ele enviaria hahahahahha