Мазмұны:

Мемлекеттік машинасы бар Arduino Otto робот: 4 қадам
Мемлекеттік машинасы бар Arduino Otto робот: 4 қадам

Бейне: Мемлекеттік машинасы бар Arduino Otto робот: 4 қадам

Бейне: Мемлекеттік машинасы бар Arduino Otto робот: 4 қадам
Бейне: It Became Unliveable! ~ Abandoned Home Of The Spenser's In The USA 2024, Шілде
Anonim
Image
Image

Жобаға шолу

Бұл жобада мен сізге Artoino негізіндегі DIY роботы болып табылатын Otto Robot бағдарламалау әдісін көрсеткім келеді. YAKINDU Statechart құралдарының көмегімен (коммерциялық емес үшін ақысыз) біз мемлекеттік машиналарды Отто роботының мінез-құлқын графикалық модельдеу және C/C ++ кодын құру үшін оңай пайдалана аламыз. Біз мінез -құлықты өз қалауымызша кеңейту үшін олардың мысалдарының бірін қолданамыз.

Мемлекеттік машинаның не екенін білмейтін және Уикипедияның күрделі мақаласын ашқысы келмейтін адамдар үшін мұнда шағын түсініктеме берілген:

Мемлекеттік машина - бұл түйіндер мен сол түйіндер арасындағы жолдар. Сізде бастапқы түйін бар және оларды күзетшілерге байланысты оқиғаларға ұсынуға болатын басқа түйіндерге апаруға болады. Бұл оқиғалар мемлекеттік машинаның өзінен немесе сырттан көтеріледі (функция сияқты).

Құралдың өзі апарып тастау интерфейсін және доменге тән тілді қолданады. Мен бұл мәселені шешемін, сондықтан Оттоны іске қосу үшін олардың құжаттарын тексерудің қажеті жоқ. IDE орнату өте қиын емес, себебі барлық қосылатын модульдер автоматты түрде орнатылуы керек.

Жабдықтар

Отто робот немесе Zowi робот

Бұл роботтардың екеуі де бірдей жасайды және бір API қолданады. Отто робот - бұл DIY роботы, оның бөлшектері желіде, егер сізде 3D принтер болса басып шығаруға дайын. Балама - Zowi роботы, оны Интернеттен сатып алуға және пайдалануға дайын.

YAKINDU Statechart құралдары

Біз мемлекеттік машинаны модельдеу үшін қолданатын құрал. Сіз 30 күндік сынақтан бастай аласыз, содан кейін коммерциялық емес пайдалану үшін ақысыз лицензияны ала аласыз.

Arduino плагиніне арналған Eclipse C ++ IDE

Біз оны қолмен жүктеудің қажеті жоқ, себебі IDE біз үшін жасайды. Мен оны осында тізімдеуді жақсы деп ойладым.

1 -қадам: бәрін реттеу

Оттоның интерфейсін түсіну
Оттоның интерфейсін түсіну

IDE орнатқаннан кейін оны іске қосыңыз және компьютердің кез келген жерінде жұмыс кеңістігін орнатыңыз (орнату Eclipse -ті бірінші рет қолданумен бірдей). Бағдарлама толығымен басталғаннан кейін, сәлемдесу бетін басып, 'Файл -> Жаңа -> Мысал …' түймесін басыңыз, содан кейін 'YAKINDU Statechart Examples' тармағын таңдаңыз, біраз күтіп, «Embedded Systems -> Zowi (C ++) іздеңіз.) «мысалы.

МАҢЫЗДЫ: «Тәуелділіктерді орнату …» деп аталатын жоғарғы оң жақ батырманы басыңыз! Бұл сізге бәрін орнатады, сондықтан сіз кітапханалар, қондырмалар және басқалары туралы алаңдамайсыз. Мысалды жүктеп алыңыз, «Ендірілген жүйелер -> Zowi (C ++)» мысалындағы нұсқауларды орындаңыз, содан кейін келесі қадамды жалғастырыңыз.

2 -қадам: Оттоның интерфейсін түсіну

«. Sct» файлына кіріп, күй машинасын өз қалауыңыз бойынша өңдеңіз. Оң жақта барлық қол жетімді элементтер бар мәзір бар. Бізді тек мемлекеттер мен ауысулар қызықтырады.

Суретте мен ауысуларға біраз нәрсе жазғанымды көресіз; «after X s» өте түсінікті және «әрқашан» жай ғана ол мемлекеттен кодты аяқтағаннан кейін сол жерге баратынын білдіреді. «Кіріс /» кодты күйге кіргеннен кейін бірден орындалуы керек дегенді білдіреді.

IDE мемлекеттік машинаны Arduino үйлесімді C ++ тіліне құрастырады. Оттоның мүмкіндіктерін пайдалану үшін біз интерфейске кіру үшін біраз жұмыс істеуіміз керек.

Келесі кілт сөздер күй машинасына қолданылатын заттарды анықтау үшін пайдаланылуы мүмкін:

мәндерді ұстайтын және өзгертуге болмайтын тұрақтылар

мәндерді сақтайтын және өзгертуге болатын айнымалылар

C ++ виртуалды әдістері орындалатын операциялар

интерфейс:

const PIN_YL: integer = 2 const PIN_YR: integer = 3 const PIN_RL: integer = 4 const PIN_RR: integer = 5 const дыбыс: integer = 2 const mouth_heart: integer = 13 const mouth_happyOpen: integer = 11 операция zowi_init (YL: бүтін сан, YR: бүтін сан, RL: бүтін сан, RR: бүтін сан) операция zowi_home () операция zowi_putMouth (mouthType: бүтін сан) операция zowi_sing (songName: бүтін сан) операция zowi_walk (қадамдар: нақты, T: бүтін, dir: бүтін) операция zowi_shakeLeg ()

Кеңес: егер сіз бір жерге не енгізу керектігін білмесеңіз немесе қате бар сияқты көрінсеңіз, енгізе алатын нәрсеге қатысты кеңестер алу үшін «ctrl+бос орын» пернелерін басыңыз.

Сонымен қатар, сіз мысалдарды қарауыңыз керек, оларда да код бар! Сіз оларды құрылым ретінде қолдана аласыз, тек бізді қызықтыратын модель.

3 -қадам: олқылықтардың орнын толтыру

Бос орындарды толтыру
Бос орындарды толтыру

Модельдегі нәрселерді өзгерткеннен кейін сіз «zowiSCT.sgen -> Код артефактілерін жасау» батырмасын тінтуірдің оң жақ түймешігімен нұқуға болады. Бұл C ++ тілінде виртуалды функцияларды шығарады, олар мемлекеттік машинада «src-gen» қалтасына жарияланады, біз оны кейін қалыпты C ++ көмегімен енгіземіз.

Оттодан бізге қажет функционалдылықты алу үшін осы екі файлды «src» қалтасында жасаңыз.

Алдымен Impl.h

#ifndef SRC_IMPL_H_

#define SRC_IMPL_H_ #include «../src-gen/ZowiSCT.h» класы Impl: public ZowiSCT:: DefaultSCI_OCB {public: Impl (); виртуалды ~ Impl (); жарамсыз zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR); жарамсыз zowi_home (); vow zowi_putMouth (sc_integer mouthType); жарамсыз zowi_sing (sc_integer songName); жарамсыз zowi_walk (sc_real қадамдар, sc_integer T, sc_integer dir); жарамсыз zowi_shakeLeg (); }; #endif / * SRC_IMPL_H_ * /

Содан кейін Impl.cpp

#«Impl.h» қосыңыз

#include «../Zowi/Zowi.h» Zowi zowi = жаңа Zowi (); Impl:: Impl () {} Impl:: ~ Impl () {} жарамсыз Impl:: zowi_home () {zowi.home (); } жарамсыз Impl:: zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR) {zowi.init (YL, YR, RL, RR); } void Impl:: zowi_putMouth (sc_integer mouthType) {zowi.putMouth (mouthType); } жарамсыз Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } void Impl:: zowi_walk (sc_real қадамдары, sc_integer T, sc_integer dir) {zowi.walk (қадамдар, T, dir); } жарамсыз Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }

4 -қадам: Отто биін жасау

Егер сіз өнімге риза болсаңыз, сол жақ жоғарғы жағындағы балғамен шертіп, процестің аяқталуын күтіңіз. Содан кейін балғаның оң жағындағы жасыл көрсеткіні нұқыңыз және Оттоның биін көріңіз!

Егер қаласаңыз, басқа мысалдарды қарастыруға болады: YAKINDU Statechart Tools

Ұсынылған: