Sisällysluettelo:

Arduino Otto -robotti valtion koneella: 4 vaihetta
Arduino Otto -robotti valtion koneella: 4 vaihetta

Video: Arduino Otto -robotti valtion koneella: 4 vaihetta

Video: Arduino Otto -robotti valtion koneella: 4 vaihetta
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Heinäkuu
Anonim
Image
Image

Projektin Yleiskatsaus

Tässä projektissa haluan näyttää sinulle tavan ohjelmoida Otto -robotti, joka on Arduino -pohjainen DIY -robotti. Käyttämällä YAKINDU Statechart Tools -työkaluja (ilmaisia ei-kaupallisiin) voimme helposti käyttää tilakoneita Otto-robotin käyttäytymisen graafiseen mallintamiseen ja C/C ++ -koodin luomiseen. Käytämme yhtä heidän esimerkeistään laajentaakseen käyttäytymistä mieleiseksemme.

Ihmisille, jotka eivät tiedä, mikä valtion kone on ja jotka eivät halua ryöstää monimutkaista Wikipedia -artikkelia, tässä on pieni selitys:

Tilakone on vain solmuja ja polkuja näiden solmujen välillä. Sinulla on aloitussolmu ja voit kulkea polkuja muihin solmuihin niiden vartijoiden mukaan, joita tapahtumat voivat edustaa. Nämä tapahtumat nostetaan joko tilakoneesta itsestään tai ulkopuolelta (kuten toiminto jne.).

Työkalu itsessään käyttää vedä ja pudota -käyttöliittymää ja toimialuekohtaista kieltä. Käyn sen puolestasi läpi, joten sinun ei tarvitse kaivaa heidän asiakirjojaan saadaksesi Otto -koneesi toimintaan. IDE: n määrittäminen ei ole liian vaikeaa, koska kaikki laajennukset jne. Asennetaan automaattisesti.

Tarvikkeet

Otto Robot tai Zowi Robot

Molemmat robotit toimivat olennaisesti samalla tavalla ja käyttävät samaa sovellusliittymää. Otto -robotti on DIY -robotti, jonka osat ovat verkossa ja jotka voidaan tulostaa 3D -tulostimella, jos sinulla sellainen on. Vaihtoehto on Zowi -robotti, jonka voi ostaa verkosta ja joka on käyttövalmis.

YAKINDU Statechart Tools

Työkalu, jota käytämme tilakoneen mallintamiseen. Voit aloittaa 30 päivän kokeilujaksolla ja saada sen jälkeen ilmaisen lisenssin ei-kaupalliseen käyttöön.

Eclipse C ++ IDE Arduino -laajennukselle

Meidän ei tarvitse ladata sitä manuaalisesti, koska IDE tekee sen puolestamme. Ajattelin silti, että olisi hyvä luetella se täällä.

Vaihe 1: Asenna kaikki

Oton käyttöliittymän ymmärtäminen
Oton käyttöliittymän ymmärtäminen

Kun olet asentanut IDE: n, suorita se ja aseta työtila minne tahansa tietokoneellesi (asennus on sama kuin Eclipsen käyttö ensimmäistä kertaa). Kun ohjelma on käynnistynyt kokonaan, napsauta tervetulosivua ja napsauta "Tiedosto -> Uusi -> Esimerkki …" ja valitse sitten "YAKINDU Statechart Examples", odota hetki ja etsi "Embedded Systems -> Zowi (C ++)) "esimerkki.

TÄRKEÄÄ: Napsauta oikeassa yläkulmassa olevaa painiketta 'Asenna riippuvuudet …'! Tämä asentaa kaiken puolestasi, joten sinun ei tarvitse huolehtia kirjastoista, laajennuksista ja vastaavista. Lataa esimerkki, noudata esimerkkiä "Sulautetut järjestelmät -> Zowi (C ++)" ja jatka seuraavaan vaiheeseen.

Vaihe 2: Otto -käyttöliittymän ymmärtäminen

Siirry.sct -tiedostoon ja muokkaa tilakonetta haluamallasi tavalla. Oikealla on valikko, jossa on kaikki saatavilla olevat kohteet. Meitä kiinnostavat vain tilat ja siirtymät.

Kuvasta näet, että kirjoitin muutamia asioita siirtymiin; "X: n jälkeen" on melko itsestään selvä ja "aina" tarkoittaa vain sitä, että se menee sinne heti, kun valtio on suorittanut koodin. "Syöttö /" tarkoittaa, että koodi tulee suorittaa heti tilaan tulon jälkeen.

IDE kokoaa tilakoneen C ++: ksi, joka on Arduino -yhteensopiva. Otto -ominaisuuksien käyttämiseksi meidän on tehtävä vähän työtä itse päästäksemme käyttöliittymään.

Seuraavia avainsanoja voidaan käyttää tilakoneen käytettävän aineiston määrittämiseen:

vakioita, joilla on arvot ja joita ei voi muuttaa

muuttujia, joilla on arvot ja joita voidaan muuttaa

toiminnot, jotka luodaan virtuaalisiin C ++ -menetelmiin toteutusta varten

käyttöliittymä:

const PIN_YL: kokonaisluku = 2 const PIN_YR: kokonaisluku = 3 const PIN_RL: kokonaisluku = 4 konst: integer, RL: integer, RR: integer) operaatio zowi_home () operaatio zowi_putMouth (mouthType: integer) operaatio zowi_sing (songName: integer) operaatio zowi_walk (vaiheet: real, T: integer, dir: integer) operaatio zowi_shakeLeg ()

Ammattilaisvinkki: jos et tiedä mitä kirjoittaa johonkin tai näyttää olevan virhe, paina "ctrl+välilyönti" saadaksesi vihjeitä syötettävistä asioista.

Lisäksi sinun on tarkasteltava esimerkkejä, niissä on myös koodi! Voit myös käyttää niitä rakenteena vain mallin muokkaamiseen, mikä on ainoa osa, josta olemme kiinnostuneita tällä hetkellä.

Vaihe 3: Täytä aukot

Aukkojen täyttäminen
Aukkojen täyttäminen

Kun olet muuttanut mallin asioita, voit napsauttaa hiiren kakkospainikkeella kohtaa "zowiSCT.sgen -> Generate Code Artifacts". Tämä luo virtuaalitoiminnot C ++: ssa, jotka ilmoitetaan tilakoneessa kansioon "src-gen", jonka sitten toteutamme normaalilla C ++: lla.

Luo vain nämä kaksi tiedostoa "src" -kansioon saadaksesi haluamamme toiminnot Otolta.

Ensin Impl.h

#ifndef SRC_IMPL_H_

#define SRC_IMPL_H_ #include "../src-gen/ZowiSCT.h" class Impl: public ZowiSCT:: DefaultSCI_OCB {public: Impl (); virtuaalinen ~ Impl (); mitätön zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR); void zowi_home (); void zowi_putMouth (sc_integer mouthType); void zowi_sing (sc_integer songName); void zowi_walk (sc_real vaiheet, sc_integer T, sc_integer dir); void zowi_shakeLeg (); }; #endif / * SRC_IMPL_H_ * /

Sitten Impl.cpp

#include "Impl.h"

#include "../Zowi/Zowi.h" Zowi zowi = uusi Zowi (); Impl:: Impl () {} Impl:: ~ Impl () {} void Impl:: zowi_home () {zowi.home (); } mitätön Impl:: zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR) {zowi.init (YL, YR, RL, RR); } mitätön Impl:: zowi_putMouth (sc_integer mouthType) {zowi.putMouth (mouthType); } mitätön Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } mitätön Impl:: zowi_walk (sc_real steps, sc_integer T, sc_integer dir) {zowi.walk (vaiheet, T, dir); } mitätön Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }

Vaihe 4: Otto -tanssin tekeminen

Kun olet tyytyväinen tuotteeseesi, napsauta vasaraa vasemmassa yläkulmassa ja odota prosessin päättymistä. Napsauta sitten vihreää nuolta vasaran oikealla puolella ja katso Otto -tanssiasi!

Jos haluat, voit katsoa muita esimerkkejä: YAKINDU Statechart Tools

Suositeltava: