Go Down

Topic: 2 sensores pir y 2 lamparas solucionado (Read 3750 times) previous topic - next topic

feriki

Jan 16, 2015, 08:57 pm Last Edit: Jan 17, 2015, 01:40 pm by feriki
hola soy nuevo en este mundo

a ver si puede ayudarme alguien con este codigo

 const int rele1=12;//The led to indicate the motion
 const int rele2=11;//The led to indicate the motion
 
void setup(){
Serial.begin(9600);
pinMode(2, INPUT);//Use pin 2 to receive the signal outputted by the module
pinMode(3, INPUT);//Use pin 3 to receive the signal outputted by the module
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
}
 
void loop() {
int sensorValue1 = digitalRead(2);
int sensorValue2 = digitalRead(3);
if(sensorValue1==1)
digitalWrite(rele1,HIGH);
relay(12000);
else
digitalWrite(rele1,LOW);
if(sensorValue2==1)
digitalWrite(rele2,HIGH);
relay(12000);
else
digitalWrite(rele2,LOW);


}



os cuento el proyecto que por cierto he estado buscando por aqui y no hay nada parecido

se trata de en un pasillo un sensor pir que detecta movimiento y enciende una lampara al entrar por un lado y otro pir que enciende la otra lampara al entrar por el otro lado las dos con un relay
bueno si lo hago asi funciona perfecto  el problema esta en que al pasar  de un lado al otro el siguiente sensor no actua hasta que se apaga la anterior lampara


me gustaria me ayudaran gracias
 

_jose_

Primero que nada lee las normas del foro por favor, en donde veras como debe ir posteado el codigo y tambien que el titulo del post no puede ser tu propio nick si no algo explicativo y relativo al problema que tienes como:problemas con un sensor pir o algo por el estilo.

_jose_

dicho esto ,me extraña que ese codigo compile ,supongo que donde pone relay(12000) quieres decir delay(12000)  y en los bloques if o else cuando hay mas de una linea acabada en ; debes poner el codigo entre llaves { // codigo }

feriki

tambien tienes razon es que no tengo las gafas puestas es delay y se me han olvidado poner los corchetes
pero el codigo compila
pero no actua como quiero gracias

_jose_

tambien tienes razon es que no tengo las gafas puestas es delay y se me han olvidado poner los corchetes
pero el codigo compila
pero no actua como quiero gracias

piensa que cuando pones delay(12000) estas parando 12 segundos la ejecucion del sketch ,por lo tanto hasta que no acabe ese retardo ,no seguira ejecutando el resto del sketch y no podra detectar si activas el otro pir

feriki

gracias te entiendo
quito el delay
pero el problema es que quisiera que despues de la deteccion por el pir la lampara estubiera encendida 12 segundos

_jose_

a ver ,cuando te comente lo del titulo ,me referia a que modificaras el titulo del post (este) ,no que hicieras uno nuevo.....
arduino tiene una funcion que se llama millis() y devuelve el tiempo que lleva el sketch funcionando ,si creas una variable (tiene que ser tipo long) y en el momento de recibir señal del pir le asignas el tiempo en que se activa ,luego podras comparar el tiempo de ejecucion con el de activacion y si la resta de los tiempos te da mas de esos 12 segundos ,apagas el rele.

feriki

#7
Jan 16, 2015, 10:08 pm Last Edit: Jan 17, 2015, 01:39 pm by feriki
gracias muchas gracias

nos vemos por aqui

este mundo me encanta
un saludo

surbyte

Te encanta pero no editas el título.
No recibirás mucha ayuda en tanto y en cuanto no lo hagas.
Lee las normas por favor!!

feriki

hola soy nuevo en este mundo

a ver si puede ayudarme alguien con este codigo

 const int rele1=12;//The led to indicate the motion
 const int rele2=11;//The led to indicate the motion
 
void setup(){
Serial.begin(9600);
pinMode(2, INPUT);//Use pin 2 to receive the signal outputted by the module
pinMode(3, INPUT);//Use pin 3 to receive the signal outputted by the module
pinMode(rele1, OUTPUT);
pinMode(rele2, OUTPUT);
}
 
void loop() {
int sensorValue1 = digitalRead(2);
int sensorValue2 = digitalRead(3);
if(sensorValue1==1)
digitalWrite(rele1,HIGH);
relay(12000);
else
digitalWrite(rele1,LOW);
if(sensorValue2==1)
digitalWrite(rele2,HIGH);
relay(12000);
else
digitalWrite(rele2,LOW);


}



os cuento el proyecto que por cierto he estado buscando por aqui y no hay nada parecido

se trata de en un pasillo un sensor pir que detecta movimiento y enciende una lampara al entrar por un lado y otro pir que enciende la otra lampara al entrar por el otro lado las dos con un relay
bueno si lo hago asi funciona perfecto  el problema esta en que al pasar  de un lado al otro el siguiente sensor no actua hasta que se apaga la anterior lampara


me gustaria me ayudaran gracias

feriki

Te encanta pero no editas el título.
No recibirás mucha ayuda en tanto y en cuanto no lo hagas.
Lee las normas por favor!!
soy un manazas he estado dando mil vueltas y no se editar el titulo

puedes ayudarme

surbyte

#11
Jan 17, 2015, 10:34 pm Last Edit: Jan 17, 2015, 10:37 pm by surbyte
 :smiley-small: que les pasa!!! eres el segundo que dice eso. No pueden ir al post#1 donde empezaron, luego ir a titulo y editarlo.
Puedes hacerlo solo tu.

mira asi comenzaste ahi donde esta resaltado en rojo debes ir


Go Up