حساس المسافة Ultrasonic HCSR-04
>
data-original-height="800"
data-original-width="800"
height="640"
src="https://i.suar.me/875vL/m"
width="640"
/>
>
style="margin: 18px 0px 7px; overflow-wrap: break-word; padding: 0px; text-align: justify;"
>
>مقدمة
>من المحتمل أنك قد شاهدت يوما ما ربوت لتجنب العوائق أو عصا لمساعدة
المكفوفين أو حتى جهاز لتعقيم اليدين يعمل تلقائياً عند الاقتراب
منه. >
>
data-original-height="800"
data-original-width="800"
height="640"
src="https://telegra.ph/file/0ed4542b9c826b1f95d18.jpg"
width="640"
/>
>
data-original-height="800"
data-original-width="800"
height="640"
src="https://telegra.ph/file/c7954b417b8b89ebd4d1a.jpg"
width="640"
/>
>
data-original-height="800"
data-original-width="800"
height="640"
src="https://ae01.alicdn.com/kf/Hce73f57ffb9f411b90488ae66fb611adO/PiSloth-AI.jpg_Q90.jpg_.webp"
width="640"
/>
هل فكرت ما هو الحساس المستخدم وما هي طريقة عمله؟ جميع ما ذكر من
المشاريع وأكثر بكثير يمكن عملها باستخدام حساس المسافة Ultrasonic
SR-04. >
>
style="margin: 18px 0px 7px; overflow-wrap: break-word; padding: 0px; text-align: justify;"
>
> >ما هو حساس المسافة وما هي مكوناته >
>هو عبارة عن جهاز استشعار يقوم بقياس المسافة بينه وبين الحاجز الذي
أمامه عن طريق الأمواج فوق الصوتية، يتكون من مرسل ومستقبل ودارة تحكم.
يعتمد في عمله بشكل أساسي على الأمواج فوق الصوتية عن طريق ارسال موجة عن
طريق المرسل ففي حال وجود حاجز تصطدم به الموجة وتنعكس الى المستقبل
فيقوم الحساس بحساب الزمن الذي استغرقته الاشارة من لحظة ارسالها الى
عودتها، وكما نعلم أن سرعة الصوت معروفة (340m/s عند درجة حرارة 20 درجة
مئوية ) وتختلف بشكل بسيط عند تغير درجة الحرارة والرطوبة والضغط الجوي،
وبالتالي يمكن حساب المسافة من خلال العلاقة التالية
Speed = dist/time
Dist = speed × time
>
data-original-height="800"
data-original-width="800"
height="640"
src="https://telegra.ph/file/bbbb60caee66cd584e81e.jpg"
width="640"
/>
>
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
>مواصفات ومميزات الحساس
- جهد التغذية 5v.
تيار الذي يستهلكه 15mA.
أقل مسافة يستطيع قياسها 2cm. >
أكبر مسافة يستطيع قياسها 400cm. >
زاوية القياس 15deg درجة.
- دقة القياس 3mm .
>
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
>تطبيقات ومشاريع باستخدام الحساس
- رادار صغير.
حساس لقياس مستوى الماء.
جهاز ذكي لتعقيم اليدين .
- سلة نفايات ذكية.
عصا لمساعدة المكفوفين.
- كراج ذكي.
>
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
>الربط مع الاردوينو
>يحتوي الموديول على 4 أربعة أقطاب وهي: >
Vcc
تغذية الموديول ب 5v
GND
قطب الارضي
Trigger
قطب التشغيل
Echo
>قطب الدخل يتم من خلاله قياس الزمن
>
data-original-height="800"
data-original-width="800"
height="640"
src="https://telegra.ph/file/0765e15db0e190bc03f38.png"
width="640"
/>
>
في البداية نحتاج لاعطاء نبضة موجبة زمنها 10us على
القطب Trigger وهذه النبضة تعني بداية التشغيل فتقوم وحدة التحكم الموجود
في الموديول بإرسال موجة فوق صوتية ترددها 40KHZ على شكل نبضات عددها 8
نبضات وعند نهاية ارسال هذه النبضات يبدأ قطب echo بقراءة نبضة موجبة
High تستمر حتى تنعكس الموجة المرسلة وتعود الى المستقبل فتعود القيمة
على قطب echo مساوية للصفر Low >
>
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
مخطط التوصيل
> href="https://telegra.ph/file/cccac7a3a172e0de96ab8.png"
style="margin-left: 1em; margin-right: 1em;"
>
data-original-height="450"
data-original-width="800"
height="360"
idth="640"
src="https://hackster.imgix.net/uploads/attachments/991561/uploads2ftmp2ff6c8de93-288c-4663-9a29-31c8e61172812fultrasonic5_WCDWvutJmv.png?auto=compress%2Cformat&w=1280&h=960&fit=max"
/>
>
style="font-size: 24px; margin: 18px 0px 7px; padding: 0px; text-align: justify;"
>
الكود البرمجي
class="language-cpp"
>
int trigPin = 3; // TRIG pin
int echoPin = 2; // ECHO pin
float duration_us,
distance_cm;
void setup() {
// begin serial port
Serial.begin (9600);
// configure the trigger pin to output mode
pinMode(trigPin, OUTPUT);
// configure the echo pin to input mode
pinMode(echoPin, INPUT);
}
void loop() {
// generate 10-microsecond pulse to TRIG pin
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// measure duration of pulse from ECHO pin
duration_us = pulseIn(echoPin, HIGH);
// calculate the distance
distance_cm = 0.034 * (duration_us / 2);
// print the value to Serial Monitor
Serial.print("distance: ");
Serial.print(distance_cm);
Serial.println(" cm");
delay(500);
}
style="background-color: white; box-sizing: border-box; margin-bottom: 1rem; margin-top: 0px; text-align: center;"
>
> >ساعدنا في النشر >
class="dir_rtl"
style="background-color: white; box-sizing: border-box; font-size: 16px; margin-bottom: 1rem; margin-top: 0px; text-align: justify;"
>
> >نتمنى مشاركة المقال مع أصدقائك على مواقع التواصل الاجتماعي لتصل الفائدة
الى الجميع وشاركنا برأيك في التعليقات والاشتراك في خدمة البريد
الالكتروني على المدونة ليصلك كل جديد فوراً > >