Делаем ассистент-парковщик для гаража с помощью Arduino

Мы уже сделали один помощник при парковке автомобиля ранее, но сегодня мы создадим немного другой гаджет с помощью Arduino Nano Rev 3.

Часто когда мы паркуемся в своем гараже пространство очень ограничено. Например, семейный автомобиль нашего коллеги примерно на 10 см короче свободного пространства в его гараже. В машине есть датчики парковки, но они очень ограничены: когда до стены меньше 20 см они показывают предупреждение, поэтому очень трудно остановить автомобиль ближе чем на 8 см.

Идея состояла в том, чтобы использовать ультразвуковой датчик расстояния для этой цели вместе с Arduino. Примеров устройств очень много (и часть мы еще сделаем вместе в ближайшее время), но мы хотели получить более точное устройство, чем просто «слишком далеко / слишком близко» с 2 светодиодами. Сначала мы хотели сделать гаджет с 7-сегментным светодиодным дисплеем, но процесс измерения расстояния полезно только в течение нескольких секунд, а что будет делать устройство оставшуюся часть дня? Поэтому мы добавил часы реального времени, но как гаджет переключится между отображением времени и парковкой? Для этого мы добавили датчик освещенности.

Шаг 1: Список комплектующих

  • Arduino Nano Rev3
  • HC-SR04 ультразвуковой датчик расстояния (около 1 доллара США)
  • 7-сегментный 4-разрядный 12-контактный светодиодный индикатор с диагональю 0,56 дюйма (1,77 доллара США)
  • Плата DS3231RTC (0,87 доллара США)
  • Плата датчика освещенности (0,4 доллара)
  • 2 штуки 74HC595N IC сдвиговых регистра ($0,54 за 10 комплектов)
  • Красный светодиод
  • Зеленый светодиод
  • 4 резистора 220 Ом
  • 1 резистор 560 Ом

Все комплектующие доступны во многих Интернет-магазинах. Мы добавили цены для конкретных деталей, основываясь на опыте заказа их в Китае. Датчик света - дешевый и простой, но уже имеет компаратор напряжения LM393.

7-сегментный светодиодный дисплей имеет 12 контактов. Вы также можете использовать любой другой тип, но некоторые дальнейшие шаги описаны на основе назначений контактов этого дисплея. Вы можете найти схему дисплея на следующих шагах.

Шаг 2: Схема

U1 - Arduino Nano Rev3, но схема также хорошо работает с Arduino Uno.

U2, U3: Из-за дешевого светодиодного дисплея приходится использовать сдвиговые регистры, чтобы не съедать все цифровые выходы. U2 управляет катодами, а U3 подключен к анодам с резисторами 220 Ом.

LED2, LED3: зеленый и красный светодиоды, чтобы помочь парковке визуально. Это не обязательно, но может немного помочь.

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

S2: Ультразвуковой датчик. Действительно дешевый. Он имеет триггер и эхо-штырь. Использование довольно прямолинейно, особенно если вы используете библиотеку, предназначенную для этой цели. Мы использовали NewPing.

RTC1: плата DS3231 Real Time Clock. Довольно точная и имеет особенность - измеряет температуру и вы также можете отобразить эту информацию.

Шаг 3: Собираем схему

Мы собрали схему на макетной плате и смоделировали всё используя fritzing для лучшего понимания. Понимаем, что многовато кабелей, поэтому не смогли выбрать разные цвета для всех катодных контактов. Надеемся, что итак всё понятно.

Шаг 4: Код

Вот исходный код для нашего устройства - парковщика.

Шаг 5: Тестируем результат

Мы смоделировали устройство на макете. В нижней левой части вы можете увидеть ультразвуковой датчик, зеленый светодиод на другом подключенном кабеле показывает, что датчик внешней освещенности имеет входное напряжение. На втором снимке на датчике освещенности есть 2 зеленых индикатора, но это не так просто продемонстрировать с помощью изображений.

Фото 1. В гараже нет машины. Устройство отображает время с не слишком яркими цифрами.

Фото 2. Автомобиль освещает датчик, но слишком далеко, чтобы измерить. Мы установили это расстояние практически в 1 метр. В этом случае на дисплее отображается «9999».

Фото 3. Автомобиль находится на расстоянии 10 см от датчика расстояния и освещает датчика освещенности. Зеленые светодиод показывают, что можно подъехать поближе, но осторожнее.

Фото 4. Автомобиль находится примерно на расстоянии 5 см от датчика расстояния, поэтому красный светодиод показывает, что он достаточно близко и можно остановиться. Т.е. наш коллега сможет закрыть дверь гаража без каких-либо проблем.

Ардуино+
Больше интересного ↓