Үтқыр роботтьщ навигациялық жүйесінің түпкі мақсаты қандаіі міндет- тердің шешілуін көздейді?
Роботтандырылған өзгермелі жүйелер қандай үлгілерге бөлінеді? Олардын, айырмашылықтары неде? Осы туралы әңгімелеңдер.
‘Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217
Все учебники Казахстана на ОКЬЬУК.К^
‘Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217
Все учебники Казахстана на ОКЬЬУК.К^
126
‘Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217
Все учебники Казахстана на ОКЬЬУК.К^
‘Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217
Все учебники Казахстана на ОКЬЬУК.К^
/* қүрылым басқару интерфейсіңнің барлық айнымалыларын анықтауды */
ІурейеГ яігисі {
/* іприі үагіаЫе */
зі^песі сһаг .іоузііск і х; /* =джойстиктің X қалпының -100 .. 100 координаты */
5І£песі сһаг іоузііск_1_у; /* = джойстиктің У калпының -100 .. 100 координаты */
иіі8І£песі сһаг 8\үіісҺ_1; /* =1 егер ажыратып-қоскыш қосылып түрса және =0 егер ажыратылса */
/* оіһег уагіаЫе */
шіБІ£песІ сһаг соппесі_£1а£; /* =1 И игіге соппесіесі, еізе =0 */
} ВетоіеХҮТуреЭеГ;
Одан әріде бүл кезде біздің кішкене машинаның моторлары арқылы басқару тетігі орналастырып қойылған программаның негізгі коды келтіріліп көрсетіледі. Өздерің скетчтерге берілген кодты көшіріп ала аласыңдар немесе жүктелген үлгіге кодтың керекті бөліктерін таңдап коса аласыңдар.
#іпс1ікіе * 8о£і\үаге8егіа1.һ>
#іпс1ис!е <іпііурез.һ>
#іпс1исІе «гетоіеху.һ»
/*оң жақтағы мотормен басқарұ пиндерін анықтаймыз*/
#йе£іпе РІХ_МОТОК_КІОНТ_ОР 7
#Не£іпе РІХ_МОТОК_КІСШТ_ПХ 6
#йейне РІХ МОТОК КІОНТ 8РЕЕЭ 10
/* сол жақтағы мотормен басқару ппндерін анықтаймыз */
#йе£іпе РШ_МОТОК_ЬЕЕТ_ІТР 5
#сіеі'іпе РШ_МОТОК_ ЕЕҒТ_ОХ 4
#йейпе РШ_МОТОК_ ЬЕҒТ_8РЕЕО 9
/* светодиодпен басқару пиндерін анықтаймыз */
#йейне РЖ ЬЕБ 13 *
/* өрбір мотор үшін пиндері аұдарылған екі топтаманы анықтайыз */
инзідпесісһагКі^һіМоіог[3] = { РІХ_МОТОК_КЮНТ_ЕР, РІХ_МОТОК_КІОНТ_ ПК РШ_МОТОК_КЮНТ_8РЕЕП};
ипзійпесі сһаг ЬейМоіог[3] = < РІМ_МОТОК_ ЬЕҒТ_ІТР, РЖ_МОТОК_ ЬЕҒТ_ОХ, РІХ'_МОТОК_ ЬЕҒТ_8РЕЕП>;
/*
Мотор жылдамдығын басқару
тоіог - пиндер топтамасына сілтеме жасау
у - мотор жылдамдығы -100-ден 100-ге дейінгі мәндерді қабылдай алады
‘к; ҮоіН \¥һее1 (ип8І£песі сһаг * шоіог, іпі V)
{
і£ (у>100) у=100;
И (у<=100) у=100;
128
‘Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217
‘Книга предоставлена исключительно в образовательных целях
согласно Приказа Министра образования и науки Республики Казахстан от 17 мая 2019 года № 217
Все учебники Казахстана на ОКЬЬУК.К^
Ең басында пиндердің нөмірлері анықталады, олар моторларды басқару үшін қолданылады. Одан әрі пин нөмірлері оң жақтағы және сол жақтағы мотор үшін екі топқа топтастырылады. Әрбір моторды басқару үшін Ь298Х чиптегі драйвер аркылы 3 спгналды колдану ке- рек болады: мотордың айналу бағытын көрсететін екі дискреттік және айналу жылдамдығын анықтайтын бір үқсас сигнал. Берілген қайта жасаушылармен бізде ХҮҺееІ функциясы айналысады. Функцияның кірісіне таңдалған мотордың пиндер топтамасына және -100-ден 100 ге дейінгі таңбалык белгі саны ретінде айналу жылдамдығына сілтеме жібереміз. Егер 0 жылдамдығын жіберсек, мотор ажыратылады. 8еіир алдын ала анықталған функциясына шығыс ретіндегі жүмыс істеу үшін пиндер бейімделінеді. Үқсас сигнал үшін ШИМ қайта жасағышы ретінде жүмыс істей алатын пиндер пайд аланы лады. Бүлар 9 және 10 пиндері. Олар Агсіиіпо әлемінде бейімдеуді қажет етпейді.
Ьоор алдын ала анықталған функциясындағы программа жүмысының әрбір итерацпясында КешоІеХҮ модулінің өңдегіші шақырылады. Одан әрі жарықтағышты жағуды басқару, моторларды басқару жүргізіледі. Моторларды баскару үшін ВетоіеХҮ қүрылымынан X және Ү джойстиктерінің координаттары бойынша алаңдар шығарылады, координаттардың негізінде әрбір мотор үшін жылдамдық есебінің математпкалық операциясы орындалады, сөйтіп моторға жылдамдық беретін АҮҺее! функциясы шақырылады. Бұл берілген есептеулер программа жүмысыньщ әрбір буынында орындалады, ол джойстик координаттары негізінде моторлардың импульстерін басқаратын есептеулердің үздіксіздігін қамтамасыз етеді.
Алынған Агсіиіію скетчін бакылаушыға құйыңыз. Апсігоісі мобильдік косымшасын жүктеп, өздеріңдегі смартфонға немесе планшетке жібер. Өзіңнің құрылғыңмен байланысып, енді оны басқара алатын боласың. Джойстикті қозғалтқышты саусақпен жылжыта отырып, қалыптық режімде басқаруға болады. С-сенсорды қосуға да болады, сонда джойстиктің қозгалтқышы смартфонның қисаюына байланысты өзі-ақ қозғалысқа келеді.
Егер сендер қүрылғыны жинағаннан кейін бір немесе екі мотор керісінше теріс бағытта айналатын болса, моторды қосқан кезде өткізгіш сымдарының орындарын алмастыруға болады.