
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:42


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

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

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:
Otto DIY -luokan finaali: 4 vaihetta

Otto DIY -luokan finaali: Tämän projektin mahdollistivat Otto ja Ateenan teknillinen korkeakoulu. Aloitaksesi sinun on ensin ostettava pakkaus osoitteesta: https://www.ottodiy.com/store/products/49452 Noudata sitten ohjeita: https: //wikifactory.com/+OttoDIY/otto-diy
Otto Robot: 11 vaihetta

Otto -robotti: Nano ATmega328Nano Shield I/OMini USB -kaapeliHC -SR044 mini -servo SG90Pienet ruuvit
Otto Bot (Nimeä minun piikki): 5 vaihetta

Otto Bot (I Named Mine Spike): Tämä on yksinkertainen projekti, jonka kuka tahansa voi tehdä yksinkertaisen kävelyrobotin luomiseksi
Otto DIY Robot Walking - Nopea ja helppo tehdä opetusohjelma: 7 vaihetta

Otto DIY Robot Walking - Nopea ja helppo tehdä opetusohjelma: Tässä opetusohjelmassa opimme kuinka ohjelmoida Otto DIY Robot helposti kävelemään. Katso esittelyvideo
Arduinon käyttöliittymä valtion koneiden avulla: 9 vaihetta

Arduino -käyttöliittymä tilakoneiden avulla: Tässä opetusohjelmassa näytän sinulle, kuinka voit käyttää YAKINDU Statechart -työkaluja yksinkertaisen ja laajennettavan käyttöliittymän luomiseen käyttämällä 16x2 LCD -näppäimistösuojaa Arduinolle. monimutkainen ihmisen kone