חיישנים ומפעילים למיקרו-בקרים · פרק 7 — מרחק, נוכחות ותנועהסמלי מקצוע 33.102 ו-33.002⌂📚🏠
פרק 7

מרחק, נוכחות ותנועה

כיתות י״א–י״ב · 5 שעות לימוד

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

בסוף הפרק הזה נדע:
  • נבין כיצד החיישן העל-קולי מודד מרחק מזמן ההד, ונחשב אותו לפי d = v·t2 ולפי הקיצור d ≈ t58.
  • נחבר את המודול HC-SR04 לבקר ונמדוד את רוחב הפולס בפקודה pulseIn() עם זמן המתנה מרבי.
  • נבנה מערכת עזר לחניה: זמזם שמצפצף מהר יותר ככל שהגוף מתקרב.
  • נחבר את חיישן התנועה HC-SR501 ונדליק נורית למשך זמן קבוע אחרי התנועה האחרונה בעזרת millis().
  • נשווה בין חיישני מרחק ותנועה: מה כל אחד מודד, מה תחום המדידה שלו, והאם המוצא שלו תקבילי או ספרתי.

חיישן מרחק על-קולי (Ultrasonic Distance Sensor)

HC-SR04
חיישן על-קולי: חיישן ששולח פולס קול בתדר גבוה מתחום השמיעה (מעל 20 kHz בערך), ומודד את הזמן עד שחוזר ההד המוחזר מהגוף. החיישן אינו מודד את המרחק ישירות, אלא מודד זמן, ומהזמן נחשב את המרחק.
TRהפולס הנשלחההדdHC-SR04גוף
המשדר T שולח את הפולס, והמקלט R קולט את ההד

הקול הולך אל הגוף וחוזר ממנו, כך שהדרך שהוא עובר היא 2·d ; לכן בחוק הבא נחלק ב-2. מהירות הקול באוויר היא כ-343 m/s בטמפרטורה 20 °C. היא משתנה מעט עם טמפרטורת האוויר, אבל בפרויקטים שלנו השינוי קטן, ולכן נתייחס אליה כקבועה.

מדידת מרחק בשיטת ההד
d = v·t2
סימןמשמעותיחידת מידה
dהמרחק בין החיישן לגוף[m]
tזמן ההלוך ושוב, שהוא רוחב הפולס בהדק ECHO[s]
vמהירות הקול באוויר, כ-343 m/s[m/s]

מאיפה מגיע המספר 58? החיישן נותן לנו את הזמן במיקרו-שניות, ואנחנו רוצים את המרחק בסנטימטרים. נכתוב את המהירות ביחידות האלה, 343 m/s = 0.0343 cm/µs , ונציב בחוק:

d = 0.0343·t2 = t58.31 → d[cm] ≈ t[µs]58

כלומר הקול צריך 58 µs בערך כדי לעבור סנטימטר אחד ולחזור.

דוגמה 7.1
רוחב הפולס בהדק ECHO הוא 1750 µs. נחשב את המרחק לפי החוק ולפי הקיצור.
פתרון:
d = v·t2 = 343 · 1750·10−62 = 0.3001 m
d ≈ t58 = 175058 = 30.2 cm

ההפרש בין שתי הדרכים הוא 0.2 cm בלבד, כי 58 קרוב מאוד למספר 58.31.

d ≈ 30 cm

המודול HC-SR04: הדקים ואופן הפעולה:

תכונהערך
הזנהמתח 5 V וזרם 15 mA
תדר הגל40 kHz
תחום מדידהמ-2 cm עד 4 m
זווית המדידה15° בערך
פולס הדקt ≥ 10 µs
בין שתי מדידותt ≥ 60 ms

החיישן ספרתי: יש לו רק מבוא ומוצא ספרתיים. הבקר מעלה את TRIG למשך 10 µs, וזהו פולס ההדק (טריגר). אז המודול שולח צרור של 8 מחזורים בתדר 40 kHz ומעלה את ECHO, ומוריד אותו כשההד מגיע. רוחב הפולס בהדק ECHO הוא הזמן t. כל ערך בטבלה הוא "ערך טיפוסי לפי גיליון הנתונים", והערכים עשויים להשתנות מעט בין יצרנים.

TRIG40 kHzECHO10 µs8 × 40 kHztההד הגיעמהבקר אל החיישןמהחיישן אל הבקר: הרוחב = זמן הלוך ושוב
דיאגרמת הזמנים של המודול HC-SR04 (לא בקנה מידה)
Arduino Uno5VD9D10GNDHC-SR04VCCTRIGECHOGND
TRIG אל D9, ECHO אל D10

כדי למדוד את רוחב הפולס נשתמש בפקודה pulseIn(): היא ממתינה עד שההדק עולה, ואז מחזירה את משך הזמן שבו נשאר גבוה, במיקרו-שניות. הארגומנט השלישי 30000UL הוא זמן ההמתנה המרבי: אם לא מגיע פולס תוך 30 ms , הפקודה מחזירה 0. זמן ההמתנה הזה מספיק למרחק של עד 514 cm , כלומר יותר מתחום המדידה של החיישן.

מדידת מרחק בחיישן העל-קולי Arduino Uno · hcsr04_distance.ino
const int TRIG = 9;
const int ECHO = 10;
const float V = 0.0343;                  // speed of sound: 343 m/s = 0.0343 cm/us

void setup() {
  Serial.begin(9600);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

void loop() {
  digitalWrite(TRIG, HIGH);                // 10 us trigger pulse
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  unsigned long t = pulseIn(ECHO, HIGH, 30000UL);   // 0 = timeout
  Serial.print("t = "); Serial.print(t);
  if (t == 0) {
    Serial.println(" us  no echo");
  } else {
    Serial.print(" us  d = "); Serial.print(V * t / 2, 1);
    Serial.println(" cm");
  }
  delay(100);
}
Serial Monitor · קריאה לדוגמה
t = 583 us  d = 10.0 cm
t = 2915 us  d = 50.0 cm
t = 5831 us  d = 100.0 cm
t = 11662 us  d = 200.0 cm
t = 0 us  no echo

הקריאה הטיפוסית לגופים במרחקים 10, 50, 100, 200 סנטימטר; בשורה האחרונה אין גוף: לא חזר הד, ולכן pulseIn החזירה את הערך 0.

שאלה 7.1: רוחב הפולס בהדק ECHO הוא 2900 µs.
א. חשבו את המרחק לפי החוק.
ב. חשבו אותו לפי הקיצור.
טעות נפוצה: pulseIn ללא זמן המתנה מרבי ממתינה עד שנייה שלמה כשלא חוזר הד, והסקיצה נראית תקועה. טעות שנייה: שוכחים לחלק ב-2 ומקבלים מרחק כפול. ומשטחים רכים או משופעים עלולים לא להחזיר הד כלל.
אזהרה: ההדק ECHO מוציא 5 V. עם ESP32 (ההדקים שלו 3.3 V) נוסיף מחלק מתח קטן: נגד 1 kΩ בטור ונגד 2 kΩ אל האדמה, ואז מגיעים להדק רק 3.3 V בערך.
על שלושת הלוחות: Uno: ישירות. ESP32 ורספברי פיי: מזינים את החיישן מ-5 V ומחברים את TRIG ישירות (3.3 V מספיקים כדי להפעיל את הפולס), אבל ECHO מוציא 5 V, ולכן מחברים אותו דרך מחלק מתח (פרק 3).
▶ניסוי חי — חיישן המרחק HC-SR04תרשים חיבור, סקיצה עבור Arduino ועבור ESP32, ושתי המלכודות הנפוצות: זמן ההמתנה המרבי ומחלק המתח בהדק ECHO.
⚠
המעבדה אינה זמינה כרגע. החומר בפרק שלם גם בלעדיה — ממשיכים לקרוא, וחוזרים לניסוי מאוחר יותר או פותחים אותו ישירות בקישור שמתחת למסגרת.
https://fahed-lab.com/micro/sensors_guide#hcsr04
פתיחת המעבדה בדף נפרד ↗ fahed-lab.com/micro/sensors_guide#hcsr04

מערכת עזר לחניה (Parking Assist)

החיישן העל-קולי מודד את המרחק אל הקיר, והזמזם מצפצף מהר יותר ככל שהמכונית מתקרבת. נחלק את המרחק לארבעה אזורים, ונוסיף זמזם סביל בין D8 לבין האדמה. הפקודה tone(BUZZ, 2000, 60) מוציאה גל ריבועי בתדר 2000 Hz למשך 60 ms ואז נעצרת מעצמה. במקום delay ארוך בין הצפצופים נשווה את millis() לזמן הצפצוף הקודם, וכך המדידה נשארת מהירה.

אזורמרחקזמזם
0יותר מ-100 cmשקט
1מ-50 עד 100 cmכל 500 ms
2מ-25 עד 50 cmכל 200 ms
325 cm או פחותרציף: עצור!
Arduino Uno5VD9D10GNDD8HC-SR04VCCTRIGECHOGND+זמזם סביל
מערכת עזר לחניה: המרחק קובע את האזור, והאזור קובע את קצב הזמזם Arduino Uno · parking_assist.ino
const int TRIG = 9, ECHO = 10, BUZZ = 8;   // BUZZ: passive buzzer
const unsigned int GAP[] = {0, 500, 200, 0};   // ms between beeps
unsigned long lastBeep = 0;

void setup() {
  Serial.begin(9600);
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
}

void loop() {
  digitalWrite(TRIG, HIGH); delayMicroseconds(10); digitalWrite(TRIG, LOW);
  unsigned long t = pulseIn(ECHO, HIGH, 30000UL);
  float d = (t == 0) ? 999.0 : t / 58.0;   // no echo = far away
  int z = (d > 100) ? 0 : (d > 50) ? 1 : (d > 25) ? 2 : 3;
  if (z == 0) noTone(BUZZ);
  else if (z == 3) tone(BUZZ, 2000);       // stop: continuous tone
  else if (millis() - lastBeep >= GAP[z]) {
    tone(BUZZ, 2000, 60);                  // short beep
    lastBeep = millis();
  }
  Serial.print("d = "); Serial.print(d, 1);
  Serial.print(" cm  zone "); Serial.println(z);
  delay(60);
}
Serial Monitor · קריאה לדוגמה
d = 999.0 cm  zone 0
d = 150.8 cm  zone 0
d = 90.5 cm  zone 1
d = 40.2 cm  zone 2
d = 12.1 cm  zone 3

מכונית מתקרבת לקיר, ובשורה הראשונה אין הד. המרחק המוצג גדול מעט מהמרחק האמיתי: 150.8 cm לגוף במרחק 150 cm , כי הסקיצה מחלקת ב-58 ולא במספר 58.31. גבולות האזורים בזמן ההד: t = 58·d , כלומר 5800 , 2900 ו-1450 µs.

שאלה 7.2: רוחב הפולס 2030 µs. איזה מרחק מציגה הסקיצה, ובאיזה אזור אנחנו?
הערה: הזמזם הסביל מקבל גל מהבקר וצורך זרם קטן. זמזם שצורך זרם גדול מהמותר להדק נפעיל דרך טרנזיסטור כמפסק (פרק 10).

חיישן תנועה PIR (PIR Motion Sensor)

HC-SR501
חיישן תנועה PIR: חיישן סביל: אינו משדר דבר, אלא קולט את קרינת האינפרא-אדום שגופים חמים פולטים, ומוציא אות ספרתי כאשר כמות הקרינה הזאת משתנה. השם PIR הוא ראשי התיבות של "אינפרא-אדום סביל" (Passive InfraRed).

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

תכונההערך ב-HC-SR501 ("ערך טיפוסי לפי גיליון הנתונים")
מתח הזנהמ-4.5 V עד 20 V
מוצאספרתי: 3.3 V כשיש תנועה, 0 V כשאין
טווח גילויעד 7 m בערך, מכוונן בפוטנציומטר Sx
זווית גילויחרוט של פחות מ-120°
זמן השהיה Txמכוונן בפוטנציומטר Tx: מכמה שניות ועד כמה דקות
זמן חימום אחרי ההפעלהעד דקה בערך

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

תנועהHLTxTx
מוצא החיישן עבור אותן תנועות במצבים H ו-L (סרטוט איכותי)
Arduino Uno5VD2GNDD7HC-SR501VCCOUTGND330 ΩLED
OUT אל D2, נורית חיווי על D7; אדמה משותפת

מוצא החיישן 3.3 V, והבקר מוזן במתח 5 V. לפי גיליון הנתונים של ATmega328P ההדק נקרא HIGH החל מ-3 V בערך, והמתח 3.3 V גדול מזה, ולכן נחבר את המוצא ישירות להדק D2 (וזה בטוח גם עבור ESP32). נורית החיווי שעל D7 מחוברת בטור לנגד 330 Ω, ולכן עובר בה זרם של כ-9 mA.

נרצה שהנורית תידלק כשיש תנועה ותישאר דולקת 30 s אחרי התנועה האחרונה. נכוון את המודול למצב H ולזמן Tx הקצר ביותר, ונשאיר את מדידת הזמן לסקיצה: נשמור ב-lastMotion את זמן הקריאה האחרונה של HIGH , ונכבה כשעברו 30 s מאז.

נורית שנשארת דולקת 30 שניות אחרי התנועה האחרונה Arduino Uno · pir_light.ino
const int PIR = 2, LAMP = 7;
const unsigned long HOLD = 30000UL;        // ms after the last motion
unsigned long lastMotion = 0;
bool lampOn = false;
void report(const char *msg) {
  Serial.print("t = "); Serial.print(millis() / 1000.0, 1);
  Serial.print(" s  "); Serial.println(msg);
}
void setup() {
  Serial.begin(9600);
  pinMode(PIR, INPUT); pinMode(LAMP, OUTPUT);
  delay(60000UL);                          // PIR warm-up
  Serial.println("ready");
}
void loop() {
  unsigned long now = millis();
  if (digitalRead(PIR) == HIGH) {
    lastMotion = now;                      // motion: restart the timer
    if (!lampOn) {
      lampOn = true; digitalWrite(LAMP, HIGH); report("lamp ON");
    }
  }
  if (lampOn && now - lastMotion >= HOLD) {
    lampOn = false; digitalWrite(LAMP, LOW); report("lamp OFF");
  }
}
Serial Monitor · קריאה לדוגמה
ready
t = 65.2 s  lamp ON
t = 114.7 s  lamp OFF
t = 152.3 s  lamp ON
t = 185.1 s  lamp OFF
דוגמה 7.2
הקריאה הטיפוסית חושבה עבור מוצא חיישן שהיה גבוה בפרקי הזמן: מ-65.2 עד 68.4 s, מ-81 עד 84.7 s, מ-152.3 עד 155.1 s. מתי כבתה הנורית בפעם הראשונה? ולמה היא לא כבתה בין התנועה הראשונה לשנייה?
פתרון:

הקריאה האחרונה של HIGH בתנועה הראשונה הייתה בזמן 68.4 s , והתנועה השנייה התחילה בזמן 81 s:

81 − 68.4 = 12.6 s < 30 s

לכן הנורית נשארה דולקת, והתנועה השנייה התחילה את הספירה מחדש. הקריאה האחרונה של HIGH בתנועה זו הייתה בזמן 84.7 s:

toff = 84.7 + 30 = 114.7 s
toff = 114.7 s
שאלה 7.3: שינינו את HOLD ל-45 s. מתי תכבה הנורית אחרי התנועה השלישית? ומה ערך הקבוע בסקיצה?
טעות נפוצה: בדקה הראשונה אחרי ההפעלה החיישן מתייצב ומוציא אותות שווא, ומי שבודק מיד חושב שהחיישן תקול; לכן נמתין 60 s ב-setup(). טעות שנייה: delay(30000) במקום millis() מעוור את הסקיצה לתנועות בזמן ההמתנה. את ההשוואה נכתוב בחיסור now - lastMotion, כי היא נשארת נכונה גם כאשר millis() חוזרת לאפס אחרי 232 ms , כלומר אחרי 49.7 ימים בערך.
אזהרה: כדי להפעיל נורת רשת 230 V נשתמש רק במודול ממסר מאושר, בהשגחת המורה, ולעולם לא נחבר מתח רשת ללוח ניסויים. כאן נסתפק בנורית חיווי; הפעלת עומסים בעזרת ממסר — בפרק 10.
על שלושת הלוחות: מתחבר ישירות לשלושת הלוחות: מזינים אותו מ-5 V, והמוצא שלו 3.3 V גם כשהוא מוזן מ-5 V, ולכן הוא בטוח להדקים של ESP32 ושל רספברי פיי.
▶ניסוי חי — חיישן התנועה PIRמפרט HC-SR501, החיבור, וסקיצה שמתעלמת מתקופת החימום ומדווחת על תחילת התנועה ועל סיומה.
⚠
המעבדה אינה זמינה כרגע. החומר בפרק שלם גם בלעדיה — ממשיכים לקרוא, וחוזרים לניסוי מאוחר יותר או פותחים אותו ישירות בקישור שמתחת למסגרת.
https://fahed-lab.com/micro/sensors_guide#pir
פתיחת המעבדה בדף נפרד ↗ fahed-lab.com/micro/sensors_guide#pir

חיישני מרחק ותנועה נוספים (Other Distance and Motion Sensors)

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

החיישןמה הוא מודד?תחום טיפוסיהמוצאשימוש טיפוסי
על-קולי HC-SR04מרחק לפי זמן ההדמ-2 cm עד 4 mפולס ספרתי בהדק ECHOעזר לחניה, מפלס נוזל
חיישן התנועה HC-SR501שינוי בקרינה התרמית: תנועה של אדםעד 7 m בערךספרתי: כן / לאתאורת מדרגות, אזעקה
חיישן מרחק אינפרא-אדום (Sharp GP2Y0A21)מרחק לפי מיקום האור המוחזר מהגוףמ-10 cm עד 80 cmמתח תקבילי, והקשר אינו לינארירובוט שמתחמק ממכשולים
מקודד סיבובי (KY-040)זווית הסיבוב של הציר וכיוונוסיבוב ללא הגבלה, 20 פולסים לסיבובפולסים ספרתיים בשני ערוצים, A ו-Bכפתור תפריט או עוצמה, מיקום ציר של מנוע
מד תאוצה (MPU6050)תאוצה והטיית המכשיר ביחס לאופקמ-±2 g עד ±16 gספרתי, דרך אפיק הנתונים I2Cזיהוי הטיה, רובוט מאזן, ספירת צעדים
הערה: כל ערך בטבלה הוא "ערך טיפוסי לפי גיליון הנתונים". בבחירת חיישן נשאל קודם: מה אנחנו רוצים לדעת (מרחק, נוכחות, סיבוב, הטיה)? ואחר כך: האם מתאים לנו מוצא ספרתי שנקרא בפקודה digitalRead() או pulseIn(), או מוצא תקבילי שנקרא בפקודה analogRead()?
שאלה 7.4: איזה חיישן בטבלה נקרא בפקודה analogRead()? ואיזה מהם מוציא פולסים בשני ערוצים?

סיכום נוסחאות הפרק:

החוקהנוסחה
מרחק בשיטת ההדd = v·t2
הקיצור (v = 343 m/s)d[cm] ≈ t[µs]58
זמן ההד למרחק נתוןt[µs] ≈ 58·d[cm]

מילון מונחים:

עבריתEnglishالعربية
חיישן על-קוליUltrasonic sensorالحسّاس فوق الصوتي
הדEchoالصدى
מהירות הקולSpeed of soundسرعة الصوت
פולס הדק (טריגר)Trigger pulseنبضة القدح
רוחב הפולסPulse widthعرض النبضة
זמן המתנה מרביTimeoutمهلة الانتظار
זמזםBuzzerالطنّان (البازر)
חיישן תנועה (PIR)Passive infrared sensorحسّاس الحركة بالأشعة تحت الحمراء
חיישן סביל (פסיבי)Passive sensorحسّاس سلبي
גביש פירואלקטריPyroelectric elementالعنصر الكهروحراري
עדשת פרנלFresnel lensعدسة فرينل
זמן השהיהHold (delay) timeزمن الإمساك
מצב הפעלה חוזרתRetrigger modeوضع إعادة القدح
חיישן מרחק אינפרא-אדוםIR distance sensorحسّاس المسافة بالأشعة تحت الحمراء
מקודד סיבוביRotary encoderالمرمِّز الدوّار
מד תאוצהAccelerometerمقياس التسارع

שאלות לתרגול:

1.
רוחב הפולס בהדק ECHO הוא 2320 µs.
א. חשבו את המרחק לפי החוק.
ב. חשבו אותו לפי הקיצור.
תשובות: א. d = 39.8 cm · ב. d ≈ 40 cm
2.
גוף נמצא במרחק 1.5 m מהחיישן. חשבו את רוחב הפולס הצפוי בהדק ECHO.
תשובות: t = 8746 µs
3.
א. מהו זמן ההמתנה המרבי הקצר ביותר שמספיק למדידת 400 cm?
ב. סקיצה משתמשת בזמן המתנה מרבי של 10000 µs: מהו המרחק הגדול ביותר שהיא מודדת?
תשובות: א. 23324 µs · ב. 172 cm בערך
4.
למה מחלקים ב-2 בחוק המרחק? ומה מחזירה הפקודה pulseIn() כשלא חוזר הד?
תשובות: כי הקול עובר את הדרך הלוך ושוב (2·d); היא מחזירה 0 כשנגמר זמן ההמתנה המרבי
5.
במערכת העזר לחניה נקראו רוחבי הפולסים 3500 , 2000 , 1000 ו-2600 µs. קבעו את האזור לכל קריאה.
תשובות: 3500 µs: אזור 1 · 2000 µs: אזור 2 · 1000 µs: אזור 3 · 2600 µs: אזור 2
6.
למה חיישן PIR אינו מגלה אדם שיושב בלי לזוז מול המחשב? ומה קורה במצב L כשאנחנו זזים בלי הפסקה?
תשובות: כי הוא מגלה שינוי בקרינה ולא את נוכחותה; במצב L המוצא יורד אחרי Tx למרות התנועה, ואז עולה מחדש
7.
בסקיצת הנורית שינינו את HOLD ל-20 s. מוצא החיישן היה גבוה מ-10.0 עד 12.5 s ומ-40.0 עד 41.0 s. מתי כבתה הנורית בפעם הראשונה? מתי היא נדלקה שוב ומתי כבתה?
תשובות: כבתה בזמן 32.5 s, נדלקה בזמן 40 s וכבתה בזמן 61 s
8.
רוצים לחבר את HC-SR04 ללוח ESP32. מה הבעיה בהדק ECHO, וכיצד פותרים אותה?
תשובות: ההדק ECHO מוציא 5 V, וההדקים של ESP32 עומדים רק ב-3.3 V; נוסיף מחלק מתח של 1 kΩ ו-2 kΩ, ואז מגיעים להדק כ-3.3 V
9.
איזה חיישן תבחרו?
א. מדידת מפלס המים במכל מלמעלה.
ב. הדלקת אור במדרגות כשאדם עולה.
ג. כפתור שמסובבים לשני הכיוונים כדי לבחור פריט בתפריט.
ד. זיהוי הטיה של משטח ביחס לאופק.
תשובות: א. על-קולי. ב. חיישן תנועה PIR. ג. מקודד סיבובי. ד. מד תאוצה
10.
לכל חיישן כתבו: האם המוצא שלו ספרתי או תקבילי, ובאיזו פקודה קוראים אותו?
א. HC-SR04.
ב. HC-SR501.
ג. חיישן המרחק Sharp.
תשובות: א. ספרתי, pulseIn() · ב. ספרתי, digitalRead() · ג. תקבילי, analogRead()
תשובות סופיות לשאלות הפרק
7.1 א. d = 49.7 cm · ב. d ≈ 50 cm
7.2 d = 35.0 cm , אזור 2
7.3 toff = 200.1 s , והקבוע 45000UL
7.4 חיישן המרחק האינפרא-אדום (Sharp); המקודד הסיבובי
נוסחאון הספר: כל נוסחאות הפרק הזה מרוכזות, עם סרטוטיהן וטבלאות הסמלים שלהן, בפרק 15 — נוסחאון הספר.