Як зробити автомобільні датчики допомоги при паркуванні

  • Ардуїно
  • камери
  • спілкування
  • диски
  • інновації
  • двигун
  • обладнання з відкритим кодом

допомоги

У цьому підручнику ми проілюструємо встановлення та використання простих, недорогих автомобільних датчиків допомоги при паркуванні. Ми використовуватимемо два ультразвукові датчики HC-SR04 та чотири п’єзозум’є, щоб поступово попереджати водія про близькість сусідніх автомобілів за машиною водія під час паркування із звуковим сигналом. Ми також вирішимо практичні проблеми, такі як гідроізоляція та розведення проводів у салоні автомобіля.


Апаратне забезпечення

  • Arduino UNO (1x)
  • HC-SR04 Ультразвукові датчики (2x)
  • Дріт Vcc (приблизно 2 м)
  • Дріт Gnd (приблизно 2 м)
  • Тригерний дріт (приблизно 1 м)
  • Ехопровід (приблизно 1 м)
  • П'єзо-зумер (2x)
  • USB автомобільний адаптер
  • Пластиковий футляр/коробка для Aduino

Програмне забезпечення

  • IDE Arduino
  • Github

Інструменти

Крок 1: Налаштування системи

Почнемо з підготовки електроніки, показаної нижче, щоб ми могли протестувати систему, перш ніж фактично встановлювати автомобільні датчики в машину.

Рисунок 1: Необхідні апаратні компоненти - Arduino, пластиковий корпус, ультразвукові датчики, п’єзозумпер, дроти та адаптер живлення

У цьому проекті ми будемо використовувати лише два датчики ззаду: один на лівій стороні бампера, а інший на правій стороні бампера. Допоміжні системи оповіщення у більшості нових автомобілів мають до шести датчиків для більш точного позиціонування.

Датчики HC-SR04 показують по чотири висновки:

  • VCC (джерело живлення до 5 В)
  • Тригер
  • Відлуння
  • Земля

Для більш детального пояснення функцій цих модулів відвідайте цей попередній підручник: Використання Arduino з деталями та датчиками - ультразвуковий датчик

На малюнку 2 нижче показано схему підключення автомобільних датчиків та звукових сигналів до Arduino.

Рисунок 2: Діаграма дроту Arduino, ультразвукових датчиків та п’єзозумперів

Крок 2: Програмування Arduino

Почнемо писати програму. Загалом, для будь-якої мікропрограми мікроконтролера ми можемо знайти такі чотири елементи:

  • Визначення глобальних цінностей та бібліотек
  • Функція налаштування
  • Функція петлі
  • Інші функції

На відміну від розробки програмного забезпечення, при програмуванні мікроконтролерів ми зазвичай маємо певні обмеження щодо того, наскільки великий може бути наш код. Мій Arduino Uno поставляється з Atmega328, який має 32 Кб пам'яті. Для цього конкретного додатку цього більш ніж достатньо.

Функції pinMode () та digitalWrite () - це зручні способи роботи з контактами мікроконтролера. Ми будемо використовувати функцію pinMode () для встановлення напрямку вказаних штифтів. Напрямок може бути як вхідним, так і вихідним. Як тільки ви встановите напрямок, штифт буде працювати лише в цьому напрямку. Ми будемо використовувати функцію digitalWrite (), щоб встановити вказаний цифровий штифт на ВИСОКИЙ або НИЗКИЙ. Тут я встановив контакт 2 як ще один додатковий заземлювач, який мені потрібен для підключення контакту GND одного з пристроїв.

Для простоти я визначив функцію (обчислити відстань (ехо, тригер, зумер), яка буде використана спочатку в одному з датчиків, а в другому датчику.

Спочатку ми активуємо пін (тригер), тому що це займе деякий час, щоб надіслати нам інформацію про інший пін (ехо). За допомогою цього інтервалу часу ми можемо зробити деякі припущення і розрахувати відстань (швидкість звуку становить 340 м/с або 29 мікросекунд на сантиметр). Ця відстань послужить параметром для встановлення того, як часто видавати звуковий сигнал у 2000 Гц (я знайшов це методом спроб і помилок, не соромтеся змінити його на бажаний рівень).

Я використовував кілька вбудованих функцій, таких як тон (пін, частота, тривалість), digitalWrite (пін), delayMicroseconds (тривалість) та pulseIn (пін, значення).

Крок 3: Підготовка вдалої стратегії складання

Знайдіть водонепроникну зону в задній частині вашого автомобіля. Тут будуть встановлені датчики. У своїй машині у мене було кілька варіантів:

  • Всередині кришки задніх ліхтарів
  • Біля лампочок номерного знака
  • На задніх бамперах

Якщо ви повинні були розмістити автомобільні датчики або всередині кришок заднього світла, або на задніх бамперах, ви повинні просвердлити отвори, щоб ультразвукові хвилі могли потрапляти і виходити. На жаль, ці отвори також дозволять потрапляти воді (дощ, бризки тощо), якщо вони не зроблені дуже добре. Гідроізоляція їх герметиком не є можливим варіантом, оскільки ультразвукові хвилі не зможуть це зробити. Крім того, у вас виникне додаткова складність калібрування положення отворів щодо датчика, щоб уникнути ефектів дифракції.

Щоб дізнатись більше про дифракційні хвилі, натисніть тут .

Отже, я вирішив розмістити автомобільні датчики біля номерного знака, оскільки зазор під дверима багажника/ручкою багажника досить великий, і це позбавляє мене від проблем з свердлінням отворів. Все, що мені потрібно, - це трохи відрегулювати орієнтацію датчиків, щоб навести на кути автомобіль.

Малюнок 4: Пошук правильного розташування датчиків

Крок 4: Розгортання обладнання всередині автомобіля

Знайдіть місце для гудків Arduino та Piezo. Для цього нам потрібно буде зняти кріплення дверних панелей автомобіля та знайти безпечне, порожнє місце для кріплення електроніки.

Нехай веселощі починаються! Внутрішні панелі відкривають абсолютно новий вимір вашого автомобіля. У нас є багато місця, де ми можемо підключити багато пристроїв (можливо, для майбутніх публікацій!). Існує також ряд внутрішніх проводів, які подають живлення на різні елементи автомобіля, пов’язані з безпекою. Переконайтесь, що ви не торкаєтесь важливих проводів.

ВИ ПОВИННІ ДУЖЕ ОБЕРЕЖНО ВНУТРІШНІ ЧАСТИНИ МАШИНИ.

Ми під’єднаємо ультразвукові датчики із зовнішньої сторони автомобіля до Arduino через отвори, які тримають номерний знак. Мені довелося зробити ці отвори трохи більшими, щоб усі вісім проводів проходили наскрізь, і все одно залишалося місце для опорних гвинтів.

Звукові сигнали П'єзо розташовувались за допомогою простого двостороннього скотча.

Малюнок 5: Збірка HC-SR04 на правій стороні номерного знаку

Малюнок 6: Збірка одного з п’єзозубців із двостороннім скотчем

Рисунок 7: Розташування модулів на двері багажника (вигляд зсередини)

Рисунок 8: Розташування модулів (вид ззаду)

Разом нам знадобиться близько 6 метрів дроту для датчиків та зумерів, щоб система могла комфортно працювати. Важливо кольоровий код проводів, щоб уникнути плутанини в майбутньому.

Крок 5: Розгортання проводів всередині автомобіля

Як тільки обладнання буде на місці, нам потрібно підключити всі дроти. Датчикам потрібні вісім кабелів (два луни, два тригери, два заземлення та два VCC), які повинні пройти через отвори за номерним знаком. Давайте перевіримо зв’язки:

  • Правий датчик спуску/штифт Arduino 13
  • Відлуння правого датчика/штифт Arduino 12
  • Правий датчик GND/Arduino GND
  • Правий датчик VCC/Arduino VCC
  • Правий зуммер +/штифт Arduino 6
  • Лівий датчик спуску/штифт Arduino 11
  • Відлуння лівого датчика/штифт Arduino 10
  • Лівий датчик GND/Arduino GND
  • Лівий датчик VCC/Arduino Vin
  • Лівий зуммер +/штифт Arduino 7

Порядок VCC та GND не має значення, якщо вони всі пов'язані. Мій Arduino Uno виставляє до трьох підстав, і я використовую вин Vin як джерело живлення для одного з датчиків, подаючи інший датчик від виводу 5V.

Інші версії Arduino більш-менш обмежені у виводах (тобто Arduino Micro виставляє лише дві причини), тому я вирішив зробити додаткову основу, встановивши штифт 2 на LOW.

Рисунок 9: Підключення ультразвукових модулів та джерела живлення

Рисунок 10: Підключення модулів, живлення та звукових сигналів

Крок 6: Увімкнення системи

Блок живлення в автомобілях складний. Хоча автомобільний акумулятор забезпечує 12 Вольт постійного струму (регулятор напруги може перегрітись і пошкодити плату Arduino, якщо ви використовуєте більше 12 В), він підключений до генератора змінного струму. Під час запуску двигуна генератор змінного струму може створювати величезні пікові струми і смажити будь-який підключений до нього електронний пристрій. Це називається дамп завантаження. Детальніше про це ви можете прочитати тут.

З цієї причини найкраще використовувати проміжний захисний ланцюг між вашим Arduino та джерелом живлення автомобіля. Одним із варіантів є саморобний монтаж регулятора напруги, але його конструкція виходить за рамки цієї статті, тому я вирішив переробити старий телефонний адаптер.

Я використовував жіночий USB-кабель-адаптер. Мені довелося замінити кінець USB-адаптера і прикріпити його до жіночого адаптера. Як варіант, я міг зняти жіночі роз'єми Arduino і приєднати всі дроти.

Питання тут: Який із чотирьох проводів куди йде? Будь ласка, дивіться зображення нижче.

Малюнок 11: USB типу B. Для живлення через USB потрібні лише два дроти.

У моєму Arduino Uno підключення USB має тип B. Інші моделі мають інші типи підключень USB, тому вам доведеться перевірити своє та пристосуватись до ваших потреб.

Нарешті, нам потрібно знайти джерело живлення для нашого адаптера. Є кілька варіантів:

  • Розетка для прикурювача (розташована трохи далеко)
  • Індикатор заднього ходу (дуже зручно, але дещо складно, враховуючи роботу моїх дверей)
  • Задній склоочисник (менш елегантний, ніж індикатор заднього ходу, але також зручний у випадку, якщо я хочу його відключити)

Мені пощастило знайти роз'єм між усіма проводами, які проходили за пластиковою панеллю. Я перевірив напругу і ... Вуаля!

Малюнок 12: Знаходження потужності та полярності в роз’їздному роз’ємі в моєму автомобілі

У цьому підручнику ми розробили досить просту, економічно вигідну допоміжну систему паркування на базі Arduino з автомобільними датчиками, які попереджають водія, коли він занадто наближається до автомобілів, що стоять позаду (ззаду). За допомогою двох ультразвукових датчиків наближення та двох п’єзозуммерів система попереджає водія акустичними звуками, частота між звуками вказує на відстань від перешкоди.

Ми створили додаток у реальному житті, використовуючи Arduino, і дослідили межі між прототипом підтвердження концепції, прототипом взаємодії з користувачем та функціональним прототипом. У наступному навчальному посібнику ми можемо розширити концепції, які ми сьогодні обговорювали, щоб створити вдосконалену версію допоміжної системи паркування з кращими функціональними можливостями. Що ти думаєш?


Якщо у вас є коментарі чи запитання, залиште їх нам на Google +. Слідуйте за нами там; найближчим часом ми розмістимо наступний підручник.