Kazalo:
- Zaloge
- Korak: Nastavitev vsega
- 2. korak: Razumevanje, kako povezati Otto
- 3. korak: zapolnite vrzeli
- 4. korak: Ustvarjanje Ottovega plesa
Video: Arduino Otto Robot z državnim strojem: 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Pregled projekta
V tem projektu vam želim pokazati način programiranja Otto Robota, ki je izdelan z lastnimi rokami v Arduinu. Z orodji YAKINDU Statechart Tools (brezplačno za nekomercialne namene) lahko preprosto uporabljamo državne stroje za grafično modeliranje obnašanja robota Otto in ustvarjanje kode C/C ++. En njihov primer bomo uporabili za razširitev vedenja po naših željah.
Za ljudi, ki ne vedo, kaj je državni stroj in ne želijo brskati po zapletenem članku v Wikipediji, je tu majhna razlaga:
Državni stroj so le vozlišča in poti med temi vozlišči. Imate začetno vozlišče in lahko uberete poti do drugih vozlišč, odvisno od njihovih stražarjev, ki jih lahko predstavljajo dogodki. Ti dogodki se sprožajo bodisi iz samega stroja stanja bodisi od zunaj (na primer funkcija itd.).
Orodje samo uporablja vmesnik povleci in spusti ter jezik, specifičen za domeno. Za vas bom to podrobno preučil, zato vam ni treba kopati po njihovi dokumentaciji, da bi svojega Ota zagnali. Nastavitev IDE ni pretežka, saj bi se morali vsi vtičniki itd. Namestiti samodejno.
Zaloge
Otto Robot ali Zowi Robot
Oba robota delujeta v bistvu enako in uporabljata isti API. Otto Robot je ročno izdelan robot s svojimi deli na spletu, ki je pripravljen za tiskanje s 3D -tiskalnikom, če ga slučajno imate. Alternativa je Zowi Robot, ki ga je mogoče kupiti na spletu in pripraviti za uporabo.
Orodja za grafikone stanja YAKINDU
Orodje, ki ga bomo uporabili za modeliranje državnega stroja. Začnete lahko s 30-dnevno preskusno različico in nato pridobite brezplačno licenco za nekomercialno uporabo.
Eclipse C ++ IDE za vtičnik Arduino
Ni nam ga treba prenesti ročno, ker IDE to stori namesto nas. Še vedno sem mislil, da bi ga bilo lepo našteti tukaj.
Korak: Nastavitev vsega
Ko namestite IDE, ga zaženite in nastavite delovni prostor kjer koli na računalniku (nastavitev je enaka prvi uporabi Eclipse). Ko se program popolnoma zažene, kliknite stran dobrodošlice in kliknite »Datoteka -> Novo -> Primer…« in nato izberite »Primeri grafikonov stanja YAKINDU«, počakajte malo in poiščite »Vgrajeni sistemi -> Zowi (C ++) "primer.
POMEMBNO: Kliknite na zgornji desni gumb z imenom 'Namesti odvisnosti …'! To vam namesti vse, zato vam ni treba skrbeti za knjižnice, vtičnike in podobno. Prenesite primer, sledite navodilom v primeru "Vgrajeni sistemi -> Zowi (C ++)" in nato nadaljujte z naslednjim korakom.
2. korak: Razumevanje, kako povezati Otto
Pojdite v datoteko ".sct" in uredite državni stroj po svojih željah. Na desni je meni z vsemi razpoložljivimi elementi. Zanimajo nas le stanja in prehodi.
Na sliki lahko vidite, da sem nekaj napisal o prehodih; "po X s" je precej samoumevno, "vedno" pa samo pomeni, da gre tja takoj po dokončanju kode iz države. "Vnos /" pomeni, da je treba kodo izvesti takoj po vstopu v stanje.
IDE prevede državni stroj v C ++, ki je skladen z Arduinom. Če želimo uporabiti funkcije Otto, moramo sami dostopati do vmesnika.
Naslednje ključne besede lahko uporabite za opredelitev stvari, ki jih bo državni stroj uporabljal:
konstante, ki imajo vrednosti in jih ni mogoče spremeniti
spremenljivke, ki imajo vrednosti in jih je mogoče spremeniti
operacije, ki bodo za izvajanje ustvarjene v virtualnih metodah C ++
vmesnik:
const PIN_YL: celo število = 2 const PIN_YR: celo število = 3 const PIN_RL: celo število = 4 const PIN_RR: celo število = 5 const zvok: celo število = 2 const ustno_srce: celo število = 13 const mouth_happyOpen: celo število = 11 operacija zowi_init (YL: celo število, YR: celo število, RL: celo število, RR: celo število) operacija zowi_home () operacija zowi_putMouth (tip usta: celo število) operacija zowi_sing (ime pesmi: celo število) operacija zowi_walk (koraki: realno, T: celo število, dir: celo število) operacija zowi_shakeLeg ()
Profesionalni nasvet: če ne veste, kaj vnesti, ali se zdi, da je prišlo do napake, pritisnite »ctrl+presledek«, da dobite nekaj namigov o tem, kaj lahko vnesete.
Poleg tega morate pogledati primere, saj imajo tudi nekaj kode! Uporabite jih lahko tudi kot strukturo za samo urejanje modela, kar je edini del, ki nas trenutno zanima.
3. korak: zapolnite vrzeli
Ko spremenite stvari v modelu, lahko z desno miškino tipko kliknete »zowiSCT.sgen -> Ustvari artefakte kode«. S tem se ustvarijo navidezne funkcije v C ++, ki so v državnem stroju deklarirane v mapo "src-gen", ki jih nato izvedemo z običajnim C ++.
Samo ustvarite ti dve datoteki v mapi "src", da dobite funkcionalnost, ki jo želimo od Otta.
Najprej 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 (); void zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR); void zowi_home (); void zowi_putMouth (sc_integer ustna vrsta); void zowi_sing (sc_integer songName); void zowi_walk (sc_real koraki, sc_integer T, sc_integer dir); void zowi_shakeLeg (); }; #endif / * SRC_IMPL_H_ * /
Nato Impl.cpp
#include "Impl.h"
#include "../Zowi/Zowi.h" Zowi zowi = nov Zowi (); Impl:: Impl () {} Impl:: ~ Impl () {} void Impl:: zowi_home () {zowi.home (); } void 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); } void Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } void Impl:: zowi_walk (sc_real koraki, sc_integer T, sc_integer dir) {zowi.walk (koraki, T, dir); } void Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }
4. korak: Ustvarjanje Ottovega plesa
Ko ste zadovoljni s svojim izdelkom, kliknite na kladivo v zgornjem levem kotu in počakajte, da se postopek konča. Nato kliknite na zeleno puščico desno od kladiva in si oglejte svojega Otta, ki pleše!
Če želite, si lahko ogledate še nekaj drugih primerov: Orodja za grafikone stanja YAKINDU
Priporočena:
Otto DIY razred, finale: 4 koraki
Otto DIY Class Final: Ta projekt sta omogočila Otto in Athens Technical College. Če želite začeti, morate komplet najprej kupiti na: https://www.ottodiy.com/store/products/49452 Nato sledite korakom na: https: //wikifactory.com/+OttoDIY/otto-diy
Otto Robot: 11 korakov
Otto Robot: Nano ATmega328Nano Shield I/OMini USB kabel HC -SR044 mini servo SG90Mali vijaki 5V brenčevalnik (če imate baterijo s stikalom za vklop in izklop, stikala ne potrebujete) ženski - ženski priključki za kable 4 ohišje za baterije AA 4 baterije AA majhne magnetizirane sc
Otto DIY+ Arduino Bluetooth robot Enostaven za 3D tiskanje: 6 korakov (s slikami)
Otto DIY+ Arduino Bluetooth Robot Enostaven za 3D tiskanje: Resnično odprtokodna narava Otta omogoča odprto izobraževanje STEAM, zbiramo povratne informacije iz različnih delavnic in šol po vsem svetu, ki Otto DIY že uporabljajo v svoji učilnici in odvisno od odprtosti teh izobraževalnih mest mi ali
Plovalni stroj, obrnjen s pisalnim strojem: 4 koraki (s slikami)
Pisatelj, obrnjen s pisalnim strojem: opravičilo za slabo napisano navodilo. V teh dneh nimam veliko časa in nisem razmišljal, da bi ga napisal, ko sem delal na projektu. Pred nekaj meseci sem za hčerke naredil ploter za CD. V prilogi si oglejte nekaj slik (
Kako sestaviti USB-pogon 4-giga 57 Chevy z mikro-strojem: 6 korakov
Kako zgraditi USB-pogon z mikro-strojem Chevy 57 Chevy Micro-machine: Obstaja nekaj odličnih navodil za bliskovni pogon matchbox/hotwheels, a ko se stvari zmanjšujejo, se morajo zmanjšati tudi naši nesmiselni načini ohišja