CODIGO DO MEU PROJETO
int motor = 3;
int sensor = 4;
int sensor1 = 5;
int estado_sensor = 0;
int estado_sensor1 = 0;
void setup()
{
Serial.begin(9600);
// Define o pino do sensor como entrada
pinMode(sensor, INPUT);
pinMode(sensor1, INPUT);
// Define o pino do MOTOR como saida
pinMode(motor, OUTPUT);
Serial.println("Teste sensor infravermelho Arduino");
}
void loop()
{
estado_sensor = digitalRead(sensor);
if (estado_sensor == 0)
{
// liga o motor
digitalWrite(motor, HIGH);
// Envia mensagem para o Serial Monitor
Serial.println("Movimento detectado!");
}
estado_sensor1 = digitalRead(sensor1);
if (estado_sensor1 == 0)
{
// liga o motor
digitalWrite(motor, HIGH);
// Envia mensagem para o Serial Monitor
Serial.println("Movimento detectado!");
estado_sensor1 = digitalRead(sensor1);
if (estado_sensor1 == 1)
{
delay(2600); (APOS O DELAY DESLIGAR O MOTOR)
digitalWrite(motor,LOW );
}
}
}
Tags:
Não é possivel parar um delay.
O que vc pode fazer é fragmentar ele.
Use um for para criar um loop() de 260 verificações e delay(10)s. Por ex.
Um do {} while() seria até mais polido pq vc faria os 2 testes (do 260 e da condição).
Ref:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por