Парктроник на Arduino

Проект «Парктроник на Arduino» использует ультразвуковой датчик для измерения расстояния до объектов и зуммер для сигнализации. Чем ближе объект, тем выше частота звука зуммера, что помогает водителю ориентироваться на слух. Этот проект может быть полезен в системах безопасности, робототехнике и автоматизации. Он предоставляет простой и эффективный способ предупреждения о возможных препятствиях, используя базовые компоненты и библиотеку AlashUltrasonic.

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

Необходимые компоненты

  • Arduino Uno

  • Ультразвуковой датчик (например, HC-SR04)

  • Пьезоэлектрический зуммер

  • Провода для подключения

  • Макетная плата

Принцип работы ультразвукового датчика

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

  1. Передатчик: Отправляет ультразвуковой импульс.

  2. Приемник: Принимает отраженный импульс и измеряет время, за которое импульс вернулся.

Схема

  1. Питание:

  • Подключите VCC ультразвукового датчика к 5V на Arduino.

  • Подключите GND ультразвукового датчика к GND на Arduino.

  1. Сигнальные пины:

  • Подключите TRIG ультразвукового датчика к аналоговому пину A1 на Arduino.

  • Подключите ECHO ультразвукового датчика к аналоговому пину A0 на Arduino.

  1. Сигнализация:

  • Подключите один вывод зуммера к цифровому пину 11 на Arduino.

  • Подключите другой вывод зуммера к GND на Arduino.

Парктроник на Arduino

Пример кода с использованием библиотеки AlashUltrasonic

Еще один пример: управление зуммером в зависимости от расстояния

parking_sensor.ino
#include <AlashUltrasonic.h>
// Определяем пины для ультразвукового датчика и зуммера
const uint8_t TRIGGER_PIN = A1;
const uint8_t ECHO_PIN = A0;
const uint8_t BUZZER_PIN = 11;
// Инициализация ультразвукового датчика
AlashUltrasonic sensor(TRIGGER_PIN, ECHO_PIN);
// Задаем пороговые расстояния для изменения частоты сигнала
int cm1 = 30;  // расстояние, при котором зуммер начинает издавать звук с низкой частотой
int cm2 = 20;  // расстояние, при котором зуммер издает звук со средней частотой
int cm3 = 10;  // расстояние, при котором зуммер издает звук с высокой частотой
void setup() {
  // Инициализация серийного порта для отображения информации
  Serial.begin(9600);
  // Устанавливаем режим работы пинов
  pinMode(BUZZER_PIN, OUTPUT);
  // Запускаем датчик
  sensor.begin();
}
void loop() {
  // выполняем 10 измерений и складываем результат
  int distance = sensor.getDistance();
  // Выводим расстояние в серийный монитор
  Serial.print("Distance: ");
  Serial.print(distance);
  Serial.println(" cm");
  // Задаем частоту звука в зависимости от расстояния
  int frequency;
  if (distance >= cm1) {
    noTone(BUZZER_PIN);
  } else if (distance < cm1 && distance >= cm2) {
    frequency = 1200;  // низкая частота
    tone(BUZZER_PIN, frequency, 200);
    delay(150);
  } else if (distance < cm2 && distance > cm3) {
    frequency = 1250;  // средняя частота
    tone(BUZZER_PIN, frequency, 200);
  } else if (distance <= cm3) {
    frequency = 1300;  // высокая частота
    tone(BUZZER_PIN, frequency);
  }
  // Задержка перед следующим измерением
  delay(250);
}

Пояснение кода

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

  2. Измерение расстояния: В функции loop() измеряется расстояние до объекта с помощью метода getDistance() библиотеки AlashUltrasonic.

  3. Изменяющийся звук: В зависимости от измеренного расстояния, частота звука зуммера изменяется. Чем ближе объект, тем выше частота звука.

  4. Сигнализация: Если расстояние меньше заданных порогов, зуммер издает звук с соответствующей частотой, в противном случае — выключается.

Заключение

Парктроник на базе ультразвукового датчика и Arduino является простым и эффективным устройством для измерения расстояния до объектов и предупреждения о возможных препятствиях. Этот проект может быть полезен в различных приложениях, таких как системы безопасности, робототехника и автоматизация. Экспериментируйте с настройками и компонентами, чтобы адаптировать проект под ваши нужды.