דלגו לתוכן המרכזי
KitLab
שיעור קודם
חיישן אולטרסוני — למדוד מרחק· 16 / 41
חיישן אולטרסוני — למדוד מרחק
🎬

הסרטון בדרך אלינו

בינתיים — התמלול המלא של השיעור מחכה לכם למטה

חיישן אולטרסוני — למדוד מרחק

מה בשיעור?

  • גלים אולטרסוניים ולמה לא שומעים אותם
  • ארבעת הפינים ותפקיד Trig ו-Echo
  • הפרוטוקול: הדק, שידור, הד
  • חישוב המרחק ולמה מחלקים בשתיים
  • pulseIn ו-delayMicroseconds

מה נלמד כאן

  • איך עובד חיישן אולטרסוני
  • לחשב מרחק מזמן מעוף
  • פקודות pulseIn ו-delayMicroseconds
  • למדוד מרחק בזמן אמת

איך עטלף רואה בחושך

עטלף עף בחשכה מוחלטת ותופס טרף במדויק. איך? הוא צועק בתדר גבוה ומקשיב להד. מהפרש הזמן הוא מחשב מרחק וכיוון.

חיישן אולטרסוני

החיישן האולטרסוני מחקה בדיוק את זה.


הידע שצריך

1. גלים אולטרסוניים

אולטרסאונד הם גלי קול בתדר שמעל גבול השמיעה האנושית — מעל 20,000Hz. האוזן לא קולטת אותם, אבל הם מתפשטים באוויר, במים ובמוצקים בדיוק כמו כל קול.

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

2. המודול

המודול ושני ה"עיניים"

בתוך המודול שני משדרי קרמיקה פיאזואלקטרית: אחד משדר, השני מקבל. זה מה ששתי ה"עיניים" הן.

המפרט:

פרמטר ערך
מתח עבודה 5V
זרם 15mA
תדר עבודה 40kHz
זווית זיהוי 15°
טווח 2 ס"מ עד 450 ס"מ

⚠️ שימו לב לזווית הצרה — 15 מעלות. החיישן "רואה" קונוס צר מאוד מולו. עצם שנמצא בצד פשוט לא קיים מבחינתו.

3. ארבעת הפינים

הפין התפקיד
VCC חשמל — ל-5V (לא 3.3V!)
Trig הדק — אומר למודול לשדר
Echo הד — מוציא פולס שאורכו = זמן המעוף
GND אדמה

4. הפרוטוקול — שלושה שלבים

עקרון הפעולה

1. הדק: שולחים ל-Trig פולס גבוה של לפחות 10 מיקרו-שניות.

2. שידור: המודול משדר שמונה פולסים בתדר 40kHz ומתחיל להאזין.

3. הד: כשההד חוזר, המודול מרים את Echo לגבוהואורך הפולס הזה שווה בדיוק לזמן המעוף הלוך ושוב.

5. החישוב

מרחק = (זמן × מהירות הקול) ÷ 2

מהירות הקול באוויר: כ-343 מטר לשנייה = 0.0343 ס"מ למיקרו-שנייה.

ולמה מחלקים בשתיים? כי הקול עשה את הדרך פעמיים — הלוך אל המכשול וחזור.

distance = (duration * 0.0343) / 2;

הניסוי

המטרה: להציג מרחק ב-Serial Monitor בזמן אמת.

רשימת רכיבים

הרכיב כמות
לוח ESP32 1
לוח ניסוי 400 נקודות 1
חיישן אולטרסוני 1

התרשים החשמלי

התרשים החשמלי

החיבור

חיבור הרכיבים


הקוד

const int trigPin = 5;
const int echoPin = 16;

void setup() {
  Serial.begin(115200);
  pinMode(trigPin, OUTPUT);   // ההדק — פלט
  pinMode(echoPin, INPUT);    // ההד — קלט
}

void loop() {
  long duration;
  float distance;

  // שולחים פולס הדק
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);        // מנקים את הקו
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);       // הפולס — 10 מיקרו-שניות
  digitalWrite(trigPin, LOW);

  // מודדים כמה זמן Echo היה גבוה
  duration = pulseIn(echoPin, HIGH);

  // ממירים זמן למרחק
  distance = (duration * 0.0343) / 2;

  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(500);
}

שימו לב לפין אחד פלט ופין אחד קלט — זה החיישן הראשון שדורש את שניהם. אנחנו מדברים אליו דרך Trig ומקשיבים לו דרך Echo.

מה אמור לקרות

מדידת מרחק

הזיזו את היד מול החיישן וצפו במספר משתנה.


הפקודות שלמדנו

pulseIn(pin, value)

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

זו פקודה שונה מכל מה שהכרנו: היא לא קוראת ערך רגעי — היא מחכה ומודדת זמן.

delayMicroseconds(time)

השהיה במיקרו-שניות. delay הרגילה עובדת במילי-שניות — כאן צריך דיוק פי 1000.


נסו בעצמכם

  • מדדו עצם שטוח (ספר) ועצם רך (כרית). איזו מדידה יציבה יותר, ולמה?
  • הזיזו את הספר לצדדים. מאיזו זווית החיישן מפסיק לראות אותו? (זכרו: 15°)
  • קרבו את היד עד 1 ס"מ. מה המספר מראה? למה הוא לא אמין?
  • שלבו עם שיעור 8: זמזם שמצפצף מהר יותר ככל שמתקרבים — חיישן חניה.
  • מדדו את החדר שלכם ובדקו מול סרט מדידה. כמה מדויק החיישן?

🧰 הרכיבים לשיעור הזה

רוצים את חומרי הקורס והעדכונים?

נשלח למייל את קובצי הקוד, החומרים ועדכונים על שיעורים חדשים. בלי ספאם.