PIR motion sensor without arduino

I had automated my washroom’s light, which turns on when motion is detected using Arduino, for timing algorithm. I had used PIR motion sensor in a non-retriggering mode with time potentiometer set to minimum (i.e. around 4-5 seconds of HIGH signal time and then goes LOW). I had programmed Arduino in such a way that whenever the signal is HIGH, turn the relay ON immediately and whenever the signal is LOW turn relay OFF after one minute. To sum up all, I had made a system which keeps light ON for one minute since last motion is detected, if the motion is detected within that minute then system resets the timer and start counting again one minute from that moment.

But I think using Arduino just for that is a waste. Although I know that PIR motion sensor already can handle timing, i.e. keeps signal HIGH till motion is continued, but it is behaving abnormally in my case because many times it didn’t detect motion even when someone’s in washroom and light goes off.

Please, someone, suggest a solution to this problem. Also, can I use NE555 timer IC in the monostable mode for this?

I haven't researched this yet, but I have a theory that a big problem with motion sensor lights is the PIR sensor (which detects changes in IR radiation, AKA heat) is mounted right next to a hot light bulb. Separate the sensor from the bulb and it should be more reliable, if more difficult to install.

Thanks for the reply. Actually, I don’t think that’s a problem in my case because the circuit is working fine for 1.5 years when using Arduino.

You have not given a link to the PIR documentation or posted your code.

The problem must be a differnece between the way the Arduino handled the stay on delay and the way the PIR handles the stay on delay.

Maybe your sketch was turning the light on when motion was first detected and turning it off one minute after motion was last detected i.e. it could keep the light on for ages as the timer is reset every time motion is detected.

On the other hand the PIR might start a timer when motion is detected but not try to reset it until the end of the period. So light comes on when motion is first detected and will go off after a minute unless moton is still being detected at the time when the minute has elapsed.

I am just guessing but it has to be something along these line. Playing with the PIR and a multimeter or reading the PIR documentation and comparing it with how the sketch works should give the answer.

Most PIR modules have a pot that sets the timing, and can be changed to have it time out after a few minutes or so. That should help already.
A 555 monostable is another option, that would basically take over the timing of the Arduino.

yes, you can use a 555 and make a timer for a minute
it will start timing after the last high(or low) from your PIR
if motion is seen, say 54 seconds in the timing, it would stop timing, wait till the PIR timed out, then start it's 60 second timing.

any microcontroller would do this as well.
you can get the esp-01 for under $2 and e-bay has the clone of the mini for under $2

as a note, I have a beep 30 seconds before the timer turns the light off.
ttells you to move, waive your hand or some such.

I am already using a cheap microcontroller but wanted to replace that. With 555 timer IC, I had made a circuit which turns the output HIGH for 60 seconds when trigger pin is grounded momentarily. But the problem with that is, if I ground the trigger pin again within that minute then the timer doesn’t restart.

Here is my NE555 timer circuit as in monostable mode:-

You probably now have to set the pir in retrigger mode. This function was previously performed by the arduino.

A properly working PIR module will do what you want. So stop chasing additional components and solutions.
Get yours working right or replace it.
Play with sensitivity. Play with placement. Make sure voltage source is stable. And don't draw your conclusions on functionality within the first few minutes of powering up. The PIR needs a few minutes to normalize. So don't plug it in, wave your hand around, and think it's working or not.