Πως λειτουργεί ο Distance Sensor με την βοήθεια Arduino.

2019-05-22

Η υπερηχητική μονάδα HC-SR04 έχει 4 ακίδες, Ground, VCC, Trig και Echo. Οι ακροδέκτες Ground και VCC της μονάδας πρέπει να συνδέονται με τις γείωσης και τους ακροδέκτες των 5 volts στο Arduino Board αντιστοίχως και τους ακροδέκτες trig και echo με οποιαδήποτε ψηφιακή είσοδο I / O στην πλακέτα Arduino.

Για να δημιουργήσετε το υπερηχογράφημα, πρέπει να ρυθμίσετε το Trig σε υψηλή κατάσταση για 10 μs. Αυτό θα στείλει ένα ηχητικό έκρηξη 8 κύκλων το οποίο θα ταξιδέψει στον ήχο της ταχύτητας και θα ληφθεί στον ακροδέκτη Echo. Ο ακροδέκτης Echo θα εκπέμψει τον χρόνο σε μικροδευτερόλεπτα που διανύθηκε το κύμα ήχου. Για παράδειγμα, αν το αντικείμενο απέχει 10 cm από τον αισθητήρα και η ταχύτητα του ήχου είναι 340 m / s ή 0,034 cm / μs, το ηχητικό κύμα θα χρειαστεί ταξιδεύετε περίπου 294 δευτερόλεπτα. Αλλά αυτό που θα πάρετε από τον ακροδέκτη Echo θα είναι διπλάσιος από αυτόν, επειδή το ηχητικό κύμα πρέπει να ταξιδέψει προς τα εμπρός και να αναπηδήσει προς τα πίσω. Έτσι, για να έχουμε την απόσταση σε cm, πρέπει να πολλαπλασιάσουμε την τιμή λαμβανόμενου χρόνου ταξιδιού από τον ακροδέκτη ηχώ κατά 0,034 και να την διαιρέσουμε κατά 2.

Ο κώδικας:

  • const int trigPin = 9;
  • const int echoPin = 10;
  • · // defines variables
  • long duration;
  • int distance;
  • · void setup() {
  • pinMode(trigPin, OUTPUT); // Sets the trigPin as an Output
  • pinMode(echoPin, INPUT); // Sets the echoPin as an Input
  • Serial.begin(9600); // Starts the serial communication
  • }
  • · void loop() {
  • // Clears the trigPin
  • digitalWrite(trigPin, LOW);
  • delayMicroseconds(2);
  • · // Sets the trigPin on HIGH state for 10 micro seconds
  • 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;
  • · // Prints the distance on the Serial Monitor
  • Serial.print("Distance: ");
  • Serial.println(distance);
  • }
Δημιουργήστε δωρεάν ιστοσελίδα! Αυτή η ιστοσελίδα δημιουργήθηκε με τη Webnode. Δημιουργήστε τη δική σας δωρεάν σήμερα! Ξεκινήστε