2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
يستخدم مستشعر المسافة بالموجات فوق الصوتية HC-SR04 سونار غير متصل بالموجات فوق الصوتية لقياس المسافة إلى الجسم. يتكون من جهازي إرسال وجهاز استقبال ودائرة تحكم. تصدر أجهزة الإرسال صوتًا فوق صوتيًا عالي التردد ، والذي يرتد عن أي أجسام صلبة قريبة ، ويستمع جهاز الاستقبال لأي صدى مرتد. ثم تتم معالجة هذا الصدى بواسطة دائرة التحكم لحساب فارق التوقيت بين الإشارة المرسلة والمستقبلة. يمكن استخدام هذه المرة لاحقًا ، جنبًا إلى جنب مع بعض الرياضيات الذكية ، لحساب المسافة بين المستشعر والجسم العاكس!
اللوازم
ما سوف تحتاجه:
- رازبيري باي 2/3/4
- بطاقة Micro SD محملة بـ Raspbian
- 5.1V USB امدادات الطاقة
- HC-SR04 (من الواضح)
- اللوح
- 4 كابلات ذكر لأنثى
- شاشة ولوحة مفاتيح لـ Raspberry Pi
الخطوة 1: قم بإعداد Raspberry Pi
- أدخل بطاقة SD التي أعددتها باستخدام Raspbian (عبر NOOBS) في فتحة بطاقة microSD على الجانب السفلي من Raspberry Pi.
- ابحث عن طرف موصل USB لكابل لوحة المفاتيح ، وقم بتوصيل لوحة المفاتيح بمنفذ USB على Raspberry Pi (لا يهم المنفذ الذي تستخدمه).
- تأكد من توصيل شاشتك بمقبس الحائط وتشغيلها. انظر إلى منفذ (منافذ) HDMI على Raspberry Pi - لاحظ أن لديهم جانبًا مسطحًا في الأعلى. استخدم كبلًا لتوصيل الشاشة بمنفذ HDMI الخاص بـ Raspberry Pi - استخدم محولًا إذا لزم الأمر.
- قم بتوصيل مصدر طاقة USB بمقبس وتوصيله بمنفذ طاقة Raspberry Pi.
- سيبدأ Raspberry Pi في التشغيل ، وستكون جاهزًا للانطلاق.
الخطوة 2: إعداد الجهاز
يعد إعداد مستشعر المسافة بالموجات فوق الصوتية أمرًا بسيطًا إلى حد ما ، ولا توجد حاجة لأجزاء أخرى معقدة ، فقط المستشعر و 4 كابلات و Raspberry Pi. لديها أربعة دبابيس فقط:
- VCC إلى Pin 2 (5V)
- TRIG إلى Pin 12 (GPIO 18)
- صدى إلى رقم 18 (GPIO 24)
- GND إلى Pin 6 (GND)
الخطوة 3: نص بايثون
أولاً ، يجب أن يكون لدينا مكتبة python gpiozero مثبتة وللاستخدام سننشئ نصًا جديدًا
sudo نانو Distance_sensor.py
كالآتي:
# الحصول على المكتبات التي نحتاجها
من gpiozero import DistanceSensor من وقت استيراد السكون # تهيئة مستشعر الموجات فوق الصوتية = DistanceSensor (المشغل = 18 ، صدى = 24) بينما صحيح: # انتظر 2 ثانية سكون (2) # احصل على المسافة بالأمتار المسافة = sensor.distance # لكننا نريد هو بالسنتيمتر مسافة = sensor.distance * 100 # سنحصل على رقم عشري كبير لذلك سنقربه إلى مكانين مسافة = جولة (sensor.distance، 2) # اطبع المعلومات على طباعة الشاشة ("المسافة: {} سم ". تنسيق (المستشعر المسافة))