Ультразвуковой датчик парковки для гаража на Arduino довольно просто собрать, а для предупреждения о минимальном расстоянии можно использовать световую и звуковую индикацию. Не рекомендуется использовать проект парктроника с ультразвуковыми датчиками в автомобиле, так как они имеют большую погрешность и не защищены от влаги. Лучше всего использовать hc-sr04 парктроник с платой Ардуино в гараже.
СОДЕРЖАНИЕ
Необходимые компоненты:
- Arduino Uno / Arduino Nano / Arduino Mega
- дисплей LCD 1602 i2c
- ультразвуковой дальномер HC-SR04
- светодиоды и резисторы
- пьезодинамик и макетная плата
- коннекторы
- библиотека LiquidCrystal_I2C.h и Ultrasonic.h
Дополнительные материалы на эту тему:
Во первых, необходимо решить проблему ложного срабатывания датчика HC-SR04 путем выполнения функции с несколькими измерениями расстояния и вычисления среднего арифметического значения. Для этого в цикле for непрерывно проводится 10 измерений ультразвуковым датчиком, прибавляя полученный результат к общему значению, а в конце цикла делим общую сумму на количество проведенных измерений.
Гаражный парктроник на Arduino с дисплеем 1602

| LCD 1602 i2c | Arduino Uno | Arduino Nano | Arduino Mega |
| GND | GND | GND | GND |
| VCC | 5V | 5V | 5V |
| SDA | A4 | A4 | 20 |
| SCL | A5 | A5 | 21 |
Чтобы собрать датчик парковки на Arduino, необходимо подключить к плате ультразвуковой дальномер, пьезоэлектрический динамик и дисплей 1602 i2c, как показано на рисунке выше. В представленной программе добавлены функции отображения расстояния и условия активации зуммера. Время между измерениями и расстояние в сантиметрах, при котором будет активирован пьезодинамик (бипер), можно изменить в коде.
Скетч для гаражного автомобильного парктроника
#include "Ultrasonic.h"
Ultrasonic ultrasonic (11, 12); // Trig, Echo
#include "Wire.h"
#include "LiquidCrystal_I2C.h"
LiquidCrystal_I2C LCD(0x27,20,4);
int del = 5;
int cm = 10;
void setup() {
Serial.begin(9600);
LCD.init();
LCD.backlight();
pinMode(4, OUTPUT);
}
void loop() {
int distance, sum, total;
for (byte i = 0; i < 10; i++) {
distance = ultrasonic.Ranging(CM);
sum = sum + distance;
delay(del);
}
total = sum / 10;
Serial.println("Distance - " + String(total));
LCD.clear();
LCD.setCursor(0,0);
LCD.print("Distance - ");
LCD.print(total);
if (total > cm) { noTone(4); }
if (total <= cm) { tone(4, 100); }
}
Заключение. В схеме ультразвуковой парковки на Arduino можно использовать 5 В RGB светодиоды и для питания схемы взять обычное зарядное устройство от телефона. Не рекомендуется устанавливать устройство в автомобиле, так как датчик HC-SR04 не защищен от пыли и влаги, но его можно использовать в гараже. Переменные задаются в программе и могут быть изменены путем установки соответствующего режима.

а как подключить сразу две библиотеки?
С помощью #include