Tartalomjegyzék:
- Kellékek
- 1. lépés: Minden beállítása
- 2. lépés: Az Ottó interfészének megértése
- 3. lépés: A hiányosságok kitöltése
- 4. lépés: Az Ottótánc elkészítése
Videó: Arduino Otto robot állami géppel: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A projekt áttekintése
Ebben a projektben szeretném megmutatni az Otto Robot programozásának módját, amely egy Arduino alapú DIY robot. A YAKINDU Statechart Tools használatával (nem kereskedelmi célokra ingyenes) könnyen használhatunk állapotgépeket az Otto Robot viselkedésének grafikus modellezésére és C/C ++ kód létrehozására. Az egyik példájukat felhasználva kedvünkre bővítjük a viselkedést.
Azoknak, akik nem tudják, mi az állami gép, és nem akarnak turkálni a bonyolult Wikipédia -cikkben, itt egy kis magyarázat:
Az állapotgép csak csomópontok és utak a csomópontok között. Van egy kezdő csomópontja, és az őreitől függően más csomópontokhoz vezetheti az utakat, amelyeket események képviselhetnek. Ezeket az eseményeket vagy magából az állapotgépről, vagy kívülről hozzák fel (mint egy függvény, stb.).
Maga az eszköz drag & drop felületet és tartományspecifikus nyelvet használ. Átmegyek érted, így nem kell átgondolnod a dokumentációjukat, hogy működésbe hozza az Otto -t. Az IDE beállítása nem túl bonyolult, mert az összes beépülő modult stb. Automatikusan telepíteni kell.
Kellékek
Otto Robot vagy Zowi Robot
Mindkét robot lényegében ugyanazt teszi, és ugyanazt az API -t használja. Az Otto Robot egy barkácsrobot, online alkatrészekkel, készen áll a nyomtatásra 3D nyomtatóval, ha van ilyen. Az alternatíva a Zowi Robot, amely online megvásárolható és használatra kész.
YAKINDU Állapotjelző eszközök
Az eszköz, amelyet az állapotgép modellezésére fogunk használni. Kezdheti egy 30 napos próbaidőszakkal, majd ingyenes licencet kaphat nem kereskedelmi használatra.
Eclipse C ++ IDE az Arduino bővítményhez
Nem kell manuálisan letöltenünk, mert az IDE megteszi helyettünk. Még mindig úgy gondoltam, jó lenne ide felsorolni.
1. lépés: Minden beállítása
Az IDE telepítése után futtassa azt, és állítson be egy munkaterületet bárhol a számítógépen (a beállítás megegyezik az Eclipse első használattal). Amikor a program teljesen elindult, kattintson az üdvözlőlapra, és kattintson a „Fájl -> Új -> Példa…” elemre, majd válassza a „YAKINDU Statechart Examples” lehetőséget, várjon egy kicsit, és keresse meg a „Beágyazott rendszerek -> Zowi (C ++)" példa.
FONTOS: Kattintson a jobb felső sarokban található "Install Dependencies …" (Függőségek telepítése …) gombra! Ez mindent telepít az Ön számára, így nem kell aggódnia a Könyvtárak, beépülő modulok és hasonlók miatt. Töltse le a példát, kövesse a "Beágyazott rendszerek -> Zowi (C ++)" példa utasításait, majd folytassa a következő lépéssel.
2. lépés: Az Ottó interfészének megértése
Lépjen be a ".sct" fájlba, és szerkessze tetszés szerint az állapotgépet. A jobb oldalon található az összes rendelkezésre álló elemet tartalmazó menü. Csak az állapotok és az átmenetek érdekelnek minket.
A képen látható, hogy írtam néhány dolgot az átmenetekre; az "X után" elég magától értetődő, a "mindig" pedig csak azt jelenti, hogy közvetlenül az állam kódjának befejezése után megy oda. A "bejegyzés /" azt jelenti, hogy a kódot közvetlenül az államba való belépés után kell végrehajtani.
Az IDE lefordítja az állapotgépet C ++ - ra, ami Arduino -kompatibilis. Az Otto funkcióinak használatához magunknak kell dolgoznunk a felület elérésén.
A következő kulcsszavak használhatók az állapotgép által használt anyagok meghatározásához:
konstansok, amelyek értékeket tartalmaznak, és nem változtathatók meg
változók, amelyek értékeket tartalmaznak és megváltoztathatók
műveletek, amelyek virtuális C ++ módszerekhez generálódnak a megvalósításhoz
felület:
const PIN_YL: egész = 2 const PIN_YR: egész = 3 konst: integer, RL: integer, RR: integer) művelet zowi_home () művelet zowi_putMouth (mouthType: integer) művelet zowi_sing (songName: integer) művelet zowi_walk (lépések: valós, T: egész, dir: egész) művelet zowi_shakeLeg ()
Profi tipp: Ha nem tudja, mit kell beírnia valahol, vagy úgy tűnik, hogy hiba történt, nyomja meg a "ctrl+szóköz" billentyűt, hogy tippeket kapjon a bevitelhez.
Ezenkívül meg kell vizsgálnia a példákat, vannak kódok is! Ezeket struktúraként is használhatja a modell szerkesztéséhez, ami jelenleg az egyetlen rész, ami érdekel minket.
3. lépés: A hiányosságok kitöltése
A modell megváltoztatása után jobb gombbal kattintson a "zowiSCT.sgen -> Kódleletek létrehozása" elemre. Ez generálja a virtuális függvényeket a C ++ nyelvben, amelyeket az állapotgépben az "src-gen" mappába deklarálunk, és ezt a normál C ++ használatával valósítjuk meg.
Csak hozza létre ezt a két fájlt az "src" mappában, hogy megkapja az Otto által kívánt funkciókat.
Először az Impl.h
#ifndef SRC_IMPL_H_
#define SRC_IMPL_H_ #include "../src-gen/ZowiSCT.h" class Impl: public ZowiSCT:: DefaultSCI_OCB {public: Impl (); virtuális ~ Impl (); void 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 lépések, sc_integer T, sc_integer dir); void zowi_shakeLeg (); }; #endif / * SRC_IMPL_H_ * /
Ezután az Impl.cpp
#include "Impl.h"
#include "../Zowi/Zowi.h" Zowi zowi = új 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); } érvénytelen Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } void Impl:: zowi_walk (sc_real lépések, sc_integer T, sc_integer dir) {zowi.walk (lépések, T, dir); } érvénytelen Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }
4. lépés: Az Ottótánc elkészítése
Ha elégedett a termékével, kattintson a bal felső sarokban lévő kalapácsra, és várja meg, amíg a folyamat befejeződik. Ezután kattintson a zöld nyílra a kalapáccsal jobbra, és nézze meg Otto táncát!
Ha szeretné, megnézhet néhány más példát is: YAKINDU Statechart Tools
Ajánlott:
Otto DIY osztály döntő: 4 lépés
Otto DIY osztály döntője: Ezt a projektet az Otto és az Athéni Műszaki Főiskola tette lehetővé. A kezdéshez először meg kell vásárolnia a készletet a következő linkről: https://www.ottodiy.com/store/products/49452, majd kövesse az alábbi lépéseket: https: //wikifactory.com/+OttoDIY/otto-diy
Otto Robot: 11 lépés
Otto Robot: Nano ATmega328Nano Shield I/OMini USB -kábelHC -SR044 mini szervo SG90Kis csavarok 5V -os zümmögő (ha van akkumulátor -kapcsolója, ki- és bekapcsolóval, akkor nincs szükség kapcsolóra) Nő - női kábelcsatlakozók4 AA elemtartó4 AA elem Kis kismágneses
Otto DIY+ Arduino Bluetooth robot Könnyen 3D nyomtatás: 6 lépés (képekkel)
Otto DIY+ Arduino Bluetooth robot Könnyen 3D nyomtatás: Az Otto valóban nyílt forráskódú természete lehetővé teszi a nyílt STEAM oktatást, visszajelzéseket gyűjtünk a világ különböző műhelyeiből és iskoláiból, amelyek már használják az Otto DIY -t az osztályukban, és az oktatási helyek nyitottságától függően mi vagy
Otto DIY humanoid robot: 7 lépés (képekkel)
Otto DIY Humanoid Robot: Az Otto kétlábú robot most karokat kapott, hogy hasonlítson az "Emberi" és egy LED -mátrix az érzelmek kifejezésére. 3D nyomtatás egyedül, majd az alkatrészek összeszerelése saját maga számára. Az Otto valóban Opensource; ez azt jelenti, hogy a hardver könnyen felismerhető, így
Állami gép az Arduino -n - gyalogos közlekedési lámpa: 6 lépés (képekkel)
Állami gép az Arduino -n - gyalogos közlekedési lámpa: Szia! Megmutatom, hogyan programozhat gyalogos lámpát az Arduino számára C ++ nyelven egy véges állapotú géppel a YAKINDU Statechart Tools segítségével. Ez bemutatja az állami gépek erejét, és tervként használható a további