You are on page 1of 2

АНДРОИД Апликација

Апликацијата ја направив користејќи ја онлајн апликацијата MIT App Inventor . На горниот


дел имаме две копчиња за поврзување на паметниот телефон со Bluetooth-модулот HC-
05. Потоа од левата страна имаме описна слика на раката на роботот, а од десната страна
ги имаме шесте лизгачи за контрола на серво моторите и еден лизгач за контрола на
брзината.

Секој лизгач има различна почетна, минимална и максимална вредност што одговара на
зглобовите на раката на роботот. На дното на апликацијата, имаме 4 копчиња,
зачувување, извршување и ресетирање преку кои можеме да ја програмираме раката на
роботот да работи автоматски и копче за извршување на меморираната функција. Исто
така, постои нумерички индикатор на до сега меморираните чекори (позиции).
Користењетпо на апп инвенторот е едноставно и ти дозволува крерање на логички
блокови и графичко поврзување на истите.

Први блокови од левата страна се блоковите за поврзување на паметниот телефон со


модулот Bluetooth.

Потоа, се блчоковите за зголемување и намалување на вредностите на секој серво мотор


кои потоа ја контролираат нивната позицијата и последни се блоковите со копчиња за
програмирање на раката на роботот. Значи, ако притисниме на плу или минус копчето на
било кој мотор, со користење на функцијата Bluetooth .SendText, го испраќаме текстот од
позицијата на тој мотор до Arduino то. Пратениот текст се состои од префикс што означува
за кој серво мотор се работи , како и тековната вредност на текстуалното поле.

Затоа, во Arduino кодот, ја кориситме функцијата startWith (), со која го проверуваме


префиксот на секој влезен податок и знаеме што да правиме со податокот понатаму. На
пример, ако префиксот е „s1“, знаеме дека треба да го поместиме серво-број еден.
Користејќи ја функцијата substring () го добиваме преостанатиот текст, или тоа е вредноста
на позицијатана која сакаме да го прдвижиме серво моторт. Вредноста ја претвораме во
цел број и истата ја користиме за да го преместиме серво во таа позиција.

Тука можеме едноставно да ја повикаме функцијата за write() и серво моторот ќе оди до


таа позиција, но на тој начин серво ќе работи со својата максимална брзина што е
премногу за раката на роботот. Наместо тоа, ние треба да ја контролираме брзината на
серво моторот, и затоа користевме неколку if со цел постепено да го преместувам серво
од претходната во сегашната позиција со спроведување на време на одложување помеѓу
секоe повторување. Со промена на времето на одложување, можете да ја промените
брзината на серво.

Истиот метод се користи за движење на секоја оска на раката на роботот.


Под нив е копчето ЗАЧУВАЈ. Ако го притиснеме копчето SAVE, положбата на секој серво
мотор е зачувана во низа. Со секое притискање, индексот се зголемува така што низата се
пополнува чекор по чекор.

Потоа, ако го притиснеме копчето RUN, ја нарекуваме сопствената функција runservo ()


што работи зачувани чекори. Ајде да погледнеме во оваа функција. Значи, тука ги
извршуваме зачуваните чекори одново и одново додека не го притиснеме копчето RESET.
Користејќи ја јамката FOR поминуваме низ сите позиции зачувани во низите и
истовремено проверуваме дали имаме дојдовни податоци од паметниот телефон. Овие
податоци можат да бидат копчето RUN / PAUSE, кое го паузира роботот и ако повторно се
кликне, продолжува со автоматските движења. Исто така, ако ја смениме брзината, ќе ја
користиме таа вредност за да го смениме времето на одложување помеѓу секоја
повторување во јамките подолу, што ја контролира брзината на серво моторите.

На сличен начин како што е објаснето претходно со овие IF изјави и ЗА јамки, ние ги
преместуваме сервосите во нивната следна позиција. Конечно, ако го притиснеме копчето
РЕСЕТ, ќе ги исчистиме сите податоци од низите на нула и исто така ќе го ресетираме
индексот на нула за да можеме да ја репрограмираме роботската рака со нови движења.

You might also like