برمجة الحساس الفوق الصوتي بالاردوينو (Ultrasonic Sensor)

 



الحساس الفوق الصوتي (Ultrasonic Sensor) هو جهاز يستخدم لقياس المسافة باستخدام الموجات فوق الصوتية. يعتمد على توليد إشارات صوتية فوق الحدود السمعية للإنسان (تتجاوز ترددها 20 كيلو هرتز) واستقبال الإشارات المرتدة من الأجسام الموجودة في مسارها. يعمل الحساس الفوق الصوتي على مبدأ الصوت العكسي، حيث يرسل نبضة صوتية قصيرة ويقيس الوقت الذي يستغرقه الصوت للعودة بعد أن يصطدم بجسم ما.

بناءً على الوقت الذي يستغرقه الصوت للعودة، يمكن حساب المسافة بسهولة باستخدام سرعة الصوت في الوسط الذي ينتشر فيه (عادةً الهواء). يتم تحويل هذه الإشارات الصوتية إلى إشارات كهربائية قابلة للقياس وتحليلها من قبل الدوائر الإلكترونية المتواجدة داخل الحساس.

يستخدم الحساس الفوق الصوتي في العديد من التطبيقات مثل قياس المسافات والتحكم في المركبات الذاتية والتلاعب بالأجسام الموجودة وتفادي العوائق وتحديد موقع الأشياء. كما يستخدم في صناعة الروبوتات والأنظمة الأوتوماتيكية ومجالات أخرى تتطلب قياس المسافة بدقة.

إليك برنامج بسيط باللغة C++ لتحكم في الحساس الفوق صوتي (Ultrasonic Sensor) باستخدام لوحة Arduino. يتم استخدام هذا البرنامج لقياس المسافة باستخدام الحساس الفوق صوتي وإظهار القراءة على الشاشة التسلسلية (Serial Monitor) التي تأتي مع بيئة التطوير Arduino.

البرنامج:

// تعريف مدخلات ومخرجات الحساس الفوق صوتي

const int trigPin = 9; // مدخل تحكم بتوليد الإشارة

const int echoPin = 10; // مدخل تحكم بالاستقبال

void setup() {

  Serial.begin(9600); // بدء الاتصال مع الشاشة التسلسلية

  pinMode(trigPin, OUTPUT); // تحديد البن كمخرج

  pinMode(echoPin, INPUT); // تحديد البن كمدخل

}

void loop() {

  // إرسال إشارة فوق الصوتية

  digitalWrite(trigPin, LOW);

  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);

  // استقبال الإشارة المرتجعة

  long duration = pulseIn(echoPin, HIGH);

  // حساب المسافة

  // السرعة للصوت في الهواء هي حوالي 343 متر/ثانية

  // المسافة = (الزمن * السرعة الصوت) / 2

  int distance = duration * 0.034 / 2;

  // عرض القيمة على الشاشة التسلسلية

  Serial.print("Distance: ");

  Serial.print(distance);

  Serial.println(" cm");

    // انتظار لثانية قبل إعادة القياس

  delay(1000);

}


ملاحظات هامة:


هذا البرنامج يقوم بإرسال إشارة فوق صوتية من خلال دبوس المخرج (trigPin) ثم يستقبل الإشارة المرتجعة عبر دبوس المدخل (echoPin)، ويقوم بحساب المسافة بناءً على الزمن الذي تستغرقه الإشارة للعودة بالتوجيه نفسه. تُظهر النتيجة على الشاشة التسلسلية بوحدة السنتيمتر.

يرجى ملاحظة أنه يجب توصيل الحساس الفوق صوتي بالتالي:

  • دبوس التوليد (Trig) يجب أن يكون موصولًا بدبوس رقم 9 على الأردوينو.
  • دبوس الاستقبال (Echo) يجب أن يكون موصولًا بدبوس رقم 10 على الأردوينو.
  • وتأكد من أنك قمت بتوصيل الأرضي (Ground) والطاقة (VCC) بالطريقة الصحيحة وفقًا لمواصفات الحساس الفوق صوتي الذي تستخدمه.




إرسال تعليق (0)
أحدث أقدم