Alguém sabe como fazer um temporizador sem usar o delay ??
Tags:
Sou iniciante com arduino e estou tentando fazer temporizador por botão obrigado pela disposição da ajuda Rodrigo..
Tentei fazer o teste do seu code porem nao estou conseguindo incrementar o tempo, no display so aparece "delay off" .. poderia me ajudar .. Desculpe minha ignorancia
obrigado
byte cont;
int temp = 1;
void setup(){
}
void loop{
byte lebotaomais = digitalRead(n); // n = numero da porta de entrada do seu botão
byte lebotaomenos = digitalRead(n); // n = numero da porta de entrada do seu botão;
if(lebotaomais == 1) // caso a porta do botão seja acionada por nivel alto
cont++; // incrementa cont
if(lebotaomenos == 1) // caso a porta do botão seja acionada por nivel alto
cont--; // decrementa cont
//limitando a contagem caso a quantidade de opções seja 5 tempos diferentes
if(cont > 5)
cont = 5;
if(cont < 1)
cont = 1;
switch(cont){
case 1:
temp = 1000;
break;
case 2:
temp = 2000;
break;
... //e por ai vai...
}
testei esse código ai e simplesmente não inicia e nem muda o tempo
Galera tambem to precisando de um temporizador.. no meu caso não consigo usar o delay por que ele para todo o codigo..
{
valorsensor8 = analogRead(sensor8);
int valorsensor8 = analogRead(sensor8);
if (valorsensor8 > 1000) //valor igual
digitalWrite(saida8, HIGH); //saida acionada
PRECISO DE UM TIMER AQUI, 10 MINUTOS..
digitalWrite(saida8, LOW); //saida desligada
}
alguem ??
essa tecnica não para o programa e tira a base de tempo a partir do contador de tempo do microcontrolador
com a função millis()
unsigned long tempoatual;
unsigned long temposalvo = 0;
void setup(){
}
void loop(){
tempoatual = millis();
if(tempoatual - temposalvo >= 600000) //600000 milisegundos == 10min
{
//aqui vc coloca o codigo a ser executado!
temposalvo = tempoatual;
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por