Агуулгын хүснэгт:

Төрийн машинтай Ардуино Отто робот: 4 алхам
Төрийн машинтай Ардуино Отто робот: 4 алхам

Видео: Төрийн машинтай Ардуино Отто робот: 4 алхам

Видео: Төрийн машинтай Ардуино Отто робот: 4 алхам
Видео: Нийтийн тээврийн газар болон Улаанбаатар смарт ХХК 2024, Долдугаар сарын
Anonim
Image
Image

Төслийн тойм

Энэхүү төсөлд би Arduino дээр суурилсан DIY робот болох Отто роботыг програмчлах аргыг танд үзүүлэхийг хүсч байна. YAKINDU Statechart Tools-ийг ашиглан (арилжааны бус үнэ төлбөргүй) бид төрийн машиныг ашиглан Отто роботын зан байдлыг графикаар загварчилж, C/C ++ кодыг үүсгэж болно. Бид тэдний нэг жишээг ашиглан зан авирыг өөрийн хүссэн хэмжээнд хүргэх болно.

Төрийн машин гэж юу болохыг мэддэггүй, Википедиагийн ээдрээтэй нийтлэлийг тоймлохыг хүсдэггүй хүмүүст зориулж жижигхэн тайлбарыг энд оруулав.

Төрийн машин бол зүгээр л зангилаа ба тэдгээр зангилааны хоорондох зам юм. Танд эхлэх зангилаа байгаа бөгөөд үйл явдлуудаар дүрслэх боломжтой хамгаалагчдаасаа хамааран бусад зангилаа руу явах боломжтой. Эдгээр үйл явдлыг төрийн машин өөрөө эсвэл гаднаас (функц гэх мэт) босгодог.

Энэхүү хэрэгсэл нь өөрөө чирэх интерфэйс болон домэйны онцлог хэлийг ашигладаг. Би үүнийг танд зориулах болно, тиймээс та Оттогоо ажиллуулахын тулд тэдний бичиг баримтыг судалж үзэх шаардлагагүй болно. IDE-ийг тохируулах нь тийм ч хэцүү биш, учир нь бүх залгаасууд гэх мэтийг автоматаар суулгах ёстой.

Хангамж

Отто робот эсвэл Зови робот

Эдгээр роботууд хоёулаа ижилхэн ажилладаг бөгөөд ижил API ашигладаг. Отто робот бол DIY робот бөгөөд эд анги нь онлайнаар байрладаг бөгөөд хэрэв танд ийм принтер байгаа бол 3D принтерээр хэвлэхэд бэлэн болно. Өөр хувилбар бол Zowi робот бөгөөд үүнийг онлайнаар худалдаж аваад ашиглахад бэлэн болно.

YAKINDU Statechart хэрэгсэл

Төрийн машиныг загварчлахад бидний ашиглах хэрэгсэл. Та 30 хоногийн туршилтаар эхэлж, дараа нь арилжааны бус зорилгоор үнэгүй лиценз авах боломжтой.

Arduino залгаасын Eclipse C ++ IDE

IDE нь бидний хувьд үүнийг хийдэг тул бид үүнийг гараар татаж авах шаардлагагүй болно. Үүнийг энд жагсаах нь сайхан байх болно гэж би одоо хүртэл бодож байсан.

Алхам 1: Бүх зүйлийг тохируулах

Оттотой хэрхэн харилцах тухай ойлголт
Оттотой хэрхэн харилцах тухай ойлголт

IDE -ийг суулгасны дараа үүнийг ажиллуулж, компьютерынхаа аль ч хэсэгт ажлын талбарыг тохируулна уу (тохиргоо нь Eclipse -ийг анх удаа ашиглахтай ижил байна). Хөтөлбөрийг бүрэн эхлүүлсний дараа тавтай морилно уу хуудсыг дарж 'Файл -> Шинэ -> Жишээ …' дээр дараад 'YAKINDU Statechart Examples' -ийг сонгоод хэсэг хүлээгээд "Embedded Systems -> Zowi (C ++) хайна уу.) "жишээ.

ЧУХАЛ: Баруун дээд буланд байрлах 'Dependencies Install …' товчийг дарна уу! Энэ нь танд зориулж бүх зүйлийг суулгадаг тул номын сан, залгаас гэх мэт зүйлсийн талаар санаа зовох хэрэггүй болно. Жишээг татаж аваад "Embedded Systems -> 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 sound: integer = 2 const mouth_heart: integer = 13 const mouth_happyOpen: integer = 11 үйлдэл zowi_init (YL: бүхэл тоо, YR: integer, RL: integer, RR: integer) ажиллагаа zowi_home () ажиллагаа zowi_putMouth (mouthType: integer) үйлдэл zowi_sing (songName: integer) үйлдэл zowi_walk (алхам: бодит, T: бүхэл тоо, dir: бүхэл тоо) үйлдэл zowi_shakeLeg ()

Мэргэжлийн зөвлөгөө: Хэрэв та ямар нэг газар юу оруулахаа мэдэхгүй байгаа эсвэл алдаа гарсан мэт санагдаж байвал "ctrl+space" товчлуурыг дарж юу оруулах талаар зөвлөгөө аваарай.

Нэмж дурдахад та жишээнүүдийг анхаарч үзэх хэрэгтэй, тэд тэнд бас кодтой байна! Та мөн тэдгээрийг загвар болгон засварлахын тулд бүтэц болгон ашиглаж болно, энэ бол бидний одоогоор сонирхож буй цорын ганц хэсэг юм.

Алхам 3: Цоорхойг нөхөх

Цоорхойг нөхөх
Цоорхойг нөхөх

Загвар дахь зүйлийг өөрчилсний дараа та "zowiSCT.sgen -> Кодын олдвор үүсгэх" дээр хулганы баруун товчийг дарж болно. Энэ нь C ++ хэл дээрх виртуал функцийг бий болгодог бөгөөд үүнийг төрийн машинд "src-gen" фолдерт зарладаг бөгөөд үүнийг бид ердийн C ++ ашиглан хэрэгжүүлдэг.

Оттогоос бидний хүссэн функцийг авахын тулд эдгээр хоёр файлыг "src" фолдерт үүсгээрэй.

Эхлээд Impl.h

#ifndef SRC_IMPL_H_

#define SRC_IMPL_H_ #include "../src-gen/ZowiSCT.h" class 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); vow zowi_sing (sc_integer songName); vow zowi_walk (sc_real steps, sc_integer T, sc_integer dir); vow 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); } хүчингүй Impl:: zowi_putMouth (sc_integer mouthType) {zowi.putMouth (mouthType); } хүчингүй Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } void Impl:: zowi_walk (sc_real steps, sc_integer T, sc_integer dir) {zowi.walk (алхам, T, dir); } хүчингүй Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }

Алхам 4: Отто бүжиг хийх

Бүтээгдэхүүндээ сэтгэл хангалуун байгаа бол зүүн дээд буланд байгаа алх дээр дараад процесс дуусахыг хүлээнэ үү. Дараа нь алхны баруун талд байгаа ногоон сумыг дарж Отто бүжиглэж буйгаа үзээрэй!

Хэрэв та хүсвэл YAKINDU Statechart Tools -ийн бусад жишээг үзээрэй

Зөвлөмж болгож буй: