HC-SR04 حساس ذكي يقيس المسافة بنفس مبدأ الخفاش! يُرسل موجة صوتية فوق مسمع (40 كيلوهيرتز) وينتظر ارتداد صداها من الجسم المقابل. بمعرفة سرعة الصوت (343 م/ث) ووقت الرحلة الذهاب والإياب يحسب المسافة بدقة ± 3 مم.
// ===== قياس المسافة بـ HC-SR04 =====
const int TRIG_PIN = 9;
const int ECHO_PIN = 10;
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
}
float measureDistance() {
// إرسال نبضة 10 ميكروثانية
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// قياس وقت الصدى
long duration = pulseIn(ECHO_PIN, HIGH);
// حساب المسافة بالسنتيمتر
float distance = duration * 0.034 / 2.0;
return distance;
}
void loop() {
float dist = measureDistance();
Serial.print("المسافة: ");
Serial.print(dist);
Serial.println(" سم");
// إنذار عند الاقتراب
if (dist < 20) {
Serial.println("⚠️ تحذير: جسم قريب!");
}
delay(100);
}
HC-SR04 لا يعمل بشكل صحيح مع الأسطح الناعمة جداً كالصوف أو زوايا 45 درجة — استخدمه مع أسطح صلبة ومسطحة للنتائج الأفضل.