Mündəricat:

Dövlət Maşını ilə Arduino Otto Robotu: 4 addım
Dövlət Maşını ilə Arduino Otto Robotu: 4 addım

Video: Dövlət Maşını ilə Arduino Otto Robotu: 4 addım

Video: Dövlət Maşını ilə Arduino Otto Robotu: 4 addım
Video: КАК НАСТРОИТЬ L4D2 2024, Iyul
Anonim
Image
Image

Layihəyə Baxış

Bu layihədə sizə Arduino əsaslı DIY robotu olan Otto Robotunu proqramlaşdırma yolunu göstərmək istəyirəm. YAKINDU Statechart Tools-dan (qeyri-kommersiya üçün pulsuz) istifadə edərək, dövlət maşınlarından istifadə edərək Otto Robotunun davranışını qrafik olaraq modelləşdirə və C/C ++ kodu yarada bilərik. Davranışı zövqümüzə uyğunlaşdırmaq üçün onların nümunələrindən birini istifadə edəcəyik.

Bir dövlət maşınının nə olduğunu bilməyən və mürəkkəb Vikipediya məqaləsində dolaşmaq istəməyən insanlar üçün burada kiçik bir izahat var:

Bir dövlət maşını yalnız qovşaqlar və bu qovşaqlar arasındakı yollardır. Başlanğıc bir qovşağınız var və hadisələrlə təmsil oluna bilən mühafizəçilərindən asılı olaraq digər qovşaqlara gedə bilərsiniz. Bu hadisələr ya dövlət maşınının özündən, ya da kənardan qaldırılır (funksiya kimi və s.).

Alətin özü bir sürükle-buraxma interfeysi və bir sahəyə xüsusi bir dil istifadə edir. Mən sizin üçün bunun üzərində dayanacağam, buna görə də Ottonuzu işə salmaq üçün onların sənədlərini araşdırmağa ehtiyac yoxdur. IDE qurmaq o qədər də çətin deyil, çünki bütün plug-inlər və s. Avtomatik olaraq quraşdırılmalıdır.

Təchizat

Otto Robot və ya Zowi Robot

Bu robotların hər ikisi eyni şeyi edir və eyni API -dən istifadə edir. Otto Robot, hissələri onlayn olaraq, 3D printerlə çap olunmağa hazır olan DIY robotudur. Alternativ Zowi Robotdur ki, onu da internetdən almaq olar və istifadəyə hazırdır.

YAKINDU Statechart Alətləri

Dövlət maşınını modelləşdirmək üçün istifadə edəcəyimiz vasitə. 30 günlük sınaq ilə başlaya bilərsiniz və sonra qeyri-kommersiya məqsədləri üçün pulsuz bir lisenziya əldə edə bilərsiniz.

Arduino Plugin üçün Eclipse C ++ IDE

Əl ilə yükləməyimizə ehtiyac yoxdur, çünki IDE bunu bizim üçün edir. Hələ də burada sadalamağın gözəl olacağını düşünürdüm.

Addım 1: Hər şeyi qurun

Otto ilə necə əlaqə quracağınızı anlayın
Otto ilə necə əlaqə quracağınızı anlayın

IDE qurduqdan sonra onu işə salın və kompüterinizin hər hansı bir yerində bir iş sahəsi qurun (quraşdırma Eclipse -dən ilk dəfə istifadə etməklə eynidir). Proqram tam başladıqdan sonra xoş gəldiniz səhifəni klikləyin və 'Fayl -> Yeni -> Nümunə …' düyməsini basın və sonra 'YAKINDU Statechart Nümunələri' ni seçin, bir az gözləyin və "Gömülü Sistemlər -> Zowi (C ++) axtarın.) "nümunəsi.

ƏHƏMİYYƏTLİ: Sağdakı 'Bağımlılıqları Qur …' adlı düyməni basın! Bu sizin üçün hər şeyi qurur, buna görə Kitabxanalar, Plug-Ins və s. Nümunəni yükləyin, "Gömülü Sistemlər -> Zowi (C ++)" nümunəsindəki təlimatları izləyin və sonra növbəti addıma davam edin.

Addım 2: Otto ilə necə əlaqə quracağınızı anlayın

". Sct" faylına daxil olun və dövlət maşını zövqünüzə uyğun olaraq düzəldin. Sağda, mövcud olan bütün əşyaların olduğu bir menyu var. Bizi yalnız dövlətlər və keçidlər maraqlandırır.

Şəkildə görürsünüz ki, keçidlərə bəzi şeylər yazdım; "After X s" olduqca özünü izah edir və "həmişə" yalnız o deməkdir ki, dövlətdən kodu bitirdikdən dərhal sonra ora gedir. "Giriş /", vəziyyətin girdikdən dərhal sonra kodun yerinə yetirilməsi deməkdir.

IDE, dövlət maşını Arduino uyğun C ++ üçün tərtib edir. Ottonun xüsusiyyətlərindən istifadə etmək üçün interfeysə daxil olaraq özümüz bir az iş görməliyik.

Aşağıdakı açar sözlər, dövlət maşınının istifadə edəcəyi şeyləri təyin etmək üçün istifadə edilə bilər:

dəyərləri saxlayan və dəyişdirilə bilməyən sabitlər

dəyərləri saxlayan və dəyişdirilə bilən dəyişənlər

həyata keçirmək üçün virtual C ++ metodlarında yaradılacaq əməliyyatlar

interfeys:

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 əməliyyat zowi_init (YL: tamsayı, YR: integer, RL: integer, RR: integer) əməliyyat zowi_home () əməliyyat zowi_putMouth (mouthType: integer) əməliyyat zowi_sing (songName: integer) əməliyyat zowi_walk (addımlar: real, T: tam ədəd, dir: tamsayı) əməliyyat zowi_shakeLeg ()

Pro İpucu: bir yerə nəyi daxil edəcəyinizi bilmirsinizsə və ya bir səhv görünsə, daxil edə biləcəyiniz şeylə bağlı bəzi ipuçlarını almaq üçün "ctrl+boşluq" düymələrini basın.

Əlavə olaraq, nümunələrə baxmalısınız, orada da bəzi kodlar var! İndiki vaxtda maraqlandığımız yeganə hissə olan modeli düzəltmək üçün bunları bir quruluş olaraq da istifadə edə bilərsiniz.

Addım 3: Boşluqların doldurulması

Boşluqların doldurulması
Boşluqların doldurulması

Modeldəki şeyləri dəyişdirdikdən sonra "zowiSCT.sgen -> Kod Arifaktları Yarat" düyməsini sağ vura bilərsiniz. Bu, dövlət maşınında "Crc-gen" qovluğunda elan edilən C ++ dilindəki virtual funksiyaları yaradır, sonra normal C ++ istifadə edərək tətbiq edirik.

Otto'dan istədiyimiz funksiyanı əldə etmək üçün bu iki faylı "src" qovluğunda yaradın.

Əvvəlcə Impl.h

#ifndef SRC_IMPL_H_

#define SRC_IMPL_H_ #include "../src-gen/ZowiSCT.h" class Impl: public ZowiSCT:: DefaultSCI_OCB {public: Impl (); virtual ~ Impl (); boş zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR); boş zowi_home (); boş zowi_putMouth (sc_integer mouthType); boş zowi_sing (sc_integer songName); boş zowi_walk (sc_real addımlar, sc_integer T, sc_integer dir); boş zowi_shakeLeg (); }; #endif / * SRC_IMPL_H_ * /

Sonra Impl.cpp

#"Impl.h" daxil edin

#include "../Zowi/Zowi.h" Zowi zowi = yeni Zowi (); Impl:: Impl () {} Impl:: ~ Impl () {} etibarsız Impl:: zowi_home () {zowi.home (); } etibarsız Impl:: zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR) {zowi.init (YL, YR, RL, RR); } etibarsız Impl:: zowi_putMouth (sc_integer mouthType) {zowi.putMouth (mouthType); } etibarsız Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } etibarsız Impl:: zowi_walk (sc_real addımlar, sc_integer T, sc_integer dir) {zowi.walk (addımlar, T, dir); } etibarsız Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }

Addım 4: Otto Rəqsini Hazırlayın

Məhsulunuzdan məmnun olduğunuzda, sol üstdəki çəkicə vurun və prosesin bitməsini gözləyin. Sonra çəkicin sağındakı yaşıl oxu vurun və Ottonun rəqs etdiyini görün!

İstəyirsinizsə, digər nümunələrə də baxa bilərsiniz: YAKINDU Statechart Tools

Tövsiyə: