Site icon ElectronX Lab

Arduino və Ultrasonik Sensor HC-SR04

Ultrasonic Sensor HC-SR04 with Arduino Tutorial

Bu yazımda Ultrasonik Sensor HC-SR04’ü Arduino ilə necə birləşdirəcəyinizi öyrənəcəksiniz. Ultrasonik – Məsafə Sensoru kimi və ya hər hansı bir başqa məqsəd üçün istifadə edilə bilər.

Komponentlər və ləvazimatlar

Lazımi alətlər və maşınlar

İstənilən ölçmə vasitələrindən istifadə edə bilərsiniz, xətkeşdən də istifadə edə bilərsiniz.

Tətbiqlər və onlayn xidmətlər

BU LAYİHƏ HAQQINDA

Ultrasonik Sensor HC-SR04 məsafəni ölçə bilən bir sensordur. Havadan keçən 40 000 Hz (40kHz) ultrasəs yayır və yolunda bir cisim və ya maneə varsa səs modula geri dönür. Səsin gedib-gəlmə vaxtını və səsin sürətini nəzərə alaraq məsafəni hesablaya bilərsiniz.

HC-SR04 konfiqurasiya pini VCC (1), TRIG (2), ECHO (3) və GND (4) dir. VCC-nin qida gərginliyi + 5V-dir və Arduino Kartınızdakı hər hansı bir Rəqəmsal I / O-nu TRIG və ECHO pini kimi təyin edə bilərsiniz.

HC-SR04 Ultrasonik Sensorun Kofiqurasiya və Xüsusiyyətləri
HC-SR04 Ultrasonik Sensorun iş prinsipi

Bu layihəni hazırlamaq üçün lazım olan materiallar:

  1. Arduino UNO R3 CH340 (istənilən Arduino lövhəsindən istifadə edə bilərsiniz)
  2. Ultrasonik Sensor HC-SR04
  3. Male – Male tellər
  4. Breadboard

Arduino və Ultrasonik Sensor HC-SR04 bağlantısı

The connection of Arduino and Ultrasonic Sensor HC-SR04

Arduino UNO və HC-SR04 bağlantısı

Ultrasonik səs yaratmaq üçün Trigger Pini 10 µs yüksək bir vəziyyətə qurmalıyıq. Bu, səs sürət ilə gedəcək 8 dövr sonik partlayış göndərəcəkdir və Echo Pin-də qəbul ediləcək . Echo Pin, səs dalğasının keçdiyi vaxtı mikrosaniyələrlə çıxaracaqdır.

Məsələn, cisim sensordan 20 sm məsafədədirsə və səsin sürəti 340 m / s və ya 0,034 sm / s-dirsə, səs dalğasının təxminən 588 mikrosaniyəni keçməsi lazımdır. Echo pinindən əldə edəcəkləriniz bu rəqəmdən iki dəfə çox olacaq, çünki səs dalğasının irəli getməsi və geriyə sıçrayması lazımdır. Beləliklə sm məsafəni əldə etmək üçün echo pinindən alınan səyahət vaxtı dəyərini 0,034-ə vuraraq 2-yə bölməliyik.

Məsafənin Hesablanması

Proqramlaşdırma kodu üçün əvvəlcə Arduino lövhəsinə qoşulmuş Trig Pini və Echo Pini təyin etməliyik. Bu layihədə EchoPin D2-yə, TrigPin D3-ə birləşdirilib. Sonra məsafə (int) və müddət (long) üçün dəyişənləri təyin edirik.

Əvvəlcə döngüdə trigPin-in təmiz olduğundan əmin olmalısınız, beləliklə bu pini yalnız 2 µs üçün DÜŞÜK bir vəziyyətə qoymalıyıq. İndi ultrasəs dalğasını yaratmaq üçün trigpin’i YÜKSƏK vəziyyətə 10 µs qoymalıyıq. PulseIn () funksiyasından istifadə edərək səsin səyahət müddətini oxumalı və bu dəyəri “duration” dəyişəninə qoymalısınız. Bu funksiyanın 2 parametri var, birincisi echo pininin adıdır, ikincisi üçün YÜKSƏK və ya LOW yaza bilərsiniz. Bu vəziyyətdə, YÜKSƏK, pulsin () funksiyasının sıçrayan səs dalğasının səbəb olduğu pinin YÜKSƏK getməsini gözləyəcəyi və zamanlamaya başlayacağı, səs dalğası bitəcək zaman pinin DÜŞÜK düşməsini gözləyəcəyi deməkdir. Sonda funksiya impulsun uzunluğunu mikrosaniyələrdə qaytaracaqdır. Məsafəni əldə etmək üçün müddəti 0.034-ə vuracağıq və əvvəllər bu tənliyi izah etdiyimiz kimi 2-yə böləcəyik. Sonda məsafənin dəyərini Serial Monitor-a yazdıracağıq.

Addımlar:

  1. Əvvəlcə şəkildə göstərildiyi kimi məftil birləşdirin
  2. Arduino IDE Software açın və kodunuzu yazın və ya aşağıdakı kodu yükləyin və açın
  3. Tools> Board> Arduino / Geniuno Uno seçərək öz Arduino lövhənizi seçin (bu halda Arduino Uno).
  4. COM Portunuzu seçin (ümumiyyətlə yalnız bir mövcud port görünür), Tools> Port> COM .. (Birdən çox port varsa, bir-bir sınayın)
  5. Ctrl + U və ya Sketch> Upload düymələrini basaraq kodunuzu yükləyin
  6. Ölçmə məlumatlarını göstərmək üçün Ctrl + Shift + M düymələrini basaraq Serial Monitor istifadə edə bilərsiniz (baud rate sürətinin 9600 olduğuna əmin olun)
Arduino Lövhəsinin Seçilməsi
Arduino COMPort-unun Seçilməsi
Kodun Yüklənilməsi
Serial Monitor Display (Ctrl+Shift+M)

Nəticələr:

Kodu yüklədikdən sonra məlumatları Serial Monitor ilə göstəririk. İndi sensorun qarşısında bir obyekt verməyə çalışırıq və ölçüyə baxırıq.

Göz önündə tutmaq üçün məsafəni ölçmək və Serial Monitordakı məsafə ilə müqayisə etmək üçün metrə istifadə edə bilərsiniz. LCD-də göstərmək istəyirsinizsə, ikinci qoşulma diaqramını izləyə və aşağıdakı kodu yükləyə bilərsiniz.

// ---------------------------------------------------------------- //
// Arduino Ultrasoninc Sensor HC-SR04
// Re-writed by Arbi Abdul Jabbaar
// Using Arduino IDE 1.8.7
// Using HC-SR04 Module
// Tested on 17 September 2019
// ---------------------------------------------------------------- //

#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");
}

Sxem

Arduino və Ultrasonik Sensor HC-SR04-un qoşulma diaqramı

Arduino LCD və Ultrasonik Sensor HC-SR04-un qoşulma diaqramı

Exit mobile version