Como fazer o loop do Arduíno repetindo por tempo determinado?
Página 1 de 1
Como fazer o loop do Arduíno repetindo por tempo determinado?
Senhores não tenho muita experiência com Arduínos ainda, fiz um FW para receber sinal de dois sensores eletromagnéticos e na saída eu ligo um sistema e pisco um LED. Até ai tudo bem, porém preciso colocar um delay onde o IF repita a sequencia por dois ou três segundos depois leia o estado dos sensores novamente e caso a condição do IF esteja OK novamente o IF possa repetir por mais dois ou três segundos.
Segue a baixo o programa que eu fiz, está funcionando, só falta mesmo esse tempo que preciso manter o IF.
Por conta do meu conhecimento limitado com programação estou apanhando a semanas, se alguém puder ajudar eu serei muito grato.
const int sensor = 8;
const int semaforo = 4;
const int sistema = 2;
const int sensor2 = 9;
int estadoSensor = 0;
int estadoSistema = 0;
int estadoSensor2 = 0;
void setup()
{
pinMode(sensor,INPUT);
pinMode(semaforo,OUTPUT);
pinMode(sistema,OUTPUT);
pinMode(sensor2,INPUT);
}
void loop()
{
estadoSistema = digitalRead(sistema);
estadoSensor = digitalRead(sensor);
estadoSensor2 = digitalRead(sensor2);
if((estadoSensor == HIGH)||(estadoSensor2 == HIGH)){
digitalWrite(semaforo,HIGH);
digitalWrite(sistema,HIGH);
digitalWrite(estadoSistema,HIGH);
delay(500);
digitalWrite(semaforo,LOW);
delay(500);
digitalWrite(estadoSistema,LOW);
digitalWrite(sistema,LOW);
}
}
Segue a baixo o programa que eu fiz, está funcionando, só falta mesmo esse tempo que preciso manter o IF.
Por conta do meu conhecimento limitado com programação estou apanhando a semanas, se alguém puder ajudar eu serei muito grato.
const int sensor = 8;
const int semaforo = 4;
const int sistema = 2;
const int sensor2 = 9;
int estadoSensor = 0;
int estadoSistema = 0;
int estadoSensor2 = 0;
void setup()
{
pinMode(sensor,INPUT);
pinMode(semaforo,OUTPUT);
pinMode(sistema,OUTPUT);
pinMode(sensor2,INPUT);
}
void loop()
{
estadoSistema = digitalRead(sistema);
estadoSensor = digitalRead(sensor);
estadoSensor2 = digitalRead(sensor2);
if((estadoSensor == HIGH)||(estadoSensor2 == HIGH)){
digitalWrite(semaforo,HIGH);
digitalWrite(sistema,HIGH);
digitalWrite(estadoSistema,HIGH);
delay(500);
digitalWrite(semaforo,LOW);
delay(500);
digitalWrite(estadoSistema,LOW);
digitalWrite(sistema,LOW);
}
}
Anderson Severino- Mensagens : 1
Data de inscrição : 21/07/2016
Tópicos semelhantes
» Arduino UNO SIM 908
» Como "ensinar" um robô usando seus servos como sensores?
» Ajuda com código de tempo
» ARDUINO COM GET
» Qual Arduino?
» Como "ensinar" um robô usando seus servos como sensores?
» Ajuda com código de tempo
» ARDUINO COM GET
» Qual Arduino?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|