===== Гараж ===== {{ :wiki:praktika:garag:garag01.jpg?nolink|}}Парковка автомобиля в ограниченном пространстве гаража требует особой внимательности и опыта (особенно если парковка выполняется задним ходом).\\ Конечно, есть [[https://pddmaster.ru/avtomobili/sistemy-pomoschi-pri-parkovke-avtomobilya.html|Системы помощи при парковке автомобиля]], каждая из которых имеет свои плюсы и свои минусы.\\ Таким устройством должно быть укомплектован каждый автомобиль, паркующийся в нашем гараже. Мы попробуем сделать прототип более универсальной системы, которая будет установлена прямо в гараже и реагировать на любой объект, приближающийся к стене. В зоне видимости водителя будет установлена световая сигнализация, предупреждающая о приближении автомобиля к стене гаража. При необходимости можно добавить и звуковую сигнализацию. ---- ==== Ультразвуковой Дальномер ==== Для определения расстояния до объекта можно использовать [[https://amperka.ru/collection/proximity-sensors|различные виды датчиков]]: *лазерные *инфракрасные *ультразвуковые *индуктивные Одними из самых распространенных (в силу низкой стоимости и простоты использования) являются ультразвуковые датчики расстояния. Работа модуля основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса и зная скорость распространения звука в воздухе (340 м/с), можно вычислить расстояние до препятствия. ---- В TinkerCAD представлены два типа ультразвуковых датчиков: *[[https://www.parallax.com/product/28015|фирмы Parallax]] *[[https://www.alldatasheet.com/datasheet-pdf/pdf/1132203/ETC2/HC-SR04.html|HC-SR04]] ---- ==== УЗД фирмы Parallax (3-х контактный) ==== {{ :wiki:praktika:garag:sh_usd01.png?300}} Датчик имеет три контакта для подключения к контроллеру arduino: *5V (питание, на схеме красный) - подключается к контакту "5V" arduino *GND ("земля", общий, на схеме черный) - подключается к любому контакту "GND" arduino *SIG (сигнальный, на схеме голубой) - подключается к любому цифровому пину (D0-D13) arduino. По этому контакту УЗД передает расстояние до объекта (в сантиметрах или дюймах) На рисунке изображена примерная схема расположения и соединения элементов: * УЗД (Parallax) * контрольный светодиод * токоограничивающий резистор ---- ==== УЗД HC-SR04 (4-х контактный) ==== {{ :wiki:praktika:garag:sh_usd02.png?300}} Датчик имеет четыре контакта для подключения к контроллеру arduino: *Vcc (питание 5В, на схеме красный) - подключается к контакту "5V" arduino *GND ("земля", общий, на схеме черный) - подключается к любому контакту "GND" arduino *TRIG (на схеме желтый) - подключается к любому цифровому пину (D0-D13) arduino. По этому контакту дальномер получает команду от arduino излучить ультразвуковой сигнал (40 кГц), который отражается от преграды и возвращается на дальномер. *ECHO (на схеме голубой) - подключается к любому цифровому пину (D0-D13) arduino. Сигнал на этом контакте позволяет arduino определить время прохождения сигнала до и от препятствия. Для использования УЗД HC-SR04 в TinkerCAD необходимо в разделе "Компоненты" вместо списка "Основные" открыть список "Все". ---- ====Программирование УЗД==== ===УЗД Parallax=== Так как кроме контактов "питание" и "земля" у этого датчика только один контакт, передающий на arduino информацию о расстоянии, программируется он проще, чем HC-SR-04. Из раздела "Вход" (фиолетовый) берем команду "считывать с ультразвукового датчика ...", выбираем номер пина arduino, к которому подключен контакт SIG и сравниваем показания датчика с заданным расстоянием. Если расстояние становится меньше допустимого (автомобиль приблизился к датчику, то есть к стене гаража), включаем сигнальный светодиод, если расстояние между автомобилем и датчиком увеличилось больше контрольного, светодиод выключаем. **Основные блоки** {{:wiki:praktika:garag:sh_usd01_prog.png }} **Программный код** {{:wiki:praktika:garag:sh_usd01_prog2.png }} ---- ===УЗД HC-SR04=== Датчик четырех-контактный, но в tinkerCad программируется почти так же, как и УЗД Parallax. Отличие в указании двух разных номеров пинов arduino, подключенных к разъемам УЗД "TRIG" и "ECHO". **Программный код** {{:wiki:praktika:garag:sh_usd02_prog1.png }} Для визуального контроля различных данных в tinkerCad можно использовать "Монитора последовательного интерфейса", расположенного в нижней части окна "Код". В "Монитор" можно выводить актуальные данные в виде чисел и в виде графика. Усложним программу, добавив блоки определяющие переменную для хранения значения расстояния до объекта, вычисленного датчиком, и блок кода, выводящий значение этой переменной в окно "Монитор последовательного интерфейса". На рисунке показан общий вид окна "Код" при моделировании работы системы, с примером программы, выводящей данные в "Монитор последовательного интерфейса". {{:wiki:praktika:garag:sh_usd02_prog2.png }} ---- На видео представлен пример процесса программирования. {{ youtube>7HnQ7k2pMdA }} ---- ---- ==== Задание для самостоятельной работы ==== === Уровень 1 === Реализовать схему и программный код устройства "парковщик" (см. рисунок выше). К световой сигнализации добавить звуковую сигнализацию, используя, например, пьезоэлемент (звуковой динамик). === Уровень 2 === Разработать схему устройства "парковщик 2". Использовать не менее трёх светодиодов разного цвета и пьезоэлемент.\\ Алгоритм работы устройства: -УЗД определяет три расстояния до объекта, при достижения каждого расстояния, зажигается соответствующий светодиод. Например, расстояние до объекта менее 150 см - зажигается зеленый светодиод, расстояние до объекта менее 100 см - зажигается желтый светодиод, расстояние до объекта менее 50 см - зажигается красный светодиод. При удалении объекта от УЗД, светодиоды должны гаснуть соответственно расстоянию удаления объекта. === Уровень 3 === Добавить в проект "Уровня 2" пьезоэлемент, работающий в следующем режиме: чем ближе объект к УЗД, тем чаще подается звуковой сигнал. ---- === Примечание: === *Описание и примеры на сайте [[https://amperka.ru/product/hc-sr04-ultrasonic-sensor-distance-module|amperka.ru]] *Описание и примеры на сайте [[https://arduinomaster.ru/datchiki-arduino/ultrazvukovoj-dalnomer-hc-sr04/|arduinomaster.ru]] "Для полноценного использования парктроника рекомендуем дополнительно приобрести автомобиль или гараж, если их у вас ещё нет" ([[http://wiki.amperka.ru|Amperka.ru]]) ---- [ [[start|На главную страницу]] ]. . . .[ [[санузел|Далее]] ]