PIR Sensor Gives False High in 55 Minutes (Can't find a way to solve)

Hi,

I have built a system to identify motions and fire alerts.
System can send a SMS in case if it's identify such alerts.

System consist of two parts,

Part 1: Armed and Disarmed using a PIN (Using Arduino Uno)

This Module Consists with 4*4 PIN PAD, I2C Module, 2 LEDs and Arduino UNO
This part works fine

Part 2: Sensor Systems and SMS System

This module consists of Arduino NANO, MQ135 Gas Sensor, PIR Sensor, SIM 800L Module, Tamper Switches
This part also works, but in every 55 minutes it generates a false motion alert and I could not troubleshoot the issue.

Schematics is attached(PDF).

Codes as Below,

Part 1: Test6-LCD_Intigrated_Working_Temper.ino
Part 2: Test7_Tested_Tamper_Smoke_PIR_GSM.ino.ino

I am loosing my mind because I could not find the problem of getting false alert in every 55 minutes.

I am very grateful any one can help.

Secure Room V3.pdf (480 KB)

Test6-LCD_Intigrated_Working_Temper.ino (4.82 KB)

Test7_Tested_Tamper_Smoke_PIR_GSM.ino.ino (5.49 KB)

I'd start by figuring out whether it's that PIR itself that's producing the false positives or your code.

I have tried changing the PIR sensor same outcome.
In the code it self doesn't looks like a problem of specific time triggers false output.

vinodamarathunga:
I have tried changing the PIR sensor same outcome.

Not really what I asked. Question is, are the false positives coming from the PIR hardware or your code? You could find out by either writing a very simple program to do nothing but monitor the PIR (leaving out all the other code for your project) and signal when activated. OR, you could connect an LED to the PIR and watch for flashes when there shouldn't be.

"every 55 minutes" sounds like a counter overflowing.

jremington:
"every 55 minutes" sounds like a counter overflowing.

How to avoid this ?

Look in the code to see if there are any counters that might be overflowing, and if so, fix it.

For example, the built in micros() counter overflows about every 70 minutes.

gfvalvo:
Not really what I asked. Question is, are the false positives coming from the PIR hardware or your code? You could find out by either writing a very simple program to do nothing but monitor the PIR (leaving out all the other code for your project) and signal when activated. OR, you could connect an LED to the PIR and watch for flashes when there shouldn't be.

Hi,

I have tried it using only the GSM Module and the PIR Sensor, still same outcome.

After tons of research found a way to solve this issue.

This is common for ordinary PIR sensors when we use the 5V out from Arduino. Therefore we have to separate the power for PIR and the Arduino using a Opto Coupler and some transistors to smooth the signal. Now the solution works fine.

I am posting here to help someone stuck with same issue.

vinodamarathunga:
After tons of research...

This is common for ordinary PIR sensors when we use the 5V out from Arduino.

I'd be dead keen to see the reference/s where you found that gem.

Actually I have read that PIR sensors gives false positives when power is shared, to isolate the PIR power from the Arduino I have used the opto coupler to isolate PIR from the Arduino and used a transistor for good gain of the signal.

Actually there were nothing I could find on the internet with same solution.