Сьогодні я покажу як зробити простого Arduino робота, який може самосійно огинати перешкоди на своєму шляху. Взагалі серед величезної кількості IoT (інтернет речей) компонентів в продажі є багато готових конструкторів, до складу яких входять двигуни, драйвер, платформа, мікроконтролер і т.д. Проте я вирішив зібрати робо-машинку самостійно.
Використані комплектуючі
1. | Міроконтролерна плата Arduino Uno | |
2. | Драйвер двигунів для Arduino L293D | |
3. | Акумулятори 18650 | |
4. | Ультразвуковий давач відстані HC-SR04 | |
5. | Сервопривід | |
6. | Двигуни з редуктором 1:48 (двох-осьові) | |
7. | Колеса | |
8. | Відсік для акумуляторів, провідники |
Загалом Arduino і драйвер двигунів L293D – це комбінація, яка досить часто використовується для створення різноманітних проектів, особливо в області робототехніки та автоматизації. Arduino – це відкрита платформа для розробки електроніки, яка дозволяє легко програмувати мікроконтролери, а L293D – це інтегральна схема, яка використовується для керування двигунами, зокрема, для зміни напрямку обертання і керування швидкістю.
Основні застосування Arduino з L293D включають:
Керування моторами: Arduino використовується для керування різними типами моторів, такими як DC мотори, крокові мотори тощо. L293D виступає як мостовий драйвер, який дозволяє Arduino контролювати напрямок та швидкість обертання моторів.
Створення роботів: За допомогою Arduino та L293D можна будувати різноманітних роботів, від простих рухомих платформ до складних роботизованих систем.
Керування навантаженням: Якщо потрібно керувати навантаженням, яке потребує точного керування швидкістю і напрямком, таким як конвеєр або підйомник, Arduino з L293D може бути досить ефективним рішенням.
Автоматизація домашніх пристроїв: Використання Arduino з L293D дозволяє автоматизувати різні процеси у домашніх пристроях, таких як автоматичні гардини, системи поливу рослин і т.д.
Проекти з регульованою швидкістю: Завдяки можливості керування швидкістю моторів за допомогою драйвера L293D, Arduino може бути використана у проектах, де потрібно регулювати швидкість обертання мотора, наприклад, у вентиляторах, транспортних засобах тощо.
Навчання програмуванню та електроніці: Arduino з L293D чудово підходить для освоєння основ програмування та електроніки. Його можна використовувати у навчальних закладах для створення різноманітних проектів, які допомагають студентам зрозуміти базові концепції.
Загалом, комбінація Arduino та драйвера L293D відкриває широкі можливості для творчих проектів у сфері робототехніки, автоматизації та електроніки, надаючи можливість контролювати різноманітні пристрої та механізми. Цим ми далі й займемося.
Апаратна частина
Схема підключення
Корпус-платформа для робота
Отже в якості платформи робота я вирішив використати звичайну картонну коробку. Поставив двигуни всередину, пробив отвори для осей, закріпив їх за допомогою картону та гарячого клею.
Зробив картонне перекриття і на ньому розмістив мікроконтролерну плату Arduino Uno, до якої підключив драйвер двигунів L293D. До драйвера у свою чергу під’єднав ультразвуковий датчик відстані HC-SR04 із сервоприводом та акумуляторне живлення. Сам датчик відстані закріпив на сервоприводі, а сервопривід стяжкою зверху передньої внутрішньої стінки картонної коробки.
Ззовні до осей двигунів причепив колеса, акуратно притримуючи кожен двигун з середини коробки рукою.
Алгоритм роботи машинки
- Після увімкнення машинка розпочинає рух вперед та аналіз перешкод;
- Якщо немає перешкод – продовжує рух вперед;
- Якщо я перешкода спереду, зупиняється та аналізує ліво і право;
- Якщо шлях вільний зліва – повртає ліворуч;
- Якщо шлях вільний справа – робот повертає праворуч.
Програмування Arduino робота
Я знайшов і перевикористав готовий програмний код для свого робота. Ви також можете отримати його за цим посиланням. Пропонована програма описує процес зчитування даних з ультразвукового датчика для виявлення перешкод поруч із робо машинкою так керування двигунами у відповідності з отриманими даними. Ви звісно можете модифікувати бащовий код програми додавши ширшу функціональність для свого робота. Після цього потрібно прошити плату Arduino кодом за допомогою Arduino IDE.
На завершення
При конструюванні цього робота, явикористав для Arduino драйвер двигунів L293D. Проте ви також можете зустріти велику кількість проектів побудованих з використанням драйвера L298N.
L298N – це інтегральна схема мостового драйвера, яка використовується для керування DC та кроковими моторами. Вона має два H-моста, які дозволяють контролювати напрямок обертання та швидкість двигунів. L298N широко використовується в робототехніці, автомобільній електроніці та інших областях, де потрібен точний та ефективний контроль двигунів. Вона працює з напругою живлення від 5 до 35 вольт і може керувати струмом до 2 ампер на кожний канал. L298N легко інтегрується з Arduino або будь-якими іншими мікроконтролерами, що робить її популярним вибором для багатьох проектів. Власне в майбутньому планую використати його також. Зокрема не тільки у зв’язці з Arduino, а й також із міні-комп’ютером Raspberry Pi.
Можливо вам також буде цікавий інший мій проект? Наприклад по майнингу на Arduino.