- Потребан материјал
- ХЦ-06 Блуетоотх модул
- Кружни дијаграм
- Конфигурисање апликације Роборемо за контролу серво-а:
- Код и објашњење
- Рад серво мотора помоћу Блуетоотх-а:
Коришћење серво мотора је уобичајено у роботизацији за прецизну контролу. Овде, у овом упутству ћемо вам показати како бежично користити серво мотор са Ардуино УНО и Андроид уређајем путем Блуетоотх везе. Већ смо контролисали серво помоћу Ардуина, овог пута контролишемо серво мотор користећи Ардуино и Блуетоотх.
Потребан материјал
- Ардуино УНО
- ХЦ-05 или ХЦ-06 Блуетоотх модул
- Серво мотор
- Апликација Роборемо из Плаисторе-а
- Бреадбоард
- Прикључна жица
ХЦ-06 Блуетоотх модул
Блуетоотх може да ради у следећа два режима:
- Цомманд Моде
- Начин рада
У командном режиму моћи ћемо да конфигуришемо Блуетоотх својства као што су назив Блуетоотх сигнала, његова лозинка, брзина брзине пријеноса итд. Оперативни режим је онај у којем ћемо моћи да шаљемо и примамо податке између ПИЦ микроконтролера и Блуетоотх модул. Стога ћемо се у овом упутству играти само са режимом рада. Командни режим биће препуштен подразумеваним подешавањима. Име уређаја биће ХЦ-05 (користим ХЦ-06), а лозинка ће бити 0000 или 1234, а што је најважније подразумевана брзина преноса података за све Блуетоотх модуле биће 9600.
Модул ради на напајању од 5В, а сигнални пинови раде на 3.3В, па је у самом модулу присутан регулатор од 3.3В. Отуда не треба да бринемо због тога. Од шест пинова, само четири ће се користити у режиму рада. Табела прикључака пинова приказана је испод
С.Но | Приквачите на ХЦ-05 / ХЦ-06 | Прикачите име на МЦУ | Пин број у ПИЦ-у |
1 | Вцц | Вдд | 31 ул пински |
2 | Вцц | Гнд | 32 тх пински |
3 | Тк | РЦ6 / Тк / ЦК | 25 тх пин |
4 | Рк | РЦ7 / Рк / ДТ | 26 -ог пински |
5 | Држава | НЦ | НЦ |
6 | СР (Омогући) | НЦ | НЦ |
Погледајте наше друге пројекте да бисте сазнали више о Блуетоотх модулу ХЦ-05 са другим микроконтролерима:
- Аутомобил под контролом Блуетоотх-а који користи Ардуино
- Систем за кућну аутоматизацију контролисан Блуетоотх-ом помоћу 8051
- Гласовно контролисана светла помоћу Распберри Пи
- ФМ радио контролиран паметним телефоном помоћу Ардуина и обраде
- Повезивање Блуетоотх модула ХЦ-06 са ПИЦ микроконтролером
Овде погледајте и све пројекте повезане са Блуетоотх-ом.
Кружни дијаграм
Дијаграм кола за овај пројекат Ардуино Блуетоотх Серво Мотор Цонтрол дат је у наставку:
Конфигурисање апликације Роборемо за контролу серво-а:
1. корак: - Преузмите апликацију Роборемо са Андроид Плаи продавнице и инсталирајте је на свој паметни телефон. Након што га инсталирате, видјет ћете прозор апликације као што је приказано на слици1, а кликом на дугме 'Мену' видјет ћете прозор приказан на слици2 доље:
Корак 2: - Затим кликните на дугме за повезивање и видећете прозор приказан на слици 3 доле, тада морате да изаберете „ Блуетоотх РФЦОММ“, а затим ћете моћи да повежете свој блуетоотх модул ХЦ-06 са андроид апликацијом „Роборемо“.
Корак 3: - Након повезивања са блуетоотх модулом ХЦ-06 вратите се у прозор фигуре2, а затим кликните на „ едит уи “ за креирање корисничког интерфејса према вашим потребама.
Када кликнете на 'едит уи' , поново ћете видети прозор приказан на слици1, а затим кликните било где на екрану, видећете прозор апликације као што је слика4 и изаберите ' Дугме ' да бисте добили структуру дугмета.
Корак 4: - Након одабира дугмета на екрану ћете добити структуру дугмета за уређивање. Можете да промените величину и преместите структуру било где на екрану. Сада, за подешавање вредности која ће се послати на клик преко Блуетоотх-а , подесили сте „пресс пресс ацтион“ (као што је приказано на слици 6) и унесите вредност коју желите да пошаљете са тог одређеног дугмета. Као, шаљемо '1' за ротирање сервоа притиском на дугме „Старт“ у апликацији Роборемо андроид.
Све вредности које се шаљу кликом на различите тастере можете да проверите у табели датој у даљем одељку.
Корак 5: - Напокон имамо и кориснички интерфејс за управљање серво мотором помоћу паметног телефона.
Код и објашњење
Комплетна шифра серво мотора Ардуино Цонтрол преко Блуетоотх- а дата је на крају.
Ардуино има библиотеку за серво моторе и он обрађује све ствари повезане са ПВМ-ом да би ротирао серво, само треба да унесете угао за који желите да се окрећете и постоји функција серво1.врите (англе); који ће окретати серво под жељеним углом.
Дакле, овде почињемо са дефинисањем библиотеке за серво мотор, а софтвер Серијска библиотека се користи за дефинисање Рк и Тк пина.
#инцлуде
У доњем коду иницијализујемо Ардуино пинове за Рк и Тк, дефинишући променљиве за серво и друге ствари .
Серво миСерво; инт ТкД = 11; инт РкД = 10; инт сервопоситион; инт сервопос; инт нев1; СофтвареСериал блуетоотх (ТкД, РкД);
Сада, подесите све променљиве и компоненте у почетну фазу. Овде смо приложен серво на 9 -ог пин на Ардуино и направио почетни положај серво на 0 степену. Брзина преноса података за серијску и Блуетоотх комуникацију такође је постављена на 9600.
воид сетуп () { инт пос = 0; миСерво.аттацх (9); миСерво.врите (0); Сериал.бегин (9600); // започињемо серијску комуникацију на 9600бпс блуетоотх.бегин (9600); }
У функцији воид лооп , Ардуино ће све време проверавати долазне вредности и ротирати серво у складу са примљеном вредношћу са паметног телефона. Све вредности ће се примити помоћу серијске комуникације.
Ако је вредност 0, серво ће се ротирати до 0 степени. Слично томе, ако из Блуетоотх апликације пошаљемо 45, 90, 135 и 180, серво се окреће под углом од 45, 90, 135 и 180 степени.
воид лооп () { иф (блуетоотх.аваилабле ()) { Стринг валуе = блуетоотх.реадСтринг (); сервопоситион = валуе.тоИнт (); иф (валуе.тоИнт () == 0) { Сериал.принтлн (сервопоситион); миСерво.врите (0); } иф (валуе.тоИнт () == 45) { Сериал.принтлн (сервопоситион); миСерво.врите (45); } иф (валуе.тоИнт () == 90) { Сериал.принтлн (сервопоситион); миСерво.врите (90); } иф (валуе.тоИнт () == 135) { Сериал.принтлн (сервопоситион); миСерво.врите (135); } иф (валуе.тоИнт () == 180) { Сериал.принтлн (сервопоситион); миСерво.врите (180); }
Ако вредност „1“ пошаљемо притиском на дугме Старт, серво ће се непрекидно ротирати док се не притисне дугме стоп . Овде шаљемо '2' на притиском стоп дугме, која ће бити прочитана од стране Ардуино и она ће прекинути вхиле петљу и серво ће бити заустављен.
вхиле (валуе.тоИнт () == 1) {иф (блуетоотх.аваилабле ()) {валуе = блуетоотх.реадСтринг (); Сериал.принтлн (вредност); иф (валуе.тоИнт () == 2) {Сериал.принтлн ("ГГГ"); пауза; }} сервопос ++; кашњење (30); Сериал.принтлн (сервопос); миСерво.врите (сервопос); иф (сервопос == 180) {сервопос = 0; бреак;}}}}
Рад серво мотора помоћу Блуетоотх-а:
У овом пројекту управљамо серво мотором помоћу Андроид апликације „Роборемо“. У интерфејсу ове апликације створили смо 5 тастера за управљање серво мотором како је раније објашњено. Рад сваког дугмета дат је у доњој табели:
С.бр. |
Име дугмета |
Вредност слања |
Опис |
1. |
Почетак |
1 |
Ово дугме се користи за покретање ротације серво-погона од 0⁰ до 180⁰. |
2. |
Зауставити |
2 |
Ово дугме служи за заустављање серво-погона у било ком тренутку. |
3. |
0⁰ |
0 |
Ово дугме служи за ротирање сервоа на 0⁰. |
4. |
90⁰ |
90 |
Ово дугме служи за ротирање сервоа на 90⁰. |
5. |
180⁰ |
180 |
Ово дугме служи за ротирање сервоа за 180⁰. |
Дакле, притиском ових дугмади на вашој Андроид апликацији Роборемо , подаци ће се слати преко Блуетоотх-а паметног телефона на ХЦ-06 Блуетоотх модул. Од тог ХЦ-06 модула Ардуино прима податке и Ардуино окреће серво под углом дефинисаним у коду за одређено дугме. Такође смо кодирали за угао 45 и 135, али због ограничења апликације Роборемо можете да креирате само 5 тастера, па смо прескочили два тастера.
Дакле, на овај начин можете податке са паметног телефона послати на Ардуино користећи Блуетоотх за бежично управљање серво-мотором. Ово се може користити у многим апликацијама попут аутомобила играчака, робота итд.