Using A PIR W/Arduino | PIR Motion Sensor - Adafruit Learning System
Maybe your like
- Overview
- How PIRs Work
- Connecting to a PIR
- Testing a PIR
- Using a PIR w/Arduino
- CircuitPython Code
- Example Projects
- Buy a PIR Motion Sensor
- Single page
- Feedback? Corrections?
- Text View
-
PIR (motion) sensor $9.95 Add to Cart
Using a PIR w/Arduino
Reading PIR Sensors
Connecting PIR sensors to a microcontroller is really simple. The PIR acts as a digital output, it can be high voltage or low voltage, so all you need to do is listen for the pin to flip high (detected) or low (not detected) by listening on a digital input on your Arduino
Its likely that you'll want retriggering, so be sure to put the jumper in the H position!
Power the PIR with 5V and connect ground to ground. Then connect the output to a digital pin. In this example we'll use pin 2.
The code is very simple, and is basically just keeps track of whether the input to pin 2 is high or low. It also tracks the state of the pin, so that it prints out a message when motion has started and stopped. Download File Copy Code /* * PIR sensor tester */ int ledPin = 13; // choose the pin for the LED int inputPin = 2; // choose the input pin (for PIR sensor) int pirState = LOW; // we start, assuming no motion detected int val = 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON if (pirState == LOW) { // we have just turned on Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // turn LED OFF if (pirState == HIGH){ // we have just turned of Serial.println("Motion ended!"); // We only want to print on the output change, not state pirState = LOW; } } } /* * PIR sensor tester */ int ledPin = 13; // choose the pin for the LED int inputPin = 2; // choose the input pin (for PIR sensor) int pirState = LOW; // we start, assuming no motion detected int val = 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON if (pirState == LOW) { // we have just turned on Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // turn LED OFF if (pirState == HIGH){ // we have just turned of Serial.println("Motion ended!"); // We only want to print on the output change, not state pirState = LOW; } } } Don't forget that there are some times when you don't need a microcontroller. A PIR sensor can be connected to a relay (perhaps with a transistor buffer) without a micro! Page last edited March 08, 2024
Text editor powered by tinymce.
Testing a PIR CircuitPython Code Related Guides Your browser does not support the video tag. This links to the guide Using ItsaSNAP for HomeKit PIR Motion Detection. Using ItsaSNAP for HomeKit PIR Motion Detection By Trevor Beaton beginner Adafruit VCNL4200 Long Distance IR Proximity and... By Liz Clark beginner Screaming Cauldron By John Park intermediate Your browser does not support the video tag. This links to the guide Motion Controlled Matrix Bed Clock. Motion Controlled Matrix Bed Clock By Flavio Fernandes intermediate Your browser does not support the video tag. This links to the guide MIDI Laser Harp with Time of Flight Distance Sensors. MIDI Laser Harp with Time of Flight Distance Sensors By Liz Clark intermediate Porting an Arduino library to CircuitPython: VL6180X... By Tony DiCola advanced Wireless Security Camera with the Arduino Yun By M. Schwartz advanced Using VCNL4010 Proximity Sensor By Tony DiCola beginner Adafruit VCNL4040 Proximity Sensor By Bryan Siepert beginner Adafruit Proximity Trinkey By Kattni Rembor beginner Adafruit Capacitive Touch Sensor Breakouts By Bill Earl intermediate Adafruit VL53L4CD Time of Flight Distance Sensor By Liz Clark beginner Adafruit VL53L0X Time of Flight Micro-LIDAR Distance... By lady ada intermediate Your browser does not support the video tag. This links to the guide Raspberry Pi Video Synth with Blinka and Processing. Raspberry Pi Video Synth with Blinka and Processing By Liz Clark beginner Adafruit VCNL4020 Proximity and Light Sensor By Liz Clark beginnerCreate Wishlist
× Title Description Close Search SearchCategories
Tag » Arduino Ir Motion Sensor Detection
-
PIR Motion Sensor: How To Use PIRs W/ Arduino & Raspberry Pi
-
Arduino With PIR Motion Sensor
-
Interfacing Arduino Uno With PIR Motion Sensor
-
Arduino With PIR Motion Sensor - Random Nerd Tutorials
-
Motion Sensor | Arduino Tutorial
-
Arduino With PIR Motion Sensor - YouTube
-
How To Interface PIR Motion Detection Sensor With Arduino Uno
-
How HC-SR501 PIR Sensor Works & How To Interface It With Arduino
-
Arduino - PIR Sensor - Tutorialspoint
-
PIR Motion Sensor With Arduino In Tinkercad - Instructables
-
Arduino Motion Sensor
-
PIR Motion Sensor And Arduino UNO - 2022
-
Arduino Motion Sensor - JavaTpoint
Adafruit VCNL4200 Long Distance IR Proximity and... By
Screaming Cauldron By
Porting an Arduino library to CircuitPython: VL6180X... By
Wireless Security Camera with the Arduino Yun By
Using VCNL4010 Proximity Sensor By
Adafruit VCNL4040 Proximity Sensor By
Adafruit Proximity Trinkey By
Adafruit VL53L4CD Time of Flight Distance Sensor By
Adafruit VL53L0X Time of Flight Micro-LIDAR Distance... By
Adafruit VCNL4020 Proximity and Light Sensor By