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
- HC-SR501 PIR Motion Sensor Module
- Arduino Board (t.ex. Uno, Mega, Nano)
- Breadboard och jumpertrådar
- 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
- Känslighet: Justera detekteringsområdet (upp till ~ 7 meter).
- 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
- Anslut Arduino till din dator via USB.
- Öppna Arduino IDE och välj rätt Styrelse och Hamn under Verktyg meny.
- Ladda upp koden genom att klicka Ladda upp.
- Öppna seriell monitor (Verktyg > Serieövervakare) och ställ in baudhastigheten till
9600
. - 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
- Rörelseaktiverad belysning
- Inkräktare larm
- Smart Home Automation
- 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!