Каталог товарів
Клієнту
Тема сайту:
+38 (066) 305-77-25
Наша адреса
Харків, тимчасово - доставка тільки Новою Поштою, УкрПоштою, МістЕкспрес, ROZETKA Delivery
Телефони
Графік роботи
  • Пн-Пт: з 9 до 18
  • Сб: з 10 до 17
  • Нд: з 11 до 16
E-mail
Ми в соцмережах
Перейти до контактів
0 0
Каталог
Головна
Закладки
0
Порівняти
0
Контакти

Інструкція по підключенню ультразвукового датчика HC-SR04 з Arduino

Інструкція по підключенню ультразвукового датчика HC-SR04 з Arduino
Вітаємо на нашому блозі! Сьогодні ми розглянемо, як використати ультразвуковий датчик відстані HC-SR04 у вашому наступному проєкті з Arduino. Цей датчик надає потужні можливості для вимірювання відстані до об'єктів на відстані до 13 футів (~4 метрів) з точністю до 3 мм. Ми детально розглянемо його функціональність, підключення до Arduino, налаштування програмного забезпечення та написання коду для отримання точних вимірювань.

Що таке ультразвук?

Ультразвук — це високочастотні звукові хвилі, частота яких перевищує верхню межу чутного діапазону людського слуху (більше 20 000 Гц). Людям доступний звуковий діапазон приблизно від 20 Гц до 20 000 Гц. Ультразвукові хвилі широко використовуються в різних застосуваннях, включаючи медичну діагностику, очищення, а також в електроніці для вимірювання відстані.

Огляд апаратної частини датчика HC-SR04

Ультразвуковий датчик відстані HC-SR04 складається з двох основних компонентів:


  1. Передавач (Триггер): Перетворює електричні сигнали в ультразвукові імпульси частотою 40 кГц.
  2. Приймач (Ехо): Вловлює відбиті ультразвукові хвилі та перетворює їх назад в електричні сигнали.

Технічні характеристики HC-SR04

  • Робоча напруга: 5 В постійного струму (DC 5V)
  • Робочий струм: 15 мА
  • Робоча частота: 40 кГц
  • Максимальна відстань: 4 метри
  • Мінімальна відстань: 2 см
  • Точність вимірювання: 3 мм
  • Кут вимірювання: 15 градусів
  • Вхідний сигнал тригера: 10 мікросекундний TTL імпульс
  • Розміри: 45 x 20 x 15 мм

Підключення HC-SR04 до Arduino

Розташування виводів датчика HC-SR04

Перед тим як підключати датчик до Arduino, ознайомтеся з розташуванням його виводів:

  • VCC: Підключається до живлення 5 В на Arduino.
  • Trig: Використовується для запуску ультразвукового імпульсу. Під час високого рівня сигналу (10 мікросекунд) датчик випромінює серію ультразвукових хвиль.
  • Echo: Вивід, який сигналізує про отримання відбитих ультразвукових хвиль. Ширина імпульсу пропорційна відстані до об'єкта.
  • GND: Заземлення. Підключається до GND на Arduino.

Схема підключення

Ось як правильно підключити HC-SR04 до Arduino:


Схема підключення HC-SR04 до Arduino

  1. VCC підключіть до 5V на Arduino.
  2. GND підключіть до GND на Arduino.
  3. Trig підключіть до цифрового виводу #9 на Arduino.
  4. Echo підключіть до цифрового виводу #10 на Arduino.

Встановлення бібліотеки NewPing

Для спрощення роботи з ультразвуковим датчиком HC-SR04 ми будемо використовувати бібліотеку NewPing. Вона дозволяє легко керувати кількома датчиками одночасно та отримувати результати у сантиметрах, дюймах або в часі.

Кроки для встановлення бібліотеки NewPing

  1. Відкрийте Arduino IDE.
  2. Перейдіть до меню Sketch > Include Libraries > Manage Libraries...
  3. У полі пошуку введіть "NewPing".
  4. Знайдіть бібліотеку NewPing від Tim Eckel і натисніть Install.


Встановлення бібліотеки NewPing через менеджер бібліотек Arduino IDE

Написання коду для HC-SR04

Після підключення датчика та встановлення бібліотеки NewPing можна переходити до написання коду для Arduino. Нижче наведено простий приклад, який відображає відстань у сантиметрах на серійному моніторі.

Приклад коду

// Підключення бібліотеки NewPing
#include "NewPing.h"

// Підключення HC-SR04 до виводів Arduino: Trig до 9-го, Echo до 10-го
#define TRIGGER_PIN 9
#define ECHO_PIN 10

// Максимальна відстань для пінгу (в сантиметрах)
#define MAX_DISTANCE 400        

// Налаштування пінів і максимальної відстані для NewPing
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
    Serial.begin(9600); // Ініціалізація серійного зв'язку
}

void loop() {
    Serial.print("Distance = ");
    Serial.print(sonar.ping_cm()); // Вимірювання відстані в сантиметрах
    Serial.println(" cm");
    delay(500); // Затримка 500 мс між вимірюваннями
}

Завантаження та тестування скетчу

  1. Підключіть Arduino до комп'ютера за допомогою USB-кабелю.
  2. Відкрийте Arduino IDE та вставте наведений вище код.
  3. Виберіть правильну плату та порт у меню Tools.
  4. Завантажте скетч на Arduino.
  5. Відкрийте Serial Monitor (Серіальний монітор) у Arduino IDE та встановіть швидкість передачі даних на 9600 bps.
  6. Направте датчик на різні об'єкти та спостерігайте за відображенням вимірюваних відстаней.


Відображення вимірюваної відстані в серійному моніторі

Пояснення коду

Давайте детально розглянемо, як працює наведений вище код:

  1. Підключення бібліотеки NewPing:
    #include "NewPing.h"
            
    Цей рядок підключає бібліотеку NewPing, яка спрощує роботу з ультразвуковим датчиком HC-SR04.
  2. Визначення пінів Trig та Echo:
    #define TRIGGER_PIN 9
    #define ECHO_PIN 10
    #define MAX_DISTANCE 400
            
    Тут ми визначаємо, до яких пінів Arduino підключені Trig та Echo. Також визначаємо максимальну відстань для вимірювання (400 см).
  3. Створення об'єкта sonar:
    NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
            
    Створюємо екземпляр класу NewPing, який буде використовуватися для вимірювання відстані.
  4. Функція setup():
    void setup() {
        Serial.begin(9600);
    }
            
    Ініціалізуємо серійний зв'язок зі швидкістю 9600 біт/с для відображення результатів на комп'ютері.
  5. Функція loop():
    void loop() {
        Serial.print("Distance = ");
        Serial.print(sonar.ping_cm());
        Serial.println(" cm");
        delay(500);
    }
            
    У безкінечному циклі вимірюємо відстань за допомогою функції ping_cm() та виводимо результат у серійному моніторі кожні 500 мілісекунд.

Інші корисні функції бібліотеки NewPing

Бібліотека NewPing пропонує кілька корисних функцій для розширення можливостей вашого проєкту:

Вимірювання у дюймах

Якщо ви бажаєте отримувати результати у дюймах замість сантиметрів, використовуйте функцію ping_in():

Serial.print(sonar.ping_in());
Serial.println(" in");

Отримання результатів з десятковими дробами

Для більш точної вимірюваності можна використовувати тривалісний режим замість режиму відстані:

Serial.print((sonar.ping() / 2) * 0.0343);
Serial.println(" cm");

Використання методу ping_median()

Метод ping_median(iterations) дозволяє підвищити точність вимірювань шляхом проведення кількох вимірювань та усереднення результатів:

int iterations = 5;
Serial.print((sonar.ping_median(iterations) / 2) * 0.0343);
Serial.println(" cm");

Цей метод виконує п'ять вимірювань (за замовчуванням) та усереднює їх, що дозволяє зменшити вплив випадкових помилок та шумів.

Висновок

Ультразвуковий датчик HC-SR04 є потужним та доступним інструментом для вимірювання відстані у ваших проєктах з Arduino. Завдяки низькому енергоспоживанню, доступній ціні та простоті підключення, він ідеально підходить для різноманітних застосувань, від робототехніки до систем безпеки.

Використовуючи бібліотеку NewPing, ви можете легко інтегрувати цей датчик у свої проєкти, отримуючи точні та надійні результати вимірювань. Експериментуйте з різними налаштуваннями та функціями бібліотеки, щоб максимально використовувати можливості HC-SR04 у ваших творчих і технічних ідеях.

Сподіваємося, що цей посібник був корисним для вас! Якщо у вас є питання або ви хочете поділитися своїми проєктами, залишайте коментарі нижче.


#Arduino #HC-SR04 #Ультразвук #Електроніка #DIY #Проєкти #НовийПочаток #Сенсори #Робототехніка #NewPing

© 2024 Мій Проект. Автор матеріалу Jazzzman Всі права захищено. Використання матеріалів дозволено лише з посиланням на джерело.

Рекомендовані товари