جهاز استشعار الموجات فوق الصوتية HC-SR04 هو جهاز استشعار يمكنه قياس المسافة. تصدر الموجات فوق الصوتية عند 40.000 هرتز (40 كيلو هرتز) والتي تنتقل عبر الهواء وإذا كان هناك شيء أو عائق على طريقه فسوف يرتد مرة أخرى إلى الوحدة. بالنظر إلى وقت السفر وسرعة الصوت ، يمكنك حساب المسافة.
دبوس التكوين الخاص بـ HC-SR04 هو VCC (1) و TRIG (2) و ECHO (3) و GND (4). جهد إمداد VCC هو + 5 فولت ويمكنك توصيل دبوس TRIG و ECHO بأي إدخال / إخراج رقمي في لوحة Arduino.
من أجل إنشاء الموجات فوق الصوتية ، نحتاج إلى ضبط Trigger Pin على حالة عالية لمدة 10 s. سيؤدي ذلك إلى إرسال دفقة صوتية من 8 دورات والتي ستنتقل بسرعة الصوت وسيتم استقبالها في Echo Pin. سيخرج Echo Pin الوقت بالميكروثانية التي تقطعها الموجة الصوتية.
على سبيل المثال ، إذا كان الكائن على بعد 20 سم من المستشعر ، وكانت سرعة الصوت 340 م / ث أو 0.034 سم / ث ، فستحتاج الموجة الصوتية إلى الانتقال حوالي 588 ميكروثانية. لكن ما ستحصل عليه من دبوس Echo سيكون ضعف هذا الرقم لأن الموجة الصوتية تحتاج إلى الانتقال للأمام والارتداد للخلف. لذا من أجل الحصول على المسافة بالسنتيمتر ، نحتاج إلى ضرب قيمة وقت السفر المستلمة من دبوس الصدى في 0.034 وقسمتها على 2.
المكونات الاساسية :
- Arduino UNO R3
- Ultrasonic Sensor HC-SR04
- Breadboard
- Jumper wires
++ مخطط الرسم البياني :
#define echoPin 2 // attach pin D2 Arduino to pin Echo of HC-SR04 #define trigPin 3 //attach pin D3 Arduino to pin Trig of HC-SR04 // defines variables long duration; // variable for the duration of sound wave travel int distance; // variable for the distance measurement void setup() { pinMode(trigPin, OUTPUT); // Sets the trigPin as an OUTPUT pinMode(echoPin, INPUT); // Sets the echoPin as an INPUT Serial.begin(9600); // // Serial Communication is starting with 9600 of baudrate speed Serial.println("Ultrasonic Sensor HC-SR04 Test"); // print some text in Serial Monitor Serial.println("with Arduino UNO R3"); } void loop() { // Clears the trigPin condition digitalWrite(trigPin, LOW); delayMicroseconds(2); // Sets the trigPin HIGH (ACTIVE) for 10 microseconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculating the distance distance = duration * 0.034 / 2; // Speed of sound wave divided by 2 (go and back) // Displays the distance on the Serial Monitor Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); }
#arduino #raspberrypi #electronics #arduinoproject #robotics #technology #engineering #arduinouno #robot #iot #diy #electrical #maker #programming #electronic #microcontroller #arduinoprojects #tech #esp #pcb #arduinomega #d #electricalengineering #robotica #diyelectronics #project #coding #arduinofun #sensor
No comments:
Post a Comment