مواجهة وحدة الاستشعار بالموجات فوق الصوتية JSN-SR04T مع اردوينو اكتب تعليقُا

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

شرح فكرة المشروع

  • حساس JSN-SR04T هو مستشعر يعمل بالموجات فوق الصوتية (Ultrasonic Sensor) يُستخدم لقياس المسافات عن بعد بطريقة غير تلامسية.
  • يعمل الحساس عن طريق إرسال نبضات فوق صوتية في نطاق محدد، ثم يستقبل النبضات المرتدة عندما تصطدم بجسم أو سطح، ليقوم المتحكم بحساب المسافة وفقا لبيانات معينة.
  • الحساس مدمج مع مسبار مقاوم للماء، حيث يُصنع المسبار من مواد مقاومة للماء لحماية المكونات الداخلية من التلف.
  • يمكن استخدام الحساس لقياس المسافات بدقة في مجموعة واسعة من التطبيقات، مثل: قياس المسافات لتفادي العوائق في الروبوتات الذكية…
  • في هذا المشروع، سيتم عرض قيم المسافة المُقاسة باستخدام حساس JSN-SR04T على شاشة Serial Monitor
  • لفتح شاشة Serial Monitor، اختر Tools ثم Serial Monitor

ادوات المشروع

مخطط المشروع

طريقة توصيل الادوات مع أردوينو

حساس JSN-SR04T:

VCC -> 5V

Trig -> 2

Echo -> 3

GND -> GND

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

#define trigPin 2
#define echoPin 3

void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}

void loop() {
// Clear the trigger pin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

// Send a 10µs HIGH pulse to the trigger pin
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

// Measure the duration of the pulse on the echo pin
long duration = pulseIn(echoPin, HIGH);

// Calculate the distance in centimeters
// Speed of sound is 343 meters per second (or 34300 cm/s)
// Divide by 2 to account for the round-trip distance
int distance = duration * 343 / 10000 / 2;

// Print the distance to the Serial Monitor
Serial.print(“Distance: “);
Serial.print(distance);
Serial.println(” cm”);

delay(1000); // Wait for a second before taking the next measurement
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *