PIR sensor not working

I have a PIR sensor. It is constantly reporting no motion (it returns 1). Here is my code:

const int MOTION_PIN = 2; // Pin connected to motion detector
const int LED_PIN = 13; // LED pin - active-high

void setup() 
  // The PIR sensor's output signal is an open-collector, 
  // so a pull-up resistor is required:
  //pinMode(LED_PIN, OUTPUT);

void loop() 
  int proximity = digitalRead(MOTION_PIN);
  if (proximity == LOW) // If the sensor's output goes low, motion is detected
    //digitalWrite(LED_PIN, HIGH);
    Serial.println("Motion detected!");
    //digitalWrite(LED_PIN, LOW);
    Serial.println("No motion");


Sorry, I am new to all of this. I have a multimeter. What do I need to do?

PIR Need some quiet time first before you use them for calibration - between 30 to 60 seconds

Add a delay in the setup

See this example

I tried this code, and after ‘calibrating’, the light stays on for a while (more than 15 seconds).
Here is what happened:

calibrating sensor … done

motion detected at 30 sec <---- ???
motion ended at 214 sec <---- ???

motion detected at 226 sec <— when I waved my hand in front of it
… several minutes, and nothing. <— ???

You probably have 2 potentiometers on your PIR, one is to set the sensitivity (how much IR heat it must detect to trigger) and one for duration (how long the pin will stay triggered regardless of IR presence). Check the settings