Роботи відіграють важливу роль в автоматизації у всіх секторах, таких як будівництво, військовий, медичний, виробничий та ін. Після виготовлення деяких основних роботів, таких як робот-послідовник ліній, робот, керований комп'ютером, тощо, ми розробили цей робот, керований жестом на основі акселерометра, використовуючи arduino uno. У цьому проекті ми використовували рух руки для керування роботом. Для цього ми використовували акселерометр, який працює на прискорення.
Необхідні компоненти
- Arduino UNO
- Двигуни постійного струму
- Акселерометр
- HT12D
- HT12E
- РФ пара
- Водій двигуна L293D
- 9-вольтовий акумулятор
- З'єднувач акумулятора
- USB-кабель
- Робот Шасіс
RF пара:
Жест управляється робот управляється за допомогою руки замість будь-якого іншого способу, як кнопки або джойстика. Тут потрібно лише рухати рукою, щоб керувати роботом. У вашій руці використовується передавальний пристрій, який містить радіочастотний передавач та акселерометр. Це передасть команду роботу, щоб він міг виконати необхідне завдання, наприклад, рухатися вперед, назад, повертати ліворуч, повертати праворуч і зупинятися. Всі ці завдання виконуватимуться за допомогою жесту руки.
Тут найважливішим компонентом є акселерометр. Акселерометр - це 3-осьовий прилад для вимірювання прискорення з діапазоном + -3g. Цей пристрій виготовлений з використанням полікремнієвого поверхневого датчика та схеми кондиціонування сигналу для вимірювання прискорення. Вихід цього пристрою має аналоговий характер і пропорційний прискоренню. Цей пристрій вимірює статичне прискорення сили тяжіння, коли ми його нахиляємо. І дає результат у формі руху або вібрації.
Згідно з технічним паспортом полікремнієвої поверхнево-мікрообробної структури adxl335, розміщеної поверх кремнієвої пластини. Полікремнієві пружини підвішують конструкцію на поверхні пластини і забезпечують опір силам прискорення. Прогин конструкції вимірюється за допомогою диференціального конденсатора, який включає незалежні нерухомі пластини та пластини, прикріплені до рухомої маси. Нерухомі пластини рухаються від прямокутних хвиль, що не відповідають фазі, на 180 °. Прискорення відхиляє рухому масу і врівноважує диференціальний конденсатор, що призводить до виходу датчика, амплітуда якого пропорційна прискоренню. Потім для визначення величини та напрямку прискорення використовують фазочутливі методи демодуляції.
Pin Опис акселерометра
- На цьому штифті повинен підключатися живлення Vcc 5 вольт.
- X-OUT Цей штифт дає аналоговий вихід у напрямку x
- Y-OUT Цей штифт дає аналоговий вихід у напрямку y
- Z-OUT Цей штифт дає аналоговий вихід у напрямку z
- GND Земля
- ST Цей штифт використовується для встановлення чутливості датчика
Принципова схема та пояснення
Робот, керований жестами, розділений на два розділи:
- Частина передавача
- Частина приймача
У передавальній частині використовується акселерометр і радіочастотний блок передавача. Як ми вже обговорювали, що акселерометр дає аналоговий вихід, тому тут нам потрібно перетворити ці аналогові дані в цифрові. Для цього ми використали 4-канальну схему порівняння замість будь-якого АЦП. Встановивши еталонну напругу, ми отримуємо цифровий сигнал, а потім застосовуємо цей сигнал до кодера HT12E для кодування даних або перетворення їх у послідовну форму, а потім надсилаємо ці дані за допомогою радіочастотного передавача в навколишнє середовище.
На кінці приймача ми використовували радіочастотний приймач для отримання даних, а потім застосовували до декодера HT12D. Цей IC-декодер перетворює отримані послідовні дані в паралельні, а потім зчитує за допомогою arduino. Згідно з отриманими даними, ми керуємо роботом, використовуючи два двигуни постійного струму в прямому, зворотному, лівому, правому та зупинному напрямку.
Працює
Робот, керований жестами, рухається відповідно до руху руки, коли ми поміщаємо передавач в руку. Коли ми нахиляємо руку в передній бік, робот починає рухатися вперед і продовжує рухатися вперед, доки не буде подана наступна команда.
Коли ми нахиляємо руку назад, робот змінює свій стан і починає рухатися у зворотному напрямку, доки не буде подана інша команда.
Коли ми нахилимо його в лівий бік робота, поверніть ліворуч до наступної команди.
Коли ми нахиляємо руку в правий бік, робот повернувся вправо.
А для зупинки робота ми тримаємо руку стабільно.
Принципова схема для секції передавача
Схема ланцюга приймача
Схема для цього робота, керованого жестом руки, досить проста. Як показано на схематичних схемах вище, RF-пара використовується для зв'язку та з'єднується з arduino. Драйвер двигуна підключений до arduino для запуску робота. Вхідні штирі 2, 7, 10 і 15 драйвера двигуна підключені до цифрових штифтів Arduino No 6, 5, 4 і 3 відповідно. Тут ми використовували два двигуни постійного струму для керування роботом, в яких один двигун підключений на вихідному штифті драйвера двигуна 3 і 6, а інший двигун підключений на 11 і 14. Акумулятор 9 вольт також використовується для живлення двигуна двигуна для приводу двигунів.
Пояснення програми
У програмі насамперед ми визначили вихідні штифти для двигунів.
А потім у налаштуванні ми дали вказівки, щоб закріпити.
Після цього ми зчитуємо введення за допомогою оператора if і виконуємо відносну операцію.
Для цього робота, керованого жестами, є п’ять умов, які подані нижче:
Рух руки |
Введення для Arduino за допомогою жесту |
||||
Бічні |
D3 |
D2 |
D1 |
D0 |
Напрямок |
Стабільний |
0 |
0 |
0 |
0 |
Стій |
Нахил вправо |
0 |
0 |
0 |
1 |
Поверніть праворуч |
Нахил вліво |
0 |
0 |
1 |
0 |
Поверніть наліво |
Нахил назад |
1 |
0 |
0 |
0 |
Відсталі |
Нахил спереду |
0 |
1 |
0 |
0 |
Вперед |
Ми написали повну програму відповідно до наведених вище табличних умов. Нижче наведено повний код.