int trigPin = 9; // מגדיר את הפין 9 כיציאה (Trig של החיישן)
int echoPin = 10; // מגדיר את הפין 10 ככניסה (Echo של החיישן)
void setup() {
pinMode(trigPin, OUTPUT); // קובע שפין 9 (Trig) ישמש כיציאה
pinMode(echoPin, INPUT); // קובע שפין 10 (Echo) ישמש ככניסה
Serial.begin(9600); // מפעיל תקשורת סריאלית עם המחשב במהירות 9600
}
void loop() {
// שולח פולס קצר ב־Trig כדי להפעיל את החיישן
digitalWrite(trigPin, LOW); // מנקה את ה־Trig (שולח LOW)
delayMicroseconds(2); // ממתין 2 מיקרו־שניות
digitalWrite(trigPin, HIGH); // שולח פולס HIGH
delayMicroseconds(10); // משאיר HIGH ל־10 מיקרו־שניות
digitalWrite(trigPin, LOW); // מחזיר LOW כדי לסיים את הפולס
// מודד כמה זמן האות חזר ב־Echo
long duration = pulseIn(echoPin, HIGH); // מחכה עד שה־Echo יהיה HIGH ומודד את זמן הפעימה
// מחשב את המרחק בסנטימטרים לפי זמן החזרה ומהירות הקול
int distance = duration * 0.034 / 2; // 0.034 ס"מ למיקרו־שנייה, לחלק ל־2 כי הגל הולך וחוזר
// מציג את התוצאה בחלון ה־Serial Monitor
Serial.print("המרחק: "); // כותב טקסט "המרחק: "
Serial.print(distance); // כותב את הערך המחושב
Serial.println(" ס״מ"); // מוסיף יחידות (ס״מ) ושורה חדשה
delay(500); // מחכה חצי שנייה לפני המדידה הבאה
}