- Вимоги до обладнання:
- Вимоги до програмування:
- Вимірювання швидкості за допомогою датчика Холла та Arduino:
- Схема та апаратна частина:
- Програмування Arduino:
- Мобільний додаток Android для спідометра:
- Встановлення комплекту спідометра на транспортний засіб:
- Робоче пояснення:
У цьому проекті ми робимо крутий спідометр для велосипедів або будь-яких інших автомобілів за допомогою Arduino, який передає швидкість за допомогою Bluetooth на додаток Android, який ми створили за допомогою Processing. Повний проект забезпечується літієвим елементом 18650 і, отже, надзвичайно портативним разом із вашим автомобілем. Щоб ще більше оживити це, я додав можливість заряджати ваш мобільний телефон, оскільки він відображає вашу швидкість. Так, ви також можете використовувати це як блок живлення для своїх мобільних телефонів у дорозі, оскільки 18650 має високу щільність заряду і легко заряджається та розряджається.
Я буду повністю направляти вас з нуля до завершення, спідометр може підключити до нашого автомобіля та протестувати. Чудова особливість тут полягає в тому, що ви можете налаштувати свій додаток для Android для своєї персоналізації та додати більше функцій відповідно до вашої творчості. Але, якщо ви не хочете створювати програму самостійно і просто створюєте частину Arduino, тоді не хвилюйтеся, просто завантажте файл APK (читайте далі) та встановіть на свій мобільний телефон Android. Також перевірте повне відео в кінці.
Тож давайте подивимось, які матеріали нам потрібні для побудови цього проекту, і сплануємо наш бюджет. Всі ці компоненти легко доступні; якщо у вас виникли проблеми з придбанням будь-якого з них, повідомте мене про це в розділі коментарів.
Вимоги до обладнання:
- Arduino Pro Mini (5 В 16 МГц)
- Плата FTDI (для програмування mini ви також можете використовувати UNO)
- Перетворювач постійного струму від 3 до 5 В постійного струму з вихідним зарядним пристроєм USB
- Модуль літієвої батареї TP4056
- Модуль Bluetooth (HC-05 / HC-06)
- Датчик ефекту Холла (US1881 / 04E)
- 18650 Літієвий елемент
- Невеликий шматочок магнітів
- Perf Board
- З'єднувачі Berg (чоловічі та жіночі)
- Набір для пайки
- Невеликі коробки для кріплення комплекту.
Вимоги до програмування:
- IDE Arduino
- Обробка IDE за допомогою андроїд-ADK (лише якщо ви хочете кодувати власний додаток.)
- ПК з ОС Windows / Mac
- Мобільний телефон Android.
Це може виглядати як кілька компонентів та матеріалів, але, повірте мені, як тільки ви завершите цей проект, ви відчуєте, що вони варті того, щоб витратити час.
Вимірювання швидкості за допомогою датчика Холла та Arduino:
Перш ніж ми доберемося до апаратного забезпечення, повідомте нам, як ми насправді збираємось вимірювати швидкість за допомогою Arduino. Існує безліч способів виміряти швидкість транспортного засобу за допомогою Arduino, але використання датчика Холла - це найбільш економічний і найпростіший спосіб зробити це. Датчик Холла є компонент, який визначає полярність магніту. Наприклад, всякий раз, коли один конкретний полюс магніту наближається до датчика, датчик змінює свій стан. Доступно багато типів датчиків залу, ви можете використовувати будь-який із цих проектів, але переконайтеся, що це цифровий датчик залу.
Щоб виміряти швидкість, нам потрібно приклеїти невеликий шматочок магніту до колеса автомобіля, кожен раз, коли магніт перетинає датчик залу, він виявляє його та надсилає інформацію до Arduino.
Arduino отримуватиме переривання кожного разу при виявленні магніту. Ми запускаємо безперервний таймер, використовуючи функцію millis (), і обчислюємо час, необхідний колесу, щоб виконати два обертання (щоб мінімізувати помилки), використовуючи формули нижче:
Зайнятий час = міліс () - певтайм;
Коли ми дізнаємося про час, ми можемо розрахувати обертання за хвилину, використовуючи наведені нижче формули:
об / хв = (1000 / зайнятий час) * 60;
Де (1000 / зайнятий час) дає частоту обертання (обертів в секунду) і помножується на 60 для перетворення обертів в хвилину (обертів в хвилину).
Після розрахунку оборотів в хвилину ми можемо розрахувати швидкість руху автомобіля, використовуючи наведені нижче формули, за умови, що ми знаємо радіус колеса.
v = радіус_колеса * об / хв * 0,37699;
Після обчислення швидкості Arduino передаватиме його за допомогою модуля Bluetooth. Повний код був приведений нижче в розділі коду. Тут також перегляньте інші наші проекти, що стосуються модуля Bluetooth HC-05.
Схема та апаратна частина:
Повна принципова схема проекту наведена нижче:
Тут апаратна частина розділена на дві частини, одна - це основна плата, яка містить усі основні файли. Інша плата просто складається з датчика Холла та резистора, який буде встановлений біля колеса. Давайте почати будівництво основної плати.
Після встановлення зв’язку випробуємо налаштування за допомогою нашої літієвої батареї 18650. Літієвий акумулятор має вибухонебезпечну природу, тому з ним слід поводитися з особливою обережністю. Саме з цієї причини ми використовуємо модуль зарядки літієвої батареї TP4056. Цей модуль має захист від заряду / розряду та захист від зворотної полярності. Отже, акумулятор можна легко зарядити, використовуючи звичайний зарядний пристрій micro USB, і його можна безпечно розряджати, доки він не досягне межі відключення під напругою. Деякі важливі деталі модуля зарядки TP4056 наведені в таблиці нижче.
Параметри: |
Значення на клітинку: |
Зниження напруги |
2,4 В |
Відключення перенапруги |
4,2 В |
Зарядний струм |
1А |
Захист |
Захист від перенапруги та зворотної полярності |
СК сьогодні |
TP4056 (мікросхема зарядного пристрою) та захисна мікросхема DW01 |
Індикатори індикації |
Червоний - триває зарядка Зелений - заряд завершено |
Тепер почнемо з датчика Холла. Ця плата просто містить два компоненти, один - резистор 10K, а інший - датчик Холла. З'єднання можна здійснити, як показано на схемі вище. Після того, як плата готова, підключіть їх за допомогою перемичних проводів згідно схем. Після цього це повинно виглядати приблизно так.
Ще одним важливим етапом проекту є підключення акумулятора 18650 до клем B + та B- модуля TP4056 за допомогою дроту. Оскільки клітини Li + вибухонебезпечні, настійно не рекомендується використовувати паяльник над цими елементами. Хоча люди це робили, це дуже ризиковано і може легко опинитися у великій халепі. Звідси найпростіший спосіб це зробити - використовувати магніти, як показано нижче
Просто припаяйте провід до невеликого шматочка магніту, а потім прикріпіть магніти до клем акумулятора (вони дуже добре притягуються до клем), як показано вище. Ви можете використовувати якийсь качиний кран, щоб додатково закріпити положення магніту.
Програмування Arduino:
Програма для цього проекту дуже проста. Нам просто потрібно розрахувати швидкість обертового колеса, використовуючи входи переривання датчика Холла і передавати обчислену швидкість по повітрю за допомогою модуля Bluetooth. Повна програма наведена в розділі коди нижче і пояснена з допомогою рядка коментарів.
Кожного разу, коли датчик Холла виявляє магніт, він спрацьовує переривання. Це переривання функція викликається magnet_detect () функції . Це місце, де розраховується частота обертання автомобіля.
Після обчислення частоти обертання швидкість обертання колеса обчислюється у функції loop () . Після того, як код готовий, давайте скинути його на наш Arduino pro mini і перевірити його роботу, як показано у відео, поданому в кінці.
Мобільний додаток Android для спідометра:
Додаток Android для цього проекту створено за допомогою програмного забезпечення під назвою Processing. Якщо ви не зацікавлені у створенні власної програми для Android і хочете просто встановити ту, яка тут використовується, ви можете завантажити файл APK та встановити його безпосередньо на своєму смартфоні, виконавши наведені нижче дії.
1. Ви можете безпосередньо завантажити файл APK за посиланням нижче. Цей файл APK створений для Android версії 4.4.2 і вище (Kitkat вище). Витягніть файл.apk із zip-файлу.
Додаток Android для спідометра
2. Перенесіть файл.Apk з комп’ютера на мобільний телефон.
3. Увімкніть установку програми з невідомих джерел у налаштуваннях Android.
4. Встановіть програму.
У разі успішного встановлення на вашому телефоні встановлена програма з назвою “ Processing_code ”, як показано нижче:
Розробіть власний додаток за допомогою обробки:
Або ви можете використовувати файл.APK, наведений вище, або ви можете створити власний додаток за допомогою обробки, як описано тут. Весь код програми Processing Android ви можете завантажити звідси. Програма пояснюється за допомогою рядків коментарів. Але якщо у вас виникли проблеми або ви хочете трохи змінити свою програму, скористайтеся розділом коментарів, і я вам допоможу.
Програма android встановлює зв’язок з нашим модулем Bluetooth під час запуску програми та отримує швидкість автомобіля, яку розрахувала та передала Arduino Pro mini. Я створив невелику графіку, щоб також відображати швидкість за допомогою аналогового спідометра, щоб зробити його вигляд трохи привабливішим. Ви можете придумати власні ідеї та налаштувати код, щоб персоналізувати його для своїх потреб. Також перевірте інші наші проекти обробки, щоб дізнатись більше про це:
- Гра в пінг-понг за допомогою Arduino
- Смарт-телефон, керований FM-радіо за допомогою обробки.
- Радіолокаційна система Arduino з використанням процесора та ультразвукового датчика
Після того, як ви встановили програму на свій мобільний телефон, час перевіряти наш проект. Але ми ще не встановили наш комплект на транспортний засіб. Давайте зробимо це.
Встановлення комплекту спідометра на транспортний засіб:
Я встановив цей комплект на своєму двоциклі та протестував його, і він працює як шарм. Монтаж набору залишається вашим творчим потенціалом, ви можете дістати власну маленьку коробку в магазині, просвердлити отвори для проводів та з'єднань та встановити її на свій автомобіль. Одне загальне важливе, на що слід звернути увагу, - це те, що магніт повинен бути прикріплений до обода колеса, а датчик Холла повинен бути встановлений якомога ближче до магніту, щоб кожен раз, коли магніт перетинає датчик Холла, він міг його виявити, розташування показано нижче.
Оскільки у мене є 3D-принтер, я розробив власні корпуси, щоб вони виглядали добре і таким чином, щоб їх можна було легко встановити та від’єднати від нашого велосипеда для зарядки акумулятора. Отже, якщо у вас є 3D-принтер або якщо ви можете отримати доступ до нього, щоб надрукувати кілька матеріалів, продовжуйте читати, в іншому випадку пропустіть цю частину та використовуйте свою власну креативність, щоб змонтувати ці речі. Навчіться користуватися 3D-принтером тут.
Якщо ви вирішили використати мої дизайнерські файли та надрукувати свої корпуси, то переконайтеся, що ваша основна дошка для перфорації наближена до розмірів, наведених нижче
Повні файли Design та STL для 3D-друку можна завантажити звідси. Якщо плата схожа на зроблену тут, тоді ви можете безпосередньо 3D роздрукувати свої корпуси, використовуючи дані файлів STL, або ж ви можете використовувати файли дизайну та змінити їх відповідно до вашої плати.
Почнемо з 3D-надрукованого невеликого корпусу, який буде використовуватися для модуля датчика залу. Роздрукуйте корпус, розмістіть в ньому ланцюг і закріпіть дроти через передбачений отвір, а потім встановіть його на свій автомобіль так, щоб датчик холу знаходився біля магніту, як показано нижче.
Рекомендується змоделювати основну плату перед тим, як проектувати корпус для неї, щоб ми могли переконатися, що вона правильно входить, тому що, повірте, це було б кошмаром, коли ви друкуєте свій корпус протягом довгих 6 годин, і в підсумку він не поміститься у вашу дошку для парфумерії. Модель дошки для моєї основної дошки для перфорації показана нижче.
Зараз буде легко спроектувати основну коробку корпусу. Я розробив основну коробку у двох файлах, так що одна частина коробки буде містити електроніку, а інша буде постійно закріплена на циклі за допомогою затискачів та болтів. Ці дві деталі можна легко закріпити, щоб зібрати цілий корпус, а потім розділити, коли нам потрібно зарядити літієву батарею або попрацювати на електроніці.
Після того, як перша частина корпусу розроблена і надрукована, можна розмістити всі наші компоненти всередині, як показано нижче, і це повинно виглядати приблизно так..
Як бачите, перед коробкою є два отвори, один використовується для USB, через який ми можемо заряджати наш мобільний телефон. Інший - для мікро-USB, за допомогою якого ми можемо заряджати літієву батарею.
Тепер надрукуємо другу частину основного корпусу та перевіримо, чи відповідає вона першій частині, як очікувалося.
Після того, як ми задоволені деталями, ми можемо змонтувати другу частину корпусу за допомогою затискача C та деяких гайок та болта, як показано нижче:
Тепер давайте підключимо акумулятор до нашого основного контуру за допомогою магнітів і стрічки, як обговорювалося вище, і збережемо його в безпеці всередині нашого корпусу.
Тобто це наше обладнання готове до остаточного монтажу. Просто підключіть модуль датчика залу до основної плати і посуньте рухомий корпус у нерухомий корпус, і він готовий до дії.
Робоче пояснення:
Переконавшись, що ваша літієва батарея заряджена, просто увімкніть комплект за допомогою перемикача та відкрийте програму Android. Якщо все піде добре, ви повинні отримати екран нижче, і він повинен відображати, що ваша програма підключена до вашого модуля Bluetooth HC-05, як показано нижче. Не забудьте з'єднати свій модуль Bluetooth з телефоном перед тим, як відкривати програму.
Тепер просто покатайтеся на своєму транспортному засобі, і ви повинні помітити спідометр, який показує поточну швидкість вашого автомобіля. Ви також можете зарядити свій мобільний телефон під час їзди за допомогою звичайного зарядного кабелю. Закінчивши поїздку, ви можете зсунути коробку з циклу та зарядити її від мережі змінного струму за допомогою будь-якого мобільного зарядного пристрою для смартфонів.
Отже, ви можете не тільки виміряти швидкість свого автомобіля, але й одночасно зарядити мобільний. Сподіваюся, вам сподобався проект. Ви можете додати програму набагато більше можливостей до цього проекту, просто налаштувавши коди. Ви можете розрахувати відстань, яку подолала ваша поїздка, верхню та середню швидкість вашої їзди тощо. Повідомте мене, якщо у вас виникнуть запитання через коментарі, і я буду радий вам допомогти.
Як зазвичай, вся робота над проектом буде показана у відео нижче.