Hola!
Estoy haciendo mi primer proyecto en una placa arduino uno, es un sensor de movimiento que usa el sensor PIR, hice la simulación y todo salió bien, pero cuando monte los componentes el sensor parece estar sensando movimiento siempre, por lo cual nunca se apaga el led de indicación, al tratar de encontrar el problema, decidí desconectar el sensor de la placa y accidentalmente me di cuenta que el cable del pin 2 que es por donde entra la señal del sensor PIR es muy sensible, tanto que si paso mi mano cerca a el (4 o 5 cm de distancia) se activa el circuito, ni siquiera necesito tocar ese cable para que se active el led y el zumbador... este problema se me hace muy raro por que he visto varios videos con este mismo montaje y nunca tienen ese problema, cambie la placa Arduino (tengo dos) y en ambas placas ocurre lo mismo, obviamente también ya cambie el cable y los pines donde puedo conectarlo, en todos tengo el mismo problema, que puedo hacer? les dejo mi código para que puedan verlo y estaré muy atento a sus respuestas!
int pinsensor = 2; // Definimos como variable el pin donde se conecta el sensor PIR
int pinLed = 3; // Definimos como variable el pin donde se conecta el Led
int pinBuzzer = 4; // Definimos como variable el pin donde se conecta el sensor PIR
int move = 0;
void setup() // configuración inicial del Arduino
{
Serial.begin(9600);
pinMode(pinsensor, INPUT); // Configuramos el pin del sensor PIR como entrada
pinMode(pinLed, OUTPUT); // Configuramos el pin del Led como salida
pinMode(pinBuzzer, OUTPUT); // Configuramos el pin del Buzzer como salida
}
void loop() // Instrucciones que se repetirán mientras el Arduino este en funcionamiento
{
move = digitalRead(pinsensor);
delay(50);
if(move == HIGH) // Condicional para cuando el sensor PIR detecte movimiento
{
Serial.print(move);
Serial.print(" : ");
Serial.print("Movimiento Detectado");
digitalWrite(pinLed, HIGH); // Encendido del Led
tone(pinBuzzer, 80000, 1000); // Se emite una señal tipo tomo al Buzzer, con una frecuencia de 80Khz y una duración de 10 segundos
move = 0;
delay(300);
}
else // Instrucciones para cuando no se cumpla la condición
{
Serial.print(move);
Serial.print(" : ");
Serial.print("Movimiento Detectado");
delay(100);
digitalWrite(pinLed, LOW); // apagado del Led
digitalWrite(pinBuzzer, LOW); // apagado del Buzzer
}
}