Как сделать кнопку на куртку в домашних условиях

Как сделать кнопку на куртку в домашних условиях
Как сделать кнопку на куртку в домашних условиях
Как сделать кнопку на куртку в домашних условиях
Как сделать кнопку на куртку в домашних условиях

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

Случайная статья:

Самое популярное:

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

Описание HC-SR04

Ультразвуковой датчик расстояния - модуль HC-SR04 использует акустическое излучение для определения расстояния до объекта. Этот бесконтактный датчик обеспечивает высокую точность и стабильность измерений. Диапазон измерений составляет: от 2 см до 400 см. На показания датчика практически не влияют солнечное излучение и электромагнитные шумы. Модуль продается в комплекте с трансмиттером и ресивером.

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

  • Напряжение питания: +5В – постоянный ток;
  • Сила тока покоя: < 2 мА;
  • Рабочая сила тока: 15 мА;
  • Эффективный рабочий угол: < 15°;
  • Расстояние измерений: от 2 см до 400 см (1 – 13 дюймов);
  • Разрешающая способность: 0.3 см;
  • Угол измерений: 30 градусов;
  • Ширина импульса триггера: 10 микросекунд;
  • Размеры: 45 мм x 20 мм x 15 мм.

Общий вид датчика HC-SR04

Arduino_HC-SR04_общий вид

Пины:

  • VCC: +5 вольт (постоянный ток)
  • Trig : Триггер (INPUT)
  • Echo: Эхо (OUTPUT)
  • GND: Земля

Подключение датчика HC–SR04 к Arduino

В данном примере ультразвуковой датчик HC–SR04 определяет расстояние и выводит полученные значения в окно серийного монитора в среде Arduino IDE. Проект несложный.

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

Небольшое примечание: в свободном доступе существует отличная библиотека NewPing, которая еще больше облегчает использование HC–SR04, пример ее использование тоже приведен ниже.

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

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

Программа для Arduino

/Ультразвуковой датчик расстояния и Arduino – полный гайд

Распиновка ультразвукового датчика расстояния:

VCC: +5V

Trig : Триггер (INPUT) – 11 пин

Echo: Эхо (OUTPUT) – 12 пин

GND: GND

/

int trigPin = 11;    //Триггер – зеленый проводник

int echoPin = 12;    //Эхо – желтый проводник

long duration, cm, inches;

void setup() {

//Serial Port begin

Serial.begin (9600);

//Инициализирум входы и выходы

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop()

{

// Датчик срабатывает и генерирует импульсы шириной 10 мкс или больше

// Генерируем короткий LOW импульс, чтобы обеспечить «чистый» импульс HIGH:

digitalWrite(trigPin, LOW);

delayMicroseconds(5);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

// Считываем данные с ультразвукового датчика: значение HIGH, которое

// зависит от длительности (в микросекундах) между отправкой

// акустической волны и ее обратном приеме на эхолокаторе.

pinMode(echoPin, INPUT);

duration = pulseIn(echoPin, HIGH);

// преобразование времени в расстояние

cm = (duration/2) / 29.1;

inches = (duration/2) / 74;

Serial.print(inches);

Serial.print("in, ");

Serial.print(cm);

Serial.print("cm");

Serial.println();

delay(250);

}

Использование библиотеки NewPing

Ниже приведен пример программы с использованием библиотеки NewPing.

#include <NewPing.h>

#define TRIGGER_PIN 12

#define ECHO_PIN 11

#define MAX_DISTANCE 200

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Настройка пинов и максимального расстояния.

void setup() {

Serial.begin(9600);

}

void loop() {

delay(50);

unsigned int uS = sonar.ping_cm();

Serial.print(uS);

Serial.println(“cm”);

}

Использование библиотеки NewPing

Ниже приведен пример программы с использованием библиотеки NewPing.

#include <NewPing.h>

#define TRIGGER_PIN 12

#define ECHO_PIN 11

#define MAX_DISTANCE 200

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Настройка пинов и максимального расстояния.

void setup() {

Serial.begin(9600);

}

void loop() {

delay(50);

unsigned int uS = sonar.ping_cm();

Serial.print(uS);

Serial.println(“cm”);

}

Необходимые уточнения

Если HC-SR04 не считывает сигнал эхо, выходной сигнал никогда не преобразуется в LOW. Датчики Devantec и Parallax обеспечивают время задержки 36 миллисекунд 28 миллисекунд соответственно. Если вы используете скетч, приведенный выше, программа «зависнет» на 1 секунду. Поэтому желательно указывать параметр задержки.

Датчик HC-SR04 плохо работает при измерении расстояний более 10 футов. Время возврата импульса составляет около 20 миллисекунд, так что рекомендуется в таких случаях выставлять время задержки более 20, напрмер, 25 или 30 миллисекунд.

Можно подключить ультразвуковой датчик расстояния HC-SR04 лишь к одному пину Arduino. Для этого необходимо между пинами Триггера и Эхо установить резистор на 2.2 кОм и подключить к Arduino только пин Триггера.

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

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

Arduino_HC-SR04_подключение_один_пин

// Скетч с библиотекой NewPing, которая может использоваться и для датчика HC-SR04 и для

//приведенного здесь SRF06 и позволяет подключать ульразвуковые датчики

// с помощью одного пина на Arduino. Можно дополнительно подключить конденсатор на 0.1 мкФ к пинам Эхо и Триггер на датчике.

// К Arduino подключается пин Триггер

#include <NewPing.h>

#define PING_PIN  12  // Пин с Arduino подключен к пинам trigger и echo на ультразвуковом датчике расстояния

#define MAX_DISTANCE 200 // Максимальное расстояние, которое мы контролируем (в сантиметрах). Максимальное расстояние подобных датчиков находится в диапазоне 400-500см.

NewPing sonar(PING_PIN, PING_PIN, MAX_DISTANCE); // Настройка пинов и максимального расстояния

void setup() {

Serial.begin(115200); // Открытие серийного протокола с частотой передачи данных 115200 бит/сек.

}

void loop() {

  delay(50); // Задержка в 50 миллисекунд между генерацией волн. 29 миллисекунд – минимально допустимая задержка.

  unsigned int uS = sonar.ping(); // Генерация сигнала, получение времени в микросекундах (uS).

  Serial.print("Ping: ");

  Serial.print(uS / US_ROUNDTRIP_CM); // Преобразование времени в расстояние и отображение результата (0 соответствует выходу за допустимый диапазон)

Serial.println("cm");

}

ARDUINO-DIY.COM - это информационный ресурс с лучшими инструкциями и туториалами по использованию контроллеров Arduino.

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

ARDUINO-DIY.COM © 2015-2017

Как сделать кнопку на куртку в домашних условиях Как сделать кнопку на куртку в домашних условиях Как сделать кнопку на куртку в домашних условиях Как сделать кнопку на куртку в домашних условиях Как сделать кнопку на куртку в домашних условиях Как сделать кнопку на куртку в домашних условиях Как сделать кнопку на куртку в домашних условиях Как сделать кнопку на куртку в домашних условиях

Изучаем далее:



Как пользоваться пилочкой для необрезного маникюра

Сценки для поздравления с днем рождения деда

Как сделать турнирный щит

Электронная схема колонок для компьютера

Как сделать студенческий билет печать