Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Подключение ультразвукового датчика к Ардуино

Самым распространенным ультразвуковым (УЗ) локатором для Arduino является модуль HC-SR04 [1]. Одним из недостатков данного устройства является отсутствие температурной компенсации, теоретически это свойство можно использовать для измерения температуры [2]. Существует подобный УЗ датчик US-100 в котором уже предусмотрена подобная компенсация. Датчик был приобретен на Али за 2,5 доллара.

Датчик поставляется в полиэтиленовом пакете.

Конструктивно датчик US-100 напоминает HC-SR04, единственным заметным отличием является второй контакт заземления и наличие перемычки для переключения режимов работы.

Датчик имеет габариты 44 х 26 х 23 мм и массу 8,4 г. Диаметр УЗ излучателя и приемника составляет 16 мм.

Дальность действия датчика составляет 4 метра, угол зрения 15 градусов, то есть эти параметры аналогичны таковым у HC-SR04. Диапазон рабочих температур датчика составляет от -20 до +70 градусов Цельсия [3,4].

Схема принципиальная УЗ датчика


Рассматриваемый датчик может работать при напряжении питания от 2,4 В до 5,5 В [3,4], что выгодно отличает US-100 от HC-SR04. HC-SR04 требует для питания строго напряжения 5 В. Данное обстоятельство позволяет использовать US-100 вместе с платами Arduino, рассчитанными как на 5 В так и на 3,3 В без дополнительных DC-DC преобразователей.

При надетой перемычке датчик передает информацию через последовательный порт, программу для Arduino позволяющую использовать US-100 в данном режиме, можно взять здесь [3].

В этом режиме датчик потребляет 2,5 мА при напряжении 5 В и 3,25 мА при 3,3 В.

При снятой перемычке логика работы US-100 ничем не отличается от таковой у HC-SR04 [1, 5]. Как показал опыт автора в данном случае нельзя подключать датчик к 0 и 1 портам Arduino.

В этом режиме датчик потребляет 2,4 мА при 5 В и 1,8 мА при 3,3 В.

Датчик US-100 корректно измеряет расстояние до твердой поверхности. При облучении ультразвуком ворсистой поверхности, рассматриваемый датчик завышает расстояние до препятствия, а в непосредственной близости выдает, что расстояние превышает радиус действия датчика. В целом датчик существенно превосходит HC-SR04 по точности измерения расстояния, кроме этого US-100 может передавать данные по последовательному интерфейсу, имеет более широкий диапазон напряжений питания. Все это по субъективному мнению автора оправдывает заметно более высокую стоимость US-100 по сравнению с HC-SR04.

Полезные ссылки

  1. 2shemi.ru/ultrazvukovoj-datchik-izmereniya-rasstoyanij-hc-sr04/
  2. 2shemi.ru/izmerenie-temperatury-s-pomoshhyu-ultrazvukovogo-datchika/
  3. mirrobo.ru/micro/datchik-rasstojanija-us-100/
  4. dvrobot.ru/238/320/411.html
  5. robocraft.ru/blog/electronics/772.html

Все файлы для работы УЗ датчика (прошивка, схема, даташит) в архиве по ссылке. Автор обзора — Denev.


Подключаем ультразвуковой дальномер HC-SR04 к Arduino. » BlogLinux.ru

Работа модуля HC-SR04 основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, не сложно вычислить расстояние до препятствия.



Характеристики:

Напряжение питания: 5 В.
Потребление в режиме тишины: 2 мА.
Потребление при работе: 15 мА.
Диапазон расстояний: 2–400 см.
Эффективный угол наблюдения: 15°.
Рабочий угол наблюдения: 30°.
Выходы:

VCC – питание.
GND – общий провод.
Trig – цифровой вход для включения измерения.
Echo – после завершения измерения, на этот выход будет подана логическая единица на

время, пропорциональное расстоянию до объекта.

Принцип работы:

На вход Trig датчика подаем импульс высокого уровня длительностью 10–15

микросекунд(μs). Датчик отправляет ультразвуковой сигнал «chirp» из восьми коротких

импульсов частотой выше предела диапазон слуха человека 40 кГц. Электроника датчика знает

скорость звука в воздухе. Измеряя время между отправленным и принятым ультразвуком,

ультразвуковой датчик HC-SR04 формирует выходной сигнал. Спустя примерно микросекунду ультразвуковой датчик HC-SR04 выдает на выходе Echo импульс высокого уровня длительностью до 38 миллисекунд(ms). Если препятствий не обнаружено, то на выходе будет сигнал с

длительностью 38 мс. Длина импульса на выходе Echo пропорциональна расстоянию до препятствия.

Расстояние вычисляется по формуле: S=F/58, где

S – расстояние в сантиметрах,

F – продолжительность импульса в микросекундах.

Следующее измерение рекомендуется выполнять не ранее чем через 50 мс.

Поскольку в основе работы устройства используется звук, сонар плохо подходит для определения расстояния до звукопоглощающих объектов таких как мебель с высоким ворсом или персидских котов. Для определения расстояний в таком окружении подойдёт инфракрасный дальномер.


Код:
// Укажем, что к каким пинам подключено
int trigPin = 10;
int echoPin = 11;
 
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop()
{
int duration, distance; // для большей точности установим значение LOW на пине Trig
digitalWrite(trigPin, LOW);
delayMicroseconds(2); // Теперь установим высокий уровень на пине Trig
digitalWrite(trigPin, HIGH); // Подождем 10 μs
delayMicroseconds(10);
digitalWrite(trigPin, LOW); // Узнаем длительность высокого сигнала на пине Echo
duration = pulseIn(echoPin, HIGH); // Рассчитаем расстояние
distance = duration / 58;
// Выведем значение в Serial Monitor
Serial.print(distance);
Serial.println(" cm");
delay(100);
}


Функция pulseIn() считывает длину сигнала на заданном порту (HIGH или LOW). Например, если задано считывание HIGH функцией pulseIn(), функция ожидает пока на заданном порту не появиться HIGH. Когда HIGH получен, включается таймер, который будет остановлен когда на порту вход/выхода будет LOW. Функция pulseIn() возвращает длину сигнала в микросекундах. Функция возвращает 0, если в течение заданного времени (тайм аута) не был зафиксирован сигнал на порту.

Это очень простой по принципу работы сенсор. Его легко подключается, простота в работе. Но есть и другие сенсоры с разными интерфейсами подключения , более умны и т.д. Например URM37.




Датчик расстояния - MySensors

/**

* The MySensors Arduino library handles the wireless radio link and protocol

* between your home built sensors/actuators and HA controller of choice.

* The sensors forms a self healing radio network with optional repeaters. Each

* repeater and gateway builds a routing tables in EEPROM which keeps track of the

* network topology allowing messages to be routed to nodes.

*

* Created by Henrik Ekblad <[email protected]>

* Copyright (C) 2013-2015 Sensnology AB

* Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors

*

* Documentation: http://www.mysensors.org

* Support Forum: http://forum.mysensors.org

*

* This program is free software; you can redistribute it and/or

* modify it under the terms of the GNU General Public License

* version 2 as published by the Free Software Foundation.

*

*******************************

*

* REVISION HISTORY

* Version 1.0 - Henrik EKblad

*

* DESCRIPTION

* This sketch provides an example how to implement a distance sensor using HC-SR04

* http://www.mysensors.org/build/distance

*/

 

// Enable debug prints

#define MY_DEBUG

 

// Enable and select radio type attached

#define MY_RADIO_RF24

//#define MY_RADIO_RFM69

 

#include <MySensors.h>  

#include <NewPing.h>

 

#define CHILD_ID 1

#define TRIGGER_PIN  6  // Arduino pin tied to trigger pin on the ultrasonic sensor.

#define ECHO_PIN     5  // Arduino pin tied to echo pin on the ultrasonic sensor.

#define MAX_DISTANCE 300 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

unsigned long SLEEP_TIME = 5000; // Sleep time between reads (in milliseconds)

 

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

MyMessage msg(CHILD_ID, V_DISTANCE);

int lastDist;

bool metric = true;

 

void setup()  

{

  metric = getControllerConfig().isMetric;

}

 

void presentation() {

  // Send the sketch version information to the gateway and Controller

  sendSketchInfo("Distance Sensor", "1.0");

 

  // Register all sensors to gw (they will be created as child devices)

  present(CHILD_ID, S_DISTANCE);

}

 

void loop()      

{    

  int dist = metric?sonar.ping_cm():sonar.ping_in();

  Serial.print("Ping: ");

  Serial.print(dist); // Convert ping time to distance in cm and print result (0 = outside set distance range)

  Serial.println(metric?" cm":" in");

 

  if (dist != lastDist) {

      send(msg.set(dist));

      lastDist = dist;

  }

 

  sleep(SLEEP_TIME);

}

Поворотный радар на основе HC-SR04 и Arduino

Давайте попробуем сделать простой радар используя Arduino, ультразвуковой датчик HC-SR04 (HC-SR05) и сервопривод. Работу скетча можно будет посмотреть в среде разработки Arduino IDE через «Инструменты -> Плоттер по последовательному соединению», либо нажав сочетание клавиш CTRL+Shift+L.

Внимание!!! Этот инструмент появился с версии Arduino IDE 1.6.6

Компоненты:

  • Arduino Nano
  • HC-SR04 модуль ультразвукового датчика
  • Макетная плата
  • Соединительные провода
  • Клеевой пистолет
  • Сервопривод SG90

Схема соединения:

pin Nano pin HC-SR04 Сервопривод SG90

+5

+5 +5 (красный)
GND GND GND (коричневый)
D6  Trig  
D5 Echo  
D9     SIG (желтый)

 

 

Программный код

 

 

Нажмите, что бы увидеть код

#include "Servo.h" //Подключение библиотеки управления сервоприводом
int trigPin = 6; 
int echoPin = 5;
long duration;
int distance; //переменная для вычисления расстояния
Servo servo; //создаем объект типа Servo

void setup()
{
  //устанавливает режим работы портов на ардуино
  // - выход
  pinMode(trigPin, OUTPUT); 
  // - вход
  pinMode(echoPin, INPUT);
  //Определяем скорость передачи по последовательному порту
  Serial.begin(9600);
  // Указываем порт для управления сервоприводом
  servo.attach(9);
}

void loop()
{
  //Функция поворота сервопривода налево
  left();
  //Функция поворота сервопривода направо
  right();
}

void left()
{
  for (int pos = 0; pos <= 180; pos += 1)
  {
    servo.write(pos);
    
Serial
.print(pos);    Serial.print(" ");    distance = echoloop();    Serial.println(distance);    delay(50);  } } void right() {  for (int pos = 180; pos >= 0; pos -= 1)  {    servo.write(pos);    Serial.print(pos);    Serial.print(" ");    distance = echoloop();    Serial.println(distance);    delay(50);  } } // функция для определения расстояние до объекта int echoloop() {  long duration, cm;   // для большей точности установим значение LOW на пине Trig  digitalWrite(trigPin, LOW);  delayMicroseconds(2);  // Теперь установим высокий уровень на пине Trig  digitalWrite(trigPin, HIGH);  // Ждем 10 милисекунд  delayMicroseconds(10);  digitalWrite(trigPin, LOW);   // Узнаем длительность высокого сигнала на пине Echo  duration = pulseIn(echoPin, HIGH);  //вычисляем расстояние до объекта  cm = duration / 58;  return cm; }

 

 

 

Результат 

 

Ультразвуковой датчик

HC-SR04 с руководством по Arduino

Ультразвуковой датчик

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

Конфигурационный вывод HC-SR04 - это VCC (1), TRIG (2), ECHO (3) и GND (4).Напряжение питания VCC составляет + 5V , и вы можете подключить вывод TRIG и ECHO к любому цифровому вводу / выводу на вашей плате Arduino.

материалов , которые нам понадобятся для создания этого проекта:

1. Arduino UNO R3 Ch440 (вы можете использовать любые платы Arduino)

2. Ультразвуковой датчик HC-SR04

3. Провода перемычки между мужчинами

4. Макетная плата

Соединение Arduino и ультразвукового датчика HC-SR04

Для генерации ультразвука нам нужно установить триггерный вывод на High State для 10 мкс .Это отправит звуковой импульс за 8 циклов, который будет перемещаться со скоростью звука и будет принят в Echo Pin. Echo Pin выведет , время в микросекундах, когда прошла звуковая волна.

Например, если объект находится на расстоянии 20 см от датчика, а скорость звука составляет 340 м / с, или 0,034 см / мкс, звуковой волне потребуется пройти около 588 микросекунд. Но то, что вы получите от вывода Echo, будет удвоить , потому что звуковая волна должна пройти вперед и отскочить назад .Итак, чтобы получить расстояние в сантиметрах, нам нужно умножить полученное значение времени прохождения от вывода эхо-сигнала на 0,034 и разделить его на 2.

Для программного кода сначала нам нужно определить триггерный вывод и эхо-вывод, которые связаны на плату Arduino. В этом проекте EchoPin прикреплен к D2 , а TrigPin - к D3. Затем определите переменные для расстояния (int) и продолжительности (long).

В цикле сначала вы должны убедиться, что триггерный вывод свободен, поэтому мы должны установить этот вывод на LOW State всего на 2 мкс .Теперь для генерации волны ультразвука мы должны установить trigPin на HIGH State на 10 мкс . Используя функцию pulseIn () , вы должны прочитать время прохождения и поместить это значение в переменную «duration». Эта функция имеет 2 параметра, первый - это имя вывода эхо-сигнала, а для второго вы можете указать HIGH или LOW. В этом случае ВЫСОКИЙ означает, что функция pulseIn () будет ждать, пока вывод перейдет в ВЫСОКИЙ уровень, вызванный отраженной звуковой волной, и начнет отсчет времени, затем она будет ждать, пока вывод перейдет в НИЗКИЙ, когда звуковая волна закончится, что остановит отсчет времени.В конце функция вернет длину импульса в микросекундах. Чтобы получить расстояние, мы умножим продолжительность на 0,034 и разделим на 2, как мы объясняли это уравнение ранее. В конце мы напечатаем значение расстояния на последовательном мониторе.

Шаги:

1. Сначала выполните электромонтаж, как показано на рисунке

2. Откройте программное обеспечение Arduino IDE и запишите свой код, или загрузите код ниже и откройте его

3. Выберите свою собственную плату Arduino (в данном случае Arduino Uno), выбрав Tools > Board > Arduino / Geniuno Uno

4.Выберите свой COM-порт (обычно отображается только один существующий порт), Инструменты > Порт > COM .. (Если есть несколько портов, попробуйте один за другим)

5. Загрузите свой код с помощью нажатие Ctrl + U или Sketch > Загрузить

6. Для отображения данных измерений вы можете использовать Serial Monitor, нажав Ctrl + Shift + M (убедитесь, что скорость передачи данных 9600)

Результаты:

После загрузки кода отобразите данные с помощью Serial Monitor.Теперь попробуйте поставить объект перед датчиком и посмотреть результат измерения.

Для размышления, вы можете использовать ручной ленточный измеритель, чтобы измерить расстояние и сравнить его с расстоянием на последовательном мониторе. Если вы хотите отобразить его на ЖК-дисплее, вы можете следовать второй схеме подключения и загрузить приведенный ниже код.

Как Arduino работает с ультразвуковым датчиком?

Как автоматически включается свет в коридоре? Почему автоматические двери открываются, когда вы приближаетесь? Почему кран лавабо может включаться и выключаться автоматически? Думаю, у вас хватит уверенности сказать: "Я знаю!" Потому что у всех есть датчики!

Да, это из-за датчика, но знаете ли вы, как датчик работает? Как он обнаружил ваше присутствие? В сегодняшней статье мы разделим большую концепцию датчиков на отдельные части.Например, что датчик использует для определения расстояния и как полученные данные отправляются обратно?

Этот блог будет охватывать:

  • Принципы ультразвукового датчика для определения расстояния
  • Подробная информация об ультразвуковых датчиках и их функциях
  • Как ультразвуковой датчик работает с Arduino
  • Выбор ультразвукового датчика - ультразвуковой датчик Grove или HC-SR04?
  • Проекты и приложения Arduino с ультразвуковым датчиком

Arduino и ультразвуковой датчик - как они работают вместе?

Введение в ультразвуковой датчик

Если у вас есть машина, задний радар очень поможет вам в повседневной жизни, не так ли? Это точнее, чем невооруженным глазом, и намного удобнее.

Радар определяет расстояние с помощью ультразвукового датчика, но как именно работает ультразвуковой датчик?

Ультразвуковой датчик излучает ультразвук с частотой 40000 Гц, который распространяется по воздуху и отскакивает, если на его пути есть объект или препятствие. Когда датчик принимает отраженную волну, расстояние может увеличиваться за счет скорости звука и времени. Используя формулу, расстояние = скорость x время.

Ссылка: Tutorialspoint

Параметры ультразвукового датчика Grove

Ультразвуковой датчик расстояния Grove может измерять расстояние от 3 см до 350 см с точностью до 2 мм.Это идеальный ультразвуковой модуль для измерения расстояния, датчиков приближения и ультразвуковых детекторов.

Технические данные:

Как подключить Arduino к ультразвуковому датчику Grove

  1. Подключите Ultrasonic Ranger к порту D7 Grove-Base Shield
  2. Подключите Grove - Base Shield к Seeeduino
  3. Подключите Seeeduino к ПК через USB-кабель

Все приведенные выше списки продуктов доступны в Seeed Studio.


  1. Контакты ввода / вывода : в нашем продукте интегрирован однокристальный микрокомпьютер , а сигнал передачи и сигнал приема совместно используют один вывод за счет мультиплексирования с временным разделением, поэтому занят только одним выводом ввода / вывода .
  2. Напряжение : HC-SR04 поддерживает только напряжение 5 В , а ультразвуковой датчик расстояния Grove поддерживает 5 В и 3,3 В .
  3. Сопряжение : Grove - ультразвуковой датчик расстояния можно напрямую подключить к вводу / выводу Raspberry Pi (3,3 В), тогда как для HC-SR04 требуется схема преобразования напряжения.
  4. Бонус : Seeed предоставляет полных документов и библиотек для Arduino, Python и Codecraft, позволяет легко использовать наш Grove - ультразвуковой датчик расстояния с Arduino и Raspberry pi.

Таким образом, нет причин не выбрать наш ультразвуковой датчик расстояния Grove, если вам нужен более удобный и универсальный ультразвуковой датчик!


Проекты и приложения Arduino с ультразвуковым датчиком

Играйте с Arduino

После того, как вы получили все упомянутые выше продукты и соединили их, вы можете приступить к следующим проектам:

от Seeed Studio

Если вам нужна помощь с загрузкой кода, вы можете узнать, как загрузить код.

  • Шаг 4. Мы сможем увидеть отображение расстояния на терминале, как показано:

Arduino - Ультразвуковой датчик

от Tutorialspoint

Следуйте принципиальной схеме и выполните соединения, как показано на изображении ниже.

Откройте на компьютере программу Arduino IDE. Добавление кодирования на языке Arduino позволит вам управлять вашей схемой. Откройте новый файл эскиза, нажав кнопку «Создать».

Ультразвуковой датчик имеет четыре клеммы - + 5V, триггер, эхо и заземление, подключенные следующим образом -

  • Подключите вывод + 5V к + 5V на плате Arduino.
  • Подключите триггер к цифровому контакту 7 на плате Arduino.
  • Подключите Echo к цифровому выводу 6 на плате Arduino.
  • Соедините GND с GND на Arduino.

В программе будет отображаться расстояние, измеренное датчиком в дюймах и сантиметрах через последовательный порт.

Для получения подробной информации о коде Arduino посетите официальный сайт Tutorialspoint.

Simple Arduino и HC-SR04 (заменяемый ультразвуковым датчиком Grove)

по схеме Instructables

Для начала нужна удобная для новичков настройка? Этот проект требует минимального количества компонентов и определенно поможет вам начать работу с ультразвуковыми датчиками!

Что вам понадобится:

  • Arduino UNO R3
  • HC-SR04 Ультразвуковой датчик
  • Зеленый и красный светодиоды
  • 2 резистора по 560 Ом (зеленый, синий, коричневый, золотой)
  • Половина макета
  • 8 проводов для подключения вилка / вилка
  • A линейка для измерения сантиметров (или серийный монитор)

Когда вы все собрали, пора соединить все компоненты!

Затем загрузите эскиз, скопируйте его на свой Arduino и наблюдайте за мигающими огнями!

Для получения более подробной информации о коде Arduino посетите официальный сайт обучающей схемы

.

Облако молний в помещении

от Seeed Community

Хотите украсить свое жилое пространство прохладным освещением? Попробуйте этот проект, чтобы создать ощущение шторма в интерьере!

Что вам понадобится:

  • Плата Seeeduino
  • Grove - Base Shield
  • Блок питания настенного адаптера - 9 В C 1A
  • Цифровая гибкая светодиодная лента RGB 30 светодиодов - 1 метр см и 50 см

Интересно звучит? Щелкните здесь для получения дополнительной информации и инструкций!


Резюме

Это все об ультразвуковых датчиках! Мы ответили на ваш вопрос? Мы обсудили, что такое ультразвуковые датчики и как они работают.Мы также рассказали о HC-SR04 и нашем ультразвуковом датчике расстояния Grove, а также о некоторых проектах и ​​руководствах по нему.

Так чего же вы ждете? Попробуйте наш Grove - ультразвуковой датчик расстояния сегодня!

Следите за нами и ставьте лайки:

Продолжить чтение

Как использовать ультразвуковой датчик в Arduino


Следующий документ содержит некоторую полезную информацию об ультразвуковой системе Arduino. датчики.С помощью этого датчика вы можете легко измерить расстояние между объектами и генерировать события в случае определенных измерений. В руководстве представлены некоторые основные определения об ультразвуковом датчике и о том, как подключить его к Arduino и управляйте им со своего компьютера с помощью Ozeki 10. Итак, приступим.

Что такое ультразвуковой датчик?

Ультразвуковой датчик использует SONAR для определения расстояния до объекта. прямо как летучие мыши. Он предлагает отличное бесконтактное обнаружение дальности с высокой точность и стабильные показания в удобном корпусе от 2 см до 400 см или от 1 дюйма до 13 футов.

Как работает ультразвуковой датчик?

Ультразвуковые датчики работают, испуская звуковые волны на слишком высокой для человека частоте. слышать. Затем они ждут, пока звук не отразится обратно, рассчитывая расстояние. в зависимости от необходимого времени. Это похоже на то, как радар измеряет время. требует, чтобы радиоволна вернулась после удара по объекту.

Схема подключения кнопки Arduino

Рисунок 1 - Схема подключения ультразвукового датчика Arduino

Как использовать ультразвуковой датчик Arduino в Ozeki

Соединение ультразвукового датчика пересылает данные измерений от ультразвукового датчика к выбранному соединению Ozeki.Данные ультразвуковых измерений указаны в см. Вы всегда можете узнать текущее расстояние между любым объектом и датчиком. Можно установить порог изменения измерения, который будет генерировать автоматические события каждый раз, когда измерение превышает пороговое значение. Чтобы использовать ультразвуковой датчик в Ozeki, вам сначала необходимо загрузить Ozeki Robot Developer. Озэки Robot Developer установит библиотеки Arduino, необходимые для эффективного использования этого датчика.

Скачать Ozeki Robot Developer

После установки Ozeki Robot Developer вам необходимо загрузить управляющий код ультразвукового датчика. к вашему Arduino.Вы можете найти код и инструкции по загрузке на следующих страницах. Процесс загрузки состоит из двух шагов: сначала вам нужно отформатировать EEPROM Arduino, тогда вам нужно загрузить контрольный код. Процедура очень проста, требуется всего лишь несколько секунд.

Загрузите код ультразвукового датчика в Arduino Uno
Загрузите код ультразвукового датчика в Arduino Mega 2560
Загрузите код ультразвукового датчика в Arduino Nano
Загрузите код ультразвукового датчика в Raspberry Pi
Загрузите код ультразвукового датчика в Ozeki Matrix

Датчики arduino и Ozeki будут обмениваться данными через порт USB с использованием протокола ультразвукового датчика Ozeki.Этот Протокол позволяет использовать датчик прямо на вашем ПК. Вы сможете управлять этим датчиком через Интернет. пользовательский интерфейс или вы сможете общаться с ним с помощью Ozeki Chat. Вы можете узнать больше об управлении чатом на следующей странице.

Как общаться с ультразвуковым датчиком в чате

Важно понимать управление чатом, потому что когда вы создаете робота, вы хотите управлять этим датчиком, отправляя и получая сообщения.если ты откройте приложение Ozeki Robot Developer, вы увидите, кому вы можете написать C # .Net программа для работы с этим датчиком.

Шаги подключения

  1. Подключите ультразвуковой датчик к Arduino, используя схему подключения
  2. Подключите плату Arduino к компьютеру
  3. Проверьте COM-порты, чтобы убедиться, что ваш Arduino подключен
  4. Откройте приложение Arduino на своем ПК
  5. Загрузить пример кода в микроконтроллер
  6. Откройте графический интерфейс Ozeki 10 в своем браузере
  7. Выберите подключение ультразвукового датчика
  8. Нажмите «Измерить», чтобы получить данные с датчика

Обзор системы

Предлагаемая нами система состоит из ультразвукового датчика, подключенного к аналоговому порту. вашего Arduino.Arduino будет отвечать за чтение данных с этого устройства. в настоящее время. Мозг системы будет работать на ПК (рисунок 2). На ПК Озэки 10 смогут управлять общением. Вы можете легко запустить Ozeki 10 с помощью веб-браузера.

Рисунок 2 - Конфигурация системы ультразвукового датчика, подключенного к ПК с помощью Arduino

Предварительные требования

  • Ультразвуковой датчик
  • Ozeki 10 установлен на вашем компьютере
  • Программируемая плата (Arduino Mega / Nano / Uno, ультразвуковой модуль Ozeki или Raspberry Pi)
  • USB-кабель необходим между Arduino Mega / Nano / Uno, ультразвуковым модулем Ozeki и вашим компьютером

Шаг 1. Подключите ультразвуковой датчик к Arduino

Вы можете увидеть, как подключить ультразвуковой датчик на любую из следующих досок:

Ваш браузер не поддерживает видео тег.

После подключения подключите плату к компьютеру!

Шаг 2 - Загрузите код в микроконтроллер

(Вот код для загрузки)

Ваш браузер не поддерживает видео тег.

Шаг 3 - Запустите Ozeki 10, чтобы опробовать ультразвуковой датчик

Ваш браузер не поддерживает видео тег.

Шаг 4 - Настройте ультразвуковой датчик в Ozeki 10

Чтобы иметь возможность настроить ультразвуковой датчик (подключенный к Arduino) в Ozeki 10, установленный на вашем компьютере, вам необходимо откройте графический интерфейс пользователя (GUI) Ozeki 10.Вы можете открыть графический интерфейс, введя URL-адрес компьютера в свой веб-браузер. Например, если у нашего ПК IP-адрес 192.168.1.5, мы бы введите http://192.168.1.5:9513 в наш веб-браузер.

Шаг 5 - Изучите протокол ультразвукового датчика

Ультразвуковой датчик может связываться с Озэки через следующий протокол.

Ссылки:
https://www.arrow.com
https://www.tutorialspoint.com


Проекты Arduino: ультразвуковой датчик расстояния

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

Этот проект будет разделен на две части. Мы хотим создать устройство, которое будет определять расстояние до движущегося объекта, передавать это расстояние в последовательный порт и отображать расстояние на ЖК-экране. И важно, чтобы расстояние было в метрах, чтобы мы могли легко его воспринять и понять.

Чтобы упростить проект, мы будем использовать ЖК-дисплей с преобразователем I2C, поэтому нам понадобится всего 4 кабеля для его подключения к Arduino.Нам также нужно будет добавить в скетч дополнительную библиотеку, но не волнуйтесь! легко скачать.

Ультразвуковой датчик расстояния

Вот необходимая деталь:

Начнем с простого. Как мы отображаем расстояние на последовательном порту?

Сначала необходимо выполнить подключения, как показано на схеме ниже. Нам пока не нужно добавлять ЖК-дисплей.

Вот как это должно выглядеть, очень просто, правда? всего 4 кабеля, плата Arduino Uno и ультразвуковой датчик.

Код

Вот что вы должны увидеть на последовательном порту.

Хорошо, половина проекта готова, теперь давайте добавим ЖК-дисплей, вот как вы должны его подключить.

Затем нужно скачать библиотеку. Вы можете скачать его из среды разработки Arduino. Просто откройте Sketch >> Включить библиотеку >> Управление библиотеками , а затем найдите LCD I2C .

Код, который мы должны загрузить, чем-то похож на первый, с той разницей, что на этот раз вместо отображения на последовательном интерфейсе мы отображаем значения на ЖК-дисплее.

И вот оно!

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

Вам также может понравиться:

Ультразвуковой датчик * - Код: Robotics

ДОПОЛНИТЕЛЬНЫЙ КОМПОНЕНТ : Комплект SparkFun RedBot Kit НЕ включает ультразвуковой датчик. Однако ультразвуковой датчик HC-SR04 можно легко подключить к RedBot.Возможно, ваш учитель добавил этот датчик в ваш робототехнический комплект.

Ультразвуковой датчик использует звуковые волны для измерения расстояния. Датчик имеет передатчик (т. Е. Динамик), который издает высокочастотный звук (за пределами диапазона человеческого слуха). Датчик имеет приемник (то есть микрофон), который обнаруживает эхо высокочастотного звука, когда он отражается от объекта. Вы можете рассчитать расстояние между датчиком и ближайшим объектом, измерив, сколько времени требуется для появления эхо-сигнала.

Ультразвуковой датчик (HC-SR04)

Если вы хотите добавить ультразвуковой датчик на переднюю часть RedBot, вам потребуются:

Ультразвуковой датчик HC-SR04 измеряет расстояния в узком конусе около 15 ° спереди. датчика. Этот датчик может обнаруживать препятствия на расстоянии до 400 см (около 13 футов). Расстояния, рассчитанные на основе измерений сенсора, очень точны и составляют около 3 мм (около 0,1 дюйма) от фактического расстояния.

Ультразвуковой датчик может использоваться для выполнения нескольких полезных действий робота:

  1. Робот может измерять расстояние до ближайшего объекта на своем пути.

  2. Робот может избегать столкновений с объектами на своем пути.

  3. Робот может найти ближайший объект при сканировании на 360 ° и подъехать к нему

При необходимости используйте перемычки для соединения контактов ультразвукового датчика с открытыми контактами в переднем левом углу Материнская плата RedBot:

Для выводов 5V и GND на материнской плате RedBot вы можете использовать выводы, смежные с A0 или A1 (подойдет любая сторона).Это означает, что три провода будут подключены с одной стороны (например, сторона A0), а четвертый провод подключен к контакту ввода-вывода на другой стороне (например, A1).

При необходимости используйте липкую ленту или поролоновую ленту, чтобы закрепить ультразвуковой датчик в передней части робота на верхней части его шасси. Передатчик и приемник датчика должны быть обращены вперед, как пара глаз. Датчик будет установлен «в перевернутом виде» проводами вверх.

Ультразвуковой датчик, установленный на передней части RedBot

  1. Возьмите кусок ленты на липучке («липучка») или двусторонней ленты из пеноматериала размером примерно 1 дюйм × 0.5 дюймов и разрежьте его пополам, чтобы сформировать две части размером примерно 0,5 дюйма × 0,5 дюйма.

  2. Поместите один кусок ленты на верхнюю сторону цилиндра передатчика, а другой кусок ленты на верхнюю сторону цилиндра приемника.

  3. Прижмите датчик «вверх ногами» к переднему краю верхней части шасси робота, чтобы он надежно закрепился. Убедитесь, что датчик направлен вперед.

Чтобы использовать ультразвуковой датчик в приложении робота, вам необходимо:

  1. Объявить глобальные переменные для хранения номеров контактов ультразвукового датчика

  2. Установить режимы контактов для ультразвукового датчика и выключить его передатчик

  3. Вызов пользовательской функции для измерения расстояния до ближайшего объекта

Вам потребуется создать глобальные переменные для хранения номеров контактов передатчика (Trig) и приемника (Echo) ультразвукового датчика, которые должны быть подключен к контактам ввода / вывода A0 и A1 на печатной плате RedBot.Добавьте этот код перед функцией setup () :

 

int TRIG_PIN = A0;

int ECHO_PIN = A1;

Вам необходимо установить режимы вывода для передатчика ультразвукового датчика (Trig) и приемника (Echo). Добавьте этот код в функцию setup () :

 

pinMode (TRIG_PIN, OUTPUT);

pinMode (ECHO_PIN, INPUT);

digitalWrite (TRIG_PIN, LOW);

Обратите внимание, что был включен оператор digitalWrite () , чтобы гарантировать, что передатчик выключен ( LOW ) при первом запуске приложения.

Пользовательская функция с именем measureDistance () использует показания ультразвукового датчика для измерения расстояния между датчиком и ближайшим объектом.

Функция measureDistance () вернет расстояние как значение с плавающей запятой (десятичное). Функция вернет расстояние в дюймах, но вы можете изменить оператор return в конце функции, чтобы вернуть расстояние в сантиметрах.

Ваш код должен присвоить возвращаемое значение расстояния локальной переменной, а затем выполнять действия на основе значения переменной:

 

float distance = measureDistance ();

Вам потребуется добавить код для выполнения действий на основе измерения расстояния.Например, если расстояние меньше 12 дюймов, вы можете затормозить двигатели робота, чтобы избежать столкновения. Затем вы можете изменить направление робота, прежде чем снова начать движение.

Добавить пользовательскую функцию measureDistance () после функция loop () :

 

float measureDistance () {

long без знака start_time, end_time, pulse_time;

digitalWrite (TRIG_PIN, HIGH);

delayMicroseconds (10);

digitalWrite (TRIG_PIN, LOW);

в то время как (digitalRead (ECHO_PIN) == 0);

start_time = micros ();

в то время как (digitalRead (ECHO_PIN) == 1);

end_time = micros ();

pulse_time = end_time - время начала;

если (Pulse_time> 23200) pulse_time = 23200;

float dist_cm = pulse_time / 58.0;

с плавающей запятой dist_in = pulse_time / 148.0;

задержка (60);

возврат dist_in;

}

Чтобы проверить свой ультразвуковой датчик, вы можете просмотреть измерения расстояния от датчика с помощью последовательного монитора в редакторе кода Arduino.

Добавьте этот кодовый оператор в функцию setup () :

Это запускает последовательное соединение данных между вашим роботом и вашим компьютером и устанавливает скорость передачи данных на 9600 бит в секунду.

Добавьте этот код в loop () функция :

 

float distance = measureDistance ();

Serial.print (расстояние);

Serial.println ("дюймы");

Обязательно добавьте пользовательскую функцию measureDistance () после функции loop () .

После загрузки приложения на робота не отключите USB-кабель. Вы должны держать робота подключенным к вашему компьютеру, чтобы обеспечить последовательную передачу данных.

В редакторе кода Arduino откройте последовательный монитор, чтобы вы могли просмотреть последовательные данные:

  • Arduino Create (веб-редактор): Щелкните ссылку меню Monitor в левой навигационной панели, чтобы отобразить последовательный монитор в средней панели.

  • Arduino IDE (Desktop Editor): В меню Tools выберите «Serial Monitor». Появится новое окно с монитором последовательного порта.

Редактор может обнаружить последовательное соединение через несколько секунд.Затем вы должны увидеть измерения датчика, отображаемые в окне последовательного монитора.

Поместите руку (или объект) перед ультразвуковым датчиком и переместите руку (или объект) дальше или ближе, чтобы увидеть, как изменяются измерения расстояния. При желании можно воспользоваться линейкой или рулеткой, чтобы проверить точность измерения расстояний.

Мелкие объекты (например, ваша рука) можно точно обнаружить, если они находятся в пределах примерно 24 дюймов. Для более дальних расстояний объект должен иметь большую площадь поверхности, чтобы производить точные измерения.

Ультразвуковой датчик Wemos Mini и HC-SR04

Ультразвуковой датчик HC-SR04 использует гидролокатор для определения расстояния до объекта, как это делают летучие мыши или дельфины. Ультразвуковой дальномер HC-SR04 обеспечивает измерение от 2 до 400 см, точность измерения может достигать 3 мм. В состав модулей входят ультразвуковые передатчики, приемник и цепь управления.

Как это работает:
(1) Запуск ввода-вывода для сигнала высокого уровня не менее 10 мкс
(2) Модуль автоматически отправляет восемь сигналов 40 кГц и определяет, есть ли ответный импульсный сигнал.
(3) Если есть обратный сигнал через высокий уровень, время высокой длительности IO выхода - это время от отправки ультразвукового импульса до возврата.

Испытательное расстояние = (время высокого уровня × скорость звука (340M / S) / 2)

Вот изображение одного из этих модулей

AliExpress.com Продукт - Ультразвуковой модуль HC-SR04 Датчик дальности детектор дальности Модуль для Arduino Бесплатная доставка Прямая поставка

Электропроводка

Ультразвуковой модуль HC-SR04 имеет 4 контакта: заземление, VCC, триггер и эхо.Контакты заземления и VCC модуля должны быть подключены к заземлению и 5-вольтовым контактам на Wemos Mini соответственно, а триггерные и эхо-контакты - к любому цифровому входу / выходу на Wemos Mini, в нашем примере мы используем D6. для Trig и D7 для Echo

Вот макет платы, показывающий, как подключить wemos mini и HC-SR04

. wemos и HC-SR04

Код

 #define echoPin D7 // Эхо-вывод
#define trigPin D6 // Триггерный контакт

большая продолжительность, расстояние; // Продолжительность, используемая для расчета расстояния

установка void ()
{
Серийный.begin (9600);
pinMode (trigPin, ВЫХОД);
pinMode (echoPin, ВХОД);
}

пустой цикл ()
{
/ * Следующий цикл trigPin / echoPin используется для определения
расстояние до ближайшего объекта путем отражения от него звуковых волн. * /
digitalWrite (trigPin, LOW);
delayMicroseconds (2);
digitalWrite (trigPin, HIGH);
delayMicroseconds (10);
digitalWrite (trigPin, LOW);
duration = pulseIn (echoPin, HIGH);
// Вычислить расстояние (в см) на основе скорости звука.
расстояние = продолжительность / 58,2;
Serial.println (расстояние);
// Задержка 50 мс перед следующим чтением.задержка (50);
} 

Выход

Как видно из выходных данных ниже, в среднем около 73 сантиметров объекта не было обнаружено

Ссылки

Ультразвуковой модуль HC-SR04 Датчик измерения расстояния

Arduino Программирование HC-SR04 с прерываниями

Как сделать ультразвуковой эхо-дальномер с Arduino и HC-SR04

Чтобы получить полную информацию о статье и проекте , подпишитесь на HDE Magazine бесплатно.


Вы когда-нибудь задумывались, как они делают датчики парковки, которые вы, кажется, найдете на всех новых автомобилях? Вы знаете, те, которые начинают пищать, когда вы приближаетесь к объекту, которого следует избегать. По мере приближения звуковой сигнал становится все быстрее и быстрее, пока все звуковые сигналы не сливаются в один, и ... слишком поздно, вы ударили его!

Если вы хотите иметь возможность исследовать формы сигналов, создаваемые этим и другими проектами, возьмите копию моей книги «Осциллограф звуковой карты » и создайте себе очень способное испытательное оборудование.

Я собираюсь показать вам, как сделать ультразвуковой дальномер или датчик парковки, используя Arduino Uno, модуль ультразвукового дальномера HC-SR04 и какое-то простое программное обеспечение. Чтобы упростить задачу и избежать необходимости покупать дополнительные компоненты, мы будем мигать светодиодом на плате Arduino вместо включения зуммера.

Используйте прерывания, чтобы сделать код лучше и быстрее

В программном скетче, который я вам дам, используются прерывания.Не волнуйтесь, что бы вам ни говорили, ничего страшного в этом нет. Прерывания - это не волшебство, но они могут сделать ваши программы намного лучше, если вы их правильно используете.

Когда я огляделся, я обнаружил, что во всех примерах использования HC-SR04 с Arduino использовались скетчи, которые живут исключительно в основном цикле () скетча. Это нормально, если все, что вы хотите сделать, это доказать, что ультразвуковой модуль работает, но это не очень удобно, если вы ожидаете, что ваше программное обеспечение будет делать что-то умное с информацией с датчика.Помещение всего кода в основной цикл затрудняет планирование ваших измерений и приводит к значительным задержкам в доступном вам времени обработки. Я думал, что буду другим и покажу вам лучший способ использования прерываний.

Если вы хотите узнать больше об использовании прерываний на Arduino, взгляните на этот пример прерывания таймера.

Как работает HC-SR04

Модуль HC-SR04 имеет 4 контакта:

Для работы модуля требуется питание 5 В, поэтому подключите контакт заземления к одному из контактов заземления на Arduino, а VCC - к контакту 5 В на Arduino.Это было просто.

Когда HC-SR04 получает короткий импульс на входе триггера, модуль начинает измерение. Сначала он передает короткий ультразвуковой импульс, а затем прослушивает эхо. Импульс запуска должен быть не менее 10 мкс и доставляться с вывода 2 на Arduino Uno.

Когда HC-SR04 передает ультразвуковой пакет импульсов, напряжение сигнала на выводе Echo становится высоким. Он будет оставаться высоким до 25 мс в зависимости от расстояния от объекта.Если в поле зрения нет объекта, то эхо-сигнал будет оставаться высоким в течение 38 мс. Итак, все, что вам нужно сделать, это измерить время, в течение которого эхо-сигнал является высоким. Исходя из этого, вместе со скоростью звука, вы можете рассчитать расстояние до объекта.

Вот где, на мой взгляд, большинство примеров использования этого датчика терпят неудачу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *