ה- HC-SR501 הוא מודול חיישן תנועה אינפרא אדום פסיבי (PIR) פופולרי המזהה תנועה על ידי מדידת שינויי קרינה אינפרא אדום בסביבתו. זה משמש בדרך כלל בפרויקטים של תאורה, מערכות אבטחה ופרויקטים של IoT המופעלים על ידי תנועה. מדריך זה ינחה אתכם באמצעות הגדרה ושימוש ב- HC-SR501 עם Arduino.
מה תצטרך
- מודול חיישן תנועה של HC-SR501
- לוח ארדואינו (למשל, אונו, מגה, ננו)
- חוטי לחם וגשר
- מחשב עם Arduino IDE המותקן
שלב 1: הבנת חיישן HC-SR501
למודול HC-SR501 יש רגישות מתכווננת והגדרות זמן עיכוב, מה שהופך אותו למגוון ליישומי זיהוי תנועה שונים. זה פועל על כוח 5V ומוצא אות גבוה בעת גילוי תנועה.
Pinout HC-SR501
פִּין | פוּנקצִיָה |
---|---|
VCC | ספק כוח (5V) |
הַחוּצָה | אות פלט דיגיטלי |
GND | טָחוּן |
הגדרות מתכווננות
- רְגִישׁוּת: התאם את טווח הגילוי (עד ~ 7 מטרים).
- זמן עיכוב: התאם את משך האות הגבוה לאחר גילוי התנועה (בערך 5 שניות עד 5 דקות).
שלב 2: חיווט ה- HC-SR501 לארדואינו
כך תוכלו לחבר את HC-SR501 ל- Arduino Uno:
סיכה HC-SR501 | סיכת ארדואינו |
---|---|
VCC | 5V |
הַחוּצָה | סיכה 2 |
GND | GND |
שלב 3: העלה את הקוד
להלן סקיצה דוגמה לפקח על איתור תנועה והצגת הסטטוס במוניטור הסדרתי:
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: בדוק את ההתקנה
- חבר את Arduino למחשב שלך באמצעות USB.
- פתח את ה- Arduino IDE ובחר את הנכון לוּחַ וכן נָמָל מתחת ל כְּלֵי עֲבוֹדָה תַפרִיט.
- העלה את הקוד על ידי לחיצה העלה.
- פתח את הצג הסדרתי (כְּלֵי עֲבוֹדָה > צג סידורי) וקבעו את שיעור הבוד
9600
. - נע בטווח החיישן, וצפה במצב התנועה המודפס על הצג הסידורי.
אופציונלי: שליטה על LED עם תנועה
אתה יכול לשנות את הקוד כדי להפעיל LED כאשר מתגלה תנועה:
חיווט LED
סיכת LED | סיכת ארדואינו |
---|---|
אנודה (+) | סיכה 13 |
קתודה (-) | GND |
קוד שונה
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
}
יישומים של HC-SR501
- תאורה מופעלת על ידי תנועה
- אזעקות פורצים
- אוטומציה של בית חכם
- מכשירי IoT המופעלים על ידי קרבה
פתרון בעיות
- לא התגלתה בקשה: ודא שהחיישן מופעל כראוי והרגישות מותאמת כראוי.
- מפעילים שווא: צמצם את הרעש הסביבתי (למשל, מקורות חום) והימנע מחשיפה ישירה של אור השמש.
- קריאות לא יציבות: בדוק אם יש הארקה מתאימה ואספקת חשמל יציבה.
מַסְקָנָה
התקרבת בהצלחה את חיישן התנועה PIR HC-SR501 עם ארדואינו. חיישן רב -תכליתי זה מושלם לגילוי תנועה בפרויקטים שונים. התנסו בתכונות נוספות, כגון התאמת רגישות או שילובם עם רכיבים אחרים, ליצירת מערכות מבוססות תנועה מתקדמות!