Инструменты пользователя

Перевод этой страницы:

Инструменты сайта


Боковая панель

Для чего нужен ОрбиКрафт

Подсистемы конструктора

Инструкции по работе с ОрбиКрафт

Уроки

Лабораторная оснастка

Знакомство с Arduino

Полезная нагрузка на базе Arduino

Обратная связь

Новости

arduino_01

Это старая версия документа!


Сканирование объекта с помощью УЗ дальномера.

Знакомство с ультразвуковым дальномером HC-SR04.

Ультразвуковой дальномер HC-SR04 определяет расстояние до объектов с использованием ультразвука частотой 40 кГц. Таким же способом это делают летучие мыши и дельфины. Он излучает звук на частоте 40 кГц и слушает отраженное эхо. По времени движения звуковой волны туда и обратно рассчитывается расстояние до предмета.

На показания ультразвукового дальномера не влияет засветка от солнца и цвет предмета. Он позволяет обнаружить даже прозрачную поверхность предмета. Испытывает сложности с измерением расстояний до пушистых предметов.

Конфигурация выводов дальномера HC-SR04

Параметры HC-SR04

  • Напряжение питания: 5 В
  • Потребление в режиме тишины: 2 мА
  • Потребление при работе: 15 мА
  • Диапазон измерения расстояний: от 5 до 400 см
  • Угол наблюдения: 30°

Для работы с ультразвуковым дальномером необходимо установить библиотеку Ultrasonic от разработчика Erick Simões. Откройте меню Инструменты и выберите раздел Управления библиотеками.

Введите в строку поиска слово «ultrasonic».

Прокрутите перечень библиотек и найдите библиотеку Ultrasonic by Erick Simões

Нажмите на кнопку Установки.

Теперь можно открыть тестовый скетч в разделе меню Файл – Примеры – Ultrasonic и протестировать работу датчика.

Пример кода программы для Arduino

Ultrasonic.ino
#include <OrbicraftBus.h>
#include <Ultrasonic.h>
 
 * Module HR-SC04 (four pins)
 * ---------------------
 * | HC-SC04 | Arduino |
 * ---------------------
 * |   Vcc   |   5V    |
 * |   Trig  |   6     |
 * |   Echo  |   7     |
 * |   Gnd   |   GND   |
 * ---------------------
 
Message msg;
OrbicraftBus bus;
Ultrasonic ultrasonic(6, 7);  // подключаем  HC-SR04 к пинам 6 (Trig) и 7 (Echo)
int distance;
int16_t msgSize = 0;
 
void setup() {
  Serial1.begin(9600); // задаем скорость обмена информацией по Serial1   !!!
}
 
void loop() {
  distance = ultrasonic.read();  // считываем расстояние
  msgSize = bus.takeMessage(msg); // пробуем прочитать сообщение с помощью метода takeMessage
 
  if (msgSize > 0){ //если сообщение есть
    switch (msg.id){//в зависимости от идентификатора сообщения выполняем те или иные действия
 
      // Рассмотрим случай с идентификатором 2
        case 0x02:{
        String data = String(distance); // записываем показания датчика расстояния в переменную data
        bus.sendMessage(bus.obcAddress, 0, data); // передаем содержимое переменной data на БКУ
        break;
      }
    }
  }
}
// Следующий блок кода необходимо всегда добавлять в конец программы
// Функция вызывается автоматически и необходима для обработки сообщения
void serialEvent2() {
  bus.serialEventProcess();
}
arduino_01.1561550310.txt.gz · Последние изменения: 2020/03/25 16:29 (внешнее изменение)

Инструменты страницы