Нам понадобится
Ссылочка на датчик HC-SR04: http://ali.ski/EhZA7x
Cсылочка на макетную плату: http://ali.ski/rq8wz8
Ссылочка на контактные провода: http://ali.ski/Exjr3
Ссылочка на диоды и резисторы: http://fas.st/KK7DwjyF
Cсылочка на пьезоизлучатель: http://ali.ski/9mNnRi
Ссылочка на Arduino uno: http://ali.ski/gC_mOa
В данном примере мы посмотрим как сделать примитивный парктроник.
Принцип работы будет заключаться в следующем:
За дальномер взят датчик HC-SR04 он довольно точный и измеряет на расстоянии до 6 метров, что для наших нужд за глаза.
Так как у нас нет камеры, будем ориентироваться по звуку зумера и по диодам разного цвета, которые будут сигнализировать нам расстояние до объекта.
Датчик HC-SR04 мы будем подключать к 12 и 13 пинам ардуино. Диодов возьмем 6 шт. и подключим их с 2 по 7 пины ардуино. А буззер подключим к 11 пину ардуино.
После подключения всех компонентов необходимо скопировать программный код приведенный ниже и вставить его в программу Arduino IDE и загрузить этот программный код в саму плату Arduino.
Демонстрация работы данной программы можно увидеть в видео приведенном в конце статьи.
Видео
https://youtube.com/watch?v=2hxm7K_bxQ4%3Ffeature%3Doembed
Короче, решил я подойти к делу технически и оборудовать гараж измерителем расстояния до машины и установить его на стене.
На Али были куплены крупные дисплеи и ультразвуковой измеритель расстояния.
Для начала на Ардуино был поставлен scmRTOS — ну, вы сами понимаете, как же можно что-то делать без операционной системы реального времени?
«Лучше день потерять, потом за пять минут долететь!» — как говаривал один гриф из мультика.
Ну а дальше — «Пошёл! Пошёл! Работаем, работаем, страус, пошёл». Готовых библиотек для MAX7219 сейчас хоть пруд пруди, тогда мне то ли не удалось найти подходящей, то ли они мне просто не понравились.
Там есть одна тонкость — надо было писать подпрограмму для переворота битовой матрицы, если хочется, например, иметь бегущую строку.
В большинстве библиотек это сделано очень тупо и прямолинейно. Сразу видно, люди в детстве хороших книжек не читали и игрушки у них были прибиты к полу гвоздями. Если бы читали «Hacker’s Delight» (я ее на русском тоже видел под менее романтичным названием «Алгоритмические трюки для программистов», если склероз не подводит), очевидно, они бы сделали так:
«Надёжно! Добротно! Хорошо!» — и никаких тебе циклов вообще. Тот, который для разрядов дисплея — к делу не относится и поэтому не считается.
После этого прикрутить ультразвуковой датчик расстояния — это даже не вопрос. Прерывание и таймер — наше все.
Встал вопрос, как это запитать — до ближайшей розетки провод тянуть было неудобственно. Хотел уже ставить литиевый аккумулятор и включать измерение и индикацию по срабатыванию датчика движения, ведь дисплей кушать изволит немерянно.
Пошел в гараж рассматривать на месте, что и как поставить.
Тут на глаза попался обрезок доски — и вуаля!
Проблема мгновенно решена. За прошедшие годы ни разу не понадобилась обновлять прошивку, батареи менять не надо, заряжать ничего не надо. Надежность и удобство пользования просто зашкаливает.
Еще одна проблема, правда, так и осталась нерешенной — я иногда задеваю зеркалами о проем, видимо, нужно какой-то лазерный гаражный прицел ставить.
Извиняюсь, статья почти не иллюстрирована своими фотографиями — они либо не делались, либо давно утеряны. В наличии остались только исходники программного обеспечения и до сих пор валяющиеся без дела модули.
P.S. A у вас вся спина белая! И до встречи на дорогах.
Мы предпочитаем быть настороже в процессе ответственного дела, нежели сталкиваться с последствиями в результате нашей неаккуратности. Это относится и к парковке автомобиля, когда нужно аккуратно припарковаться в довольно узкой области, не задев при этом рядом стоящие объекты, включая другие автомобили. И в таких случаях «профилактика лучше, чем лечение».
В таких случаях парктроник (или парковочный радар), встроенный в бампер автомобиля, позволит избежать неприятных ситуаций и правильно припарковать автомобиль. Поэтому в данном материале будет показано, как самостоятельно сделать простейший парктроник на основе Arduino и ультразвукового датчика.
Данный парктроник спроектирован таким образом, что подает звуковой сигнал и условно сообщает о дистанции до объекта с помощью светодиодного индикатора, состоящего из восьми светодиодов. В кочестве датчика расстояния здесь используется ультразвуковой модуль HC-SR04. Схема подключения элементов самодельного парктроника показана ниже.
Модуль ультразвукового приемопередатчика HC-SR04 используется для определения расстояния от препятствия до автомобиля. Модуль выдает точное значение расстояния в диапазоне от 2 см до 400 см. Тот факт, что он обеспечивает точные и стабильные показания, делает его более подходящим элементом для использования в данном случае. Когда линия 2 (TRI) модуля получает «высокий» импульс в течение периода более 10 мкс, только тогда можно вычислить расстояние. Далее происходит проверка наличия препятствия путем запуска модуля для отправки восьми циклов ультразвуковых импульсов на частоте 40 кГц, после чего устройство ждет, пока не будет получен отраженный ультразвуковой сигнал. Как только это произойдет, эхо-сигнал (контакт 3) модуля устанавливается в высокий логический уровень. Период ожидания отраженного импульса полностью зависит от расстояния, на котором находится препятствие. Когда время ожидания определено, можно рассчитать расстояние, используя следующую формулу: расстояние (в сантиметрах) = T / 58. Здесь T = ширина импульса на эхо-сигнале в микросекундах.
Ниже приведен код (скетч) для Arduino, реализующий функционирование автомобильного парктроника.
Простой парктроник можно сделать и без Arduino, как это описано здесь.
Теги: Arduino, авто, парктроник