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