Парктроник на Arduino
Проект «Парктроник на Arduino» использует ультразвуковой датчик для измерения расстояния до объектов и зуммер для сигнализации. Чем ближе объект, тем выше частота звука зуммера, что помогает водителю ориентироваться на слух. Этот проект может быть полезен в системах безопасности, робототехнике и автоматизации. Он предоставляет простой и эффективный способ предупреждения о возможных препятствиях, используя базовые компоненты и библиотеку AlashUltrasonic.
Парктроник — это устройство, которое используется для измерения расстояния до ближайших объектов и предупреждения водителя об опасности столкновения. В данном проекте используется ультразвуковой датчик для измерения расстояния и зуммер для сигнализации. Чем ближе объект, тем выше частота звука зуммера, что помогает водителю ориентироваться на слух.
Необходимые компоненты
Arduino Uno
Ультразвуковой датчик (например, HC-SR04)
Пьезоэлектрический зуммер
Провода для подключения
Макетная плата
Принцип работы ультразвукового датчика
Ультразвуковой датчик измеряет расстояние до объекта, отправляя звуковой импульс и измеряя время, необходимое для возвращения отраженного импульса. Датчик состоит из двух основных частей: передатчика (триггер) и приемника (эхо).
Передатчик: Отправляет ультразвуковой импульс.
Приемник: Принимает отраженный импульс и измеряет время, за которое импульс вернулся.
Схема
Питание:
Подключите VCC ультразвукового датчика к 5V на Arduino.
Подключите GND ультразвукового датчика к GND на Arduino.
Сигнальные пины:
Подключите TRIG ультразвукового датчика к аналоговому пину A1 на Arduino.
Подключите ECHO ультразвукового датчика к аналоговому пину A0 на Arduino.
Сигнализация:
Подключите один вывод зуммера к цифровому пину 11 на Arduino.
Подключите другой вывод зуммера к GND на Arduino.

Пример кода с использованием библиотеки AlashUltrasonic
Еще один пример: управление зуммером в зависимости от расстояния
#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);
}
Пояснение кода
Инициализация библиотеки и пинов: В функции setup() пины для ультразвукового датчика и зуммера настроены как выходы и входы, а также инициализируется датчик.
Измерение расстояния: В функции loop() измеряется расстояние до объекта с помощью метода getDistance() библиотеки AlashUltrasonic.
Изменяющийся звук: В зависимости от измеренного расстояния, частота звука зуммера изменяется. Чем ближе объект, тем выше частота звука.
Сигнализация: Если расстояние меньше заданных порогов, зуммер издает звук с соответствующей частотой, в противном случае — выключается.
Заключение
Парктроник на базе ультразвукового датчика и Arduino является простым и эффективным устройством для измерения расстояния до объектов и предупреждения о возможных препятствиях. Этот проект может быть полезен в различных приложениях, таких как системы безопасности, робототехника и автоматизация. Экспериментируйте с настройками и компонентами, чтобы адаптировать проект под ваши нужды.