Hur man använder HC-SR501 PIR Motion Sensor med Arduino

How to Use the HC-SR501 PIR Motion Sensor with Arduino

HC-SR501 är en populär passiv infraröd (PIR) rörelsessensormodul som upptäcker rörelse genom att mäta infraröda strålningsförändringar i omgivningen. Det används vanligtvis i rörelseaktiverad belysning, säkerhetssystem och IoT-projekt. Denna handledning kommer att vägleda dig genom att ställa in och använda HC-SR501 med Arduino.


Vad du behöver

  1. HC-SR501 PIR Motion Sensor Module
  2. Arduino Board (t.ex. Uno, Mega, Nano)
  3. Breadboard och jumpertrådar
  4. En dator med Arduino Ide installerad

Steg 1: Förstå HC-SR501-sensorn

HC-SR501-modulen har justerbar känslighet och fördröjningstidsinställningar, vilket gör den mångsidig för olika applikationer för rörelsedetektering. Den fungerar på 5V kraft och matar ut en hög signal när rörelse upptäcks.

HC-SR501 pinout

Stift Fungera
Vcc Strömförsörjning (5V)
UT Digital utsignal
Gard Jord

Justerbara inställningar

  1. Känslighet: Justera detekteringsområdet (upp till ~ 7 meter).
  2. Fördröjningstid: Justera varaktigheten för den höga signalen efter att rörelsen upptäcks (ca 5 sekunder till 5 minuter).

Steg 2: Kopplar HC-SR501 till Arduino

Så här ansluter du HC-SR501 till en Arduino Uno:

HC-SR501-stift Arduinosnål
Vcc 5V
UT Stift 2
Gard Gard

Steg 3: Ladda upp koden

Här är ett exempelskiss för att övervaka rörelsedetektering och visa status på seriell monitor:

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Steg 4: Testa installationen

  1. Anslut Arduino till din dator via USB.
  2. Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
  3. Ladda upp koden genom att klicka Ladda upp.
  4. Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till 9600.
  5. Flytta inom sensorns sortiment och observera rörelsestatusen tryckt på seriell monitor.

Valfritt: Kontrollera en LED med rörelse

Du kan ändra koden för att slå på en LED när rörelse upptäcks:

Koppla av lysdioden

LED -stift Arduinosnål
Anod (+) Stift 13
Katod (-) Gard

Modifierad kod

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED
    Serial.println("Motion detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Applikationer av HC-SR501

  1. Rörelseaktiverad belysning
  2. Inkräktare larm
  3. Smart Home Automation
  4. Närhetsutlösade IoT-enheter

Felsökning

  • Ingen rörelse upptäckt: Se till att sensorn drivs korrekt och känsligheten justeras på lämpligt sätt.
  • Falska triggers: Minska miljöbuller (t.ex. värmekällor) och undvik direkt exponering för solljus.
  • Instabila avläsningar: Kontrollera för korrekt jordning och stabil strömförsörjning.

Slutsats

Du har framgångsrikt blandat HC-SR501 PIR-rörelsessensor med Arduino. Denna mångsidiga sensor är perfekt för rörelsedetektering i olika projekt. Experimentera med ytterligare funktioner, till exempel att justera känsligheten eller integrera den med andra komponenter, för att skapa avancerade rörelsebaserade system!

Lämna en kommentar

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.