Парктроник для гаража на Arduino: точный контроль дистанции
Компоненты и материалы
| Arduino Leonardo (или любой совместимый) | 1 шт. |
| Матричный дисплей 4×8 (MAX7219) | 1 шт. |
| Ультразвуковой дальномер HC-SR04 или Parallax Ping))) | 1 шт. |
Инструменты
- Паяльник и расходники
О проекте
Устройство помогает припарковать машину в гараже, показывая расстояние до бампера на матричном дисплее. При достижении критической дистанции выводится сообщение «STOP». Работает на популярных ультразвуковых датчиках HC-SR04 или Parallax Ping))). Автор использовал Arduino Leonardo, но код подойдёт для любой платы.
Матричный дисплей выбран за компактность и эстетику.
Шаг 1: Необходимые детали
- Arduino — оригинальная или совместимая плата.
- Ультразвуковой дальномер — HC-SR04 (дешевле) или Parallax Ping))) (точнее). Ссылки на магазины в оригинале.
- Матричный дисплей 4×8 на MAX7219 — автор брал на eBay у продавца IOTMODULES (поиск «4 Way MAX7219 DOT MATRIX»).
- Навыки пайки.
Шаг 2: Сборка

Скачайте схему arduinorangefinder.pdf (вложена). Также приложены даташиты на HC-SR04 и Ping))). Схема простая — повторяйте точно.
Рекомендуется удлинить провода дисплея и датчика до ~1 метра для удобного размещения.
На фото 2 показано, как паять питание: +5V дисплея и Vcc датчика паяются вместе. Остальные ножки — отдельные терминалы.
Фото 5 — вариант с датчиком Ping))).
Шаг 3: Программный код

- Скачайте и установите библиотеку
MD_MAX72XX.zipчерезСкетч → Подключить библиотеку → Добавить .ZIP… - Распакуйте и откройте скетч
MeasureDistanceV200.ino. - Настройте параметры в начале скетча:
- Тип матричного дисплея (раскомментируйте нужный
#define— поддерживается 4 типа). - Тип датчика (HC-SR04 или Ping))) — раскомментируйте соответствующую строку).
- Единицы измерения: сантиметры или дюймы (только одна строка).
- Тип матричного дисплея (раскомментируйте нужный
- Задайте пороговые расстояния (можно скорректировать позже на месте).
- Загрузите код, проверьте работу. При проблемах — проверьте пайку и соединения.
Обновления кода:
- 2019/03/30 — новая библиотека дисплея (поддержка 4 типов, кредиты majicdesigns).
- 2019/01/10 — выбор единиц измерения (см/дюймы).
- 2017/12/30 — автоотключение дисплея через 10 сек при стопе.
Шаг 4: Установка и калибровка на месте

- Измерьте высоту наиболее выдающейся части бампера от пола.
- Закрепите датчик на стене на этой высоте. Автор использовал плиту пеноизола с вырезом под датчик.
- Разместите дисплей так, чтобы он был виден из салона.
- Заезжайте на машине, корректируйте пороги в коде и перезаливайте при необходимости.
Код и библиотеки
- Arduino код v2.00 — скачивается вложением (поддерживает разные типы дисплеев).
- Библиотека матричного дисплея — новая версия, скачивается вложением.
Схемы и даташиты
F94NL6QIVCVU48A.pdf— схема устройстваF20YI99IVA513TU.pdf— даташит HC-SR04FEH4AIJIVCVU47X.pdf— даташит Parallax Ping)))
Производственный процесс
- Расширение GoPiGo v2 на Windows 10 IoT Core для Raspberry Pi 3
- Панель управления полётным симулятором 2020 на Arduino Nano: LCD и CDI-дисплеи
- Панель переключателей и LED для Microsoft Flight Simulator 2020 на Arduino
- Умная копилка: управление монетоприёмником на Arduino Nano
- Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
- Сборка вольтметра на Arduino с дисплеем Nokia 5110 — Пошаговое руководство
- Сборка надежного таймера обратного отсчета на Arduino с 7-сегментным дисплеем SparkFun
- Голосовое управление бытовыми приборами: Bluetooth-управление через Google Assistant
- Создание приложения Fridgeye с дисплеем Nextion: пошаговое руководство
- Самодельный RC Porsche на Arduino: Пошаговое руководство