A HC-SR501 egy népszerű passzív infravörös (PIR) mozgásérzékelő modul, amely a környezetben infravörös sugárzás változásainak mérésével észleli a mozgást. Általában a mozgással aktivált világításban, a biztonsági rendszerekben és az IoT projektekben használják. Ez az oktatóanyag vezeti Önt a HC-SR501 Arduino-val történő beállításán és használatán.
Mire lesz szüksége
- HC-SR501 PIR mozgásérzékelő modul
- Arduino Board (például Uno, Mega, Nano)
- Kenyérlemez és jumper vezetékek
- Egy számítógép, amelyen az Arduino IDE telepített
1. lépés: A HC-SR501 érzékelő megértése
A HC-SR501 modul állítható érzékenységgel és késleltetési időbeállításokkal rendelkezik, így sokoldalúvá teszi a különféle mozgásérzékelő alkalmazásokhoz. 5 V -os teljesítményen működik, és magas jelet ad ki, amikor a mozgást észlelik.
HC-SR501 Pinout
Csap | Funkció |
---|---|
VCC | Tápegység (5V) |
KI | Digitális kimeneti jel |
GND | Föld |
Állítható beállítások
- Érzékenység: Állítsa be a detektálási tartományt (legfeljebb 7 méter).
- Késleltetési idő: Állítsa be a magas jel időtartamát a mozgás után (kb. 5 másodperc és 5 perc).
2. lépés: A HC-SR501 huzalozása Arduino-ra
Így lehet csatlakoztatni a HC-SR501-et egy Arduino UNO-hoz:
HC-SR501 PIN | Arduino Pin |
---|---|
VCC | 5 V -os |
KI | 2. érintkező |
GND | GND |
3. lépés: Töltse fel a kódot
Íme egy példa vázlat a mozgás észlelésének megfigyelésére és a soros monitor állapotának megjelenítésére:
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
}
4. lépés: Tesztelje a beállítást
- Csatlakoztassa az Arduino -t a számítógépéhez USB -n keresztül.
- Nyissa meg az Arduino IDE -t, és válassza ki a megfelelőt Bizottság és Kikötő a Szerszámok menü.
- Töltse fel a kódot kattintással Feltöltés.
- Nyissa meg a soros monitort (Szerszámok > Soros monitor) és állítsa be az adatátviteli sebességet
9600
. - Mozgassa az érzékelő tartományában, és figyelje meg a soros monitoron nyomtatott mozgási állapotot.
Opcionális: A LED mozgással történő vezérlése
Módosíthatja a kódot, hogy bekapcsolja a LED bekapcsolását, amikor a mozgás észlel:
A LED bekötése
LED -tű | Arduino Pin |
---|---|
Anód (+) | 13. érintkező |
Katód (-) | GND |
Módosított kód
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
}
A HC-SR501 alkalmazásai
- Mozgással aktivált világítás
- Betolakodó riasztások
- Okos otthoni automatizálás
- Közelség által kiváltott IoT eszközök
Hibaelhárítás
- Nincs észlelt mozgás: Győződjön meg arról, hogy az érzékelő megfelelően van -e megfelelően, és az érzékenység megfelelően van beállítva.
- Hamis triggerek: Csökkentse a környezeti zajt (például hőforrások) és kerülje a közvetlen napfény expozíciót.
- Instabil olvasmányok: Ellenőrizze a megfelelő földelést és a stabil tápegységet.
Következtetés
Sikeresen csatlakoztatta a HC-SR501 PIR mozgásérzékelőt az Arduino-val. Ez a sokoldalú érzékelő tökéletes a mozgás észlelésére különféle projektekben. Kísérletezzen további funkciókkal, például az érzékenység beállításával vagy más összetevőkkel történő integrálásával, hogy fejlett mozgás alapú rendszereket hozzon létre!