Каталог товаров
Клиенту
+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 Все права защищены. Использование материалов разрешено только с ссылкой на источник.

Рекомендуемые товары