Роботы играют важную роль в автоматизации во всех секторах, таких как строительство, военная промышленность, медицина, производство и т. Д. После создания некоторых базовых роботов, таких как робот-следящий за линией, робот с компьютерным управлением и т. Д., Мы разработали этого робота с жестким управлением на основе акселерометра, используя arduino uno. В этом проекте мы использовали движение руки для управления роботом. Для этого мы использовали акселерометр, который работает на ускорение.
Необходимые компоненты
- Arduino UNO
- Двигатели постоянного тока
- Акселерометр
- HT12D
- HT12E
- RF пара
- Драйвер двигателя L293D
- 9-вольтовая батарея
- Разъем аккумулятора
- USB-кабель
- Робот Chasis
RF пара:
Жест управляется робот управляется с помощью руки вместо любого другого способа, как кнопки или джойстика. Здесь достаточно двигать рукой, чтобы управлять роботом. В вашей руке используется передающее устройство, которое содержит радиочастотный передатчик и акселерометр. Это передаст команду роботу, чтобы он мог выполнить необходимую задачу, например, двигаться вперед, назад, повернуть налево, повернуть направо и остановиться. Все эти задачи будут выполняться с помощью жестов руки.
Здесь самый важный компонент - акселерометр. Акселерометр - это 3-х осевое устройство для измерения ускорения с диапазоном + -3g. В этом устройстве используется датчик поверхности из поликремния и схема формирования сигнала для измерения ускорения. Выход этого устройства является аналоговым по своей природе и пропорционален ускорению. Это устройство измеряет статическое ускорение свободного падения, когда мы его наклоняем. И дает результат в виде движения или вибрации.
Согласно техническому описанию, структура поликремния с микромеханической обработкой поверхности adxl335 размещена поверх кремниевой пластины. Пружины из поликремния подвешивают структуру над поверхностью пластины и обеспечивают сопротивление силам ускорения. Прогиб конструкции измеряется с помощью дифференциального конденсатора, который состоит из независимых неподвижных пластин и пластин, прикрепленных к движущейся массе. Фиксированные пластины возбуждаются прямоугольными волнами, сдвинутыми по фазе на 180 °. Ускорение отклоняет движущуюся массу и разбалансирует дифференциальный конденсатор, что приводит к выходному сигналу датчика, амплитуда которого пропорциональна ускорению. Затем используются методы фазочувствительной демодуляции для определения величины и направления ускорения.
Контакт Описание акселерометра
- К этому выводу должно подключаться питание Vcc 5 Вольт.
- X-OUT Этот вывод дает аналоговый выход в направлении x
- Y-OUT Этот вывод дает аналоговый выход в направлении y
- Z-OUT Этот вывод дает аналоговый выход в направлении z.
- GND Земля
- ST Этот вывод используется для установки чувствительности датчика.
Принципиальная схема и объяснение
Робот, управляемый жестами, разделен на две части:
- Часть передатчика
- Приемная часть
В части передатчика используется акселерометр и блок радиочастотного передатчика. Как мы уже обсуждали, акселерометр дает аналоговый выход, поэтому здесь нам нужно преобразовать эти аналоговые данные в цифровые. Для этого мы использовали 4-х канальную схему компаратора вместо любого АЦП. Устанавливая опорное напряжение мы получаем цифровой сигнал, а затем применить этот сигнал HT12E кодировщик данных кодируют или преобразование его в последовательную форму, а затем отправить эти данные с помощью РЧ передатчика в окружающую среду.
На стороне приемника мы использовали радиочастотный приемник для приема данных, а затем применили к декодеру HT12D. Эта микросхема декодера преобразует полученные последовательные данные в параллельные, а затем считывает их с помощью Arduino. По полученным данным мы ездим робот с помощью два двигателя постоянного тока в прямом, обратном, левом, правом и стоп направлении.
За работой
Робот, управляемый жестами, движется в соответствии с движением руки, когда мы помещаем передатчик в руку. Когда мы наклоняем руку вперед, робот начинает двигаться вперед и продолжает движение вперед, пока не будет дана следующая команда.
Когда мы наклоняем руку назад, робот меняет свое состояние и начинает двигаться в обратном направлении, пока не будет дана другая команда.
Когда мы наклоним его влево, Робот повернется налево до следующей команды.
Когда мы наклоняем руку в правую сторону, робот поворачивается вправо.
А для остановки робота мы держим руку в стойле.
Принципиальная схема секции трансмиттера
Принципиальная схема секции приемника
Схема этого робота, управляемого жестами руки, довольно проста. Как показано на схематических диаграммах выше, РЧ пара используется для связи и подключается к Arduino. Драйвер двигателя подключен к Arduino для запуска робота. Входные контакты 2, 7, 10 и 15 драйвера двигателя подключены к цифровым контактам Arduino с номерами 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 |
Вперед |
Мы написали полную программу в соответствии с условиями приведенной выше таблицы. Ниже приведен полный код.