מאמר:

מדריך חיבור חיישן התנגשות YL-99 ל-Arduino ול-ESP32:

במדריך זה נלמד כיצד לחבר חיישן התנגשות YL-99 לבקר Arduino UNO ולבקר ESP32.
נראה איך לקרוא את היציאה הדיגיטלית של החיישן ולהציג ב-Serial Monitor האם זוהתה לחיצה או פגיעה במכשול.

מהו חיישן YL-99?

YL-99 הוא מודול Collision Switch לזיהוי מגע פיזי, פגיעה או התנגשות.
המודול מבוסס על Micro Switch עם לשונית מתכת, וכאשר הלשונית נלחצת המודול משנה את מצב היציאה הדיגיטלית.

החיישן מתאים במיוחד לפרויקטים של רובוטיקה, רובוטים הנעים עצמאית, Limit Switch,
זיהוי מגע, עצירת מנוע או שינוי כיוון תנועה לאחר פגיעה במכשול.

איך החיישן עובד?

במודול נמצא מתג מכני קטן. כאשר הלשונית של המתג נלחצת, המגעים החשמליים בתוך המתג משנים מצב.
השינוי הזה מועבר לבקר דרך פין OUT כאות דיגיטלי פשוט.

המודול נותן אות דיגיטלי:

  • OUT — יציאה דיגיטלית לקריאת מצב המתג.
  • ברוב המודולים, כאשר המתג נלחץ, היציאה עוברת למצב LOW.
  • כאשר המתג פתוח ואין לחיצה, היציאה בדרך כלל במצב HIGH.

מכיוון שמדובר בחיישן מכני, הוא מתאים לזיהוי מגע ישיר. בניגוד לחיישן IR או Ultrasonic,
הוא אינו מזהה עצם מרחוק, אלא רק כאשר מתרחשת לחיצה פיזית על הלשונית.

פינים במודול YL-99

פיןתפקיד
VCCמתח הזנה למודול
GNDאדמה
OUTיציאה דיגיטלית לפי מצב המתג

רכיבים נדרשים

  • חיישן התנגשות YL-99
  • Arduino UNO או ESP32
  • Breadboard
  • חוטי Dupont
  • כבל USB

חיבור YL-99 ל-Arduino UNO

YL-99Arduino UNO
VCC5V
GNDGND
OUTD2

הסבר חיבור

ב-Arduino UNO ניתן לחבר את יציאת OUT של החיישן לפין דיגיטלי, לדוגמה D2.
החיישן מחזיר מצב דיגיטלי פשוט, ולכן אין צורך להשתמש בכניסה אנלוגית.

כאשר המתג נלחץ, הקריאה תהיה בדרך כלל LOW.
כאשר המתג פתוח ואין לחיצה, הקריאה תהיה בדרך כלל HIGH.

קוד Arduino בסיסי לקריאת החיישן

const int sensorPin = 2;

void setup() {
  Serial.begin(9600);
  pinMode(sensorPin, INPUT);
}

void loop() {
  int sensorState = digitalRead(sensorPin);

  if (sensorState == LOW) {
    Serial.println("Collision detected");
  } else {
    Serial.println("No collision");
  }

  delay(300);
}

הסבר הקוד

הקוד קורא את מצב היציאה הדיגיטלית של החיישן מהפין D2.
כאשר הערך הוא LOW, הקוד מציג ב-Serial Monitor שזוהתה התנגשות או לחיצה.
כאשר הערך הוא HIGH, הקוד מציג שלא זוהתה התנגשות.

חיבור YL-99 ל-ESP32

הערה חשובה לפני החיבור

בעבודה עם ESP32 מומלץ להזין את המודול מ-3.3V אם הדבר מתאים למודול הספציפי שברשותכם.
כך יציאת OUT תהיה ברמת מתח שמתאימה יותר לכניסות הדיגיטליות של ESP32.

אם מזינים את המודול מ-5V, אין לחבר יציאה דיגיטלית של 5V ישירות ל-ESP32.
במקרה כזה יש להשתמש בהתאמת רמות מתח.

YL-99ESP32
VCC3V3
GNDGND
OUTGPIO27

הסבר חיבור

ב-ESP32 ניתן להשתמש בפין דיגיטלי רגיל, לדוגמה GPIO27.
מכיוון שהחיישן מחזיר אות דיגיטלי, אין צורך להשתמש בכניסת ADC.

החיבור המומלץ הוא להזין את המודול מ-3V3 של ESP32.
אם משתמשים במתח הזנה גבוה יותר, יש לוודא שרמת המתח ביציאת OUT אינה עוברת את המותר לכניסות ESP32.

קוד ESP32 בסיסי לקריאת החיישן

const int sensorPin = 27;

void setup() {
  Serial.begin(115200);
  pinMode(sensorPin, INPUT);
}

void loop() {
  int sensorState = digitalRead(sensorPin);

  if (sensorState == LOW) {
    Serial.println("Collision detected");
  } else {
    Serial.println("No collision");
  }

  delay(300);
}

הסבר הקוד

הקוד קורא את מצב החיישן מפין GPIO27 ומציג את התוצאה ב-Serial Monitor.
אם הערך הוא LOW, החיישן זיהה לחיצה או התנגשות. אם הערך הוא HIGH, לא זוהתה התנגשות.

פרויקט לדוגמה

בפרויקט לדוגמה ניתן להשתמש בחיישן YL-99 עם Arduino כדי לזהות פגיעה פיזית ברובוט.
כאשר החיישן נלחץ, ניתן לעצור את המנועים, להפעיל נורית חיווי או לשנות את כיוון התנועה של הרובוט.

קישור לפרויקט

סיכום

חיישן YL-99 הוא רכיב פשוט ונוח לזיהוי מגע פיזי או התנגשות.
בעזרת Arduino או ESP32 ניתן לקרוא ממנו אות דיגיטלי ולהשתמש בו בפרויקטים של רובוטיקה,
Limit Switch, עצירת מנוע או תגובה לאחר פגיעה במכשול.

קישור חזרה למוצר

דילוג לתוכן