Sisukord:
- Tarvikud
- Samm: seadistage kõik üles
- 2. samm: otto liidese mõistmine
- 3. samm: lünkade täitmine
- 4. samm: Otto tantsu tegemine
Video: Arduino Otto robot riigimasinaga: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
projekti ülevaade
Selles projektis tahan näidata teile Otto Roboti programmeerimisviisi, mis on Arduino baasil valmistatud isetehtud robot. Kasutades YAKINDU olekukaardi tööriistu (tasuta mitteäriliseks), saame hõlpsalt kasutada olekumasinaid Otto Roboti käitumise graafiliseks modelleerimiseks ja C/C ++ koodi genereerimiseks. Kasutame ühte nende näidetest, et laiendada käitumist oma maitse järgi.
Inimestele, kes ei tea, mis on riigimasin ja kes ei taha keerukat Vikipeedia artiklit tuhnida, on siin väike selgitus:
Olekumasin on lihtsalt sõlmed ja teed nende sõlmede vahel. Teil on lähtesõlm ja teed võivad suunduda teiste sõlmedeni sõltuvalt nende kaitsmetest, mida saab tähistada sündmustega. Neid sündmusi tõstetakse kas olekumasinast endast või väljastpoolt (nagu funktsioon jne).
Tööriist ise kasutab pukseerimisliidest ja domeenispetsiifilist keelt. Ma vaatan selle teie eest üle, nii et te ei pea Otto töökorda seadmiseks nende dokumentatsiooni uurima. IDE seadistamine ei ole liiga raske, sest kõik pistikprogrammid jne peaksid automaatselt installima.
Tarvikud
Otto Robot või Zowi Robot
Mõlemad robotid teevad sisuliselt sama ja kasutavad sama API -d. Otto Robot on isetehtud robot, mille osad on võrgus ja mis on valmis printima 3D -printeriga, kui teil seda juhtub olema. Alternatiiviks on Zowi robot, mida saab veebist osta ja kasutamiseks valmis.
YAKINDU olekukaardi tööriistad
Tööriist, mida kasutame olekumasina modelleerimiseks. Võite alustada 30-päevase prooviperioodiga ja saada hiljem tasuta litsents mitteäriliseks kasutamiseks.
Eclipse C ++ IDE Arduino pistikprogrammi jaoks
Me ei pea seda käsitsi alla laadima, sest IDE teeb seda meie eest. Mõtlesin ikka, et oleks tore see siia kirja panna.
Samm: seadistage kõik üles
Pärast IDE installimist käivitage see ja seadistage tööruum kõikjal arvutis (seadistus on identne Eclipse esmakordse kasutamisega). Kui programm on täielikult käivitunud, klõpsake teretulnud lehte ja klõpsake nuppu „Fail -> Uus -> Näide…” ja seejärel valige „YAKINDU olekukaardi näited”, oodake natuke ja otsige jaotist „Manussüsteemid -> Zowi (C ++)) "näide.
TÄHTIS: klõpsake paremas ülanurgas nuppu Installi sõltuvused …! See installib teie jaoks kõik, nii et te ei pea muretsema raamatukogude, pistikprogrammide jms pärast. Laadige näide alla, järgige näite "Manustatud süsteemid -> Zowi (C ++)" näpunäiteid ja jätkake järgmise sammuga.
2. samm: otto liidese mõistmine
Minge faili ".sct" ja muutke olekumasinat oma maitse järgi. Paremal on menüü kõigi saadaolevate üksustega. Meid huvitavad ainult olekud ja üleminekud.
Pildilt näete, et ma kirjutasin üleminekutele mõned asjad; "pärast X-sid" on üsna iseenesestmõistetav ja "alati" tähendab lihtsalt seda, et see läheb sinna kohe pärast osariigi koodi lõpetamist. "Sisestus /" tähendab, et kood tuleks täita kohe pärast osariiki sisenemist.
IDE kompileerib olekumasina C ++ -le, mis ühildub Arduinoga. Otto funktsioonide kasutamiseks peame liidesele juurdepääsemisel ise natuke tööd tegema.
Järgmisi märksõnu saab kasutada olekumasina jaoks kasutatavate asjade määratlemiseks:
konstandid, millel on väärtused ja mida ei saa muuta
muutujad, millel on väärtused ja mida saab muuta
toimingud, mis genereeritakse rakendamiseks virtuaalseteks C ++ meetoditeks
liides:
const PIN_YL: täisarv = 2 konst PIN_YR: täisarv = 3 const PIN_RL: täisarv = 4 konst: täisarv, RL: täisarv, RR: täisarv) operatsioon zowi_home () operatsioon zowi_putMouth (suuTüüp: täisarv) operatsioon zowi_sing (lauluNimi: täisarv) operatsioon zowi_walk (sammud: reaalne, T: täisarv, dir: täisarv) operatsioon zowi_shakeLeg ()
Pro näpunäide: kui te ei tea, mida kuskil sisestada või tundub olevat viga, vajutage klahvikombinatsiooni "ctrl+tühik", et saada vihjeid selle kohta, mida saate sisestada.
Lisaks peaksite uurima näiteid, neil on ka kood seal! Saate neid kasutada ka struktuurina, et lihtsalt mudelit redigeerida, mis on ainus osa, mis meid praegu huvitab.
3. samm: lünkade täitmine
Pärast mudeli asjade muutmist saate paremklõpsata "zowiSCT.sgen -> Generate Code Artifacts". See genereerib C ++ virtuaalsed funktsioonid, mis on olekumasinas deklareeritud kausta "src-gen", mille seejärel rakendame tavalise C ++ abil.
Lihtsalt looge need kaks faili kausta "src", et saada Otolt soovitud funktsionaalsus.
Esiteks Impl.h
#ifndef SRC_IMPL_H_
#define SRC_IMPL_H_ #include "../src-gen/ZowiSCT.h" class Impl: public ZowiSCT:: DefaultSCI_OCB {public: Impl (); virtuaalne ~ Impl (); tühine zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR); tühine zowi_home (); void zowi_putMouth (sc_integer mouthType); tühine zowi_sing (sc_integer songName); tühine zowi_walk (sc_real sammud, sc_integer T, sc_integer dir); tühine zowi_shakeLeg (); }; #endif / * SRC_IMPL_H_ * /
Seejärel kuvatakse Impl.cpp
#include "Impl.h"
#include "../Zowi/Zowi.h" Zowi zowi = uus Zowi (); Impl:: Impl () {} Impl:: ~ Impl () {} tühine Impl:: zowi_home () {zowi.home (); } tühine Impl:: zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR) {zowi.init (YL, YR, RL, RR); } tühine Impl:: zowi_putMouth (sc_integer mouthType) {zowi.putMouth (mouthType); } tühine Impl:: zowi_sing (sc_integer songName) {zowi.sing (songName); } tühine Impl:: zowi_walk (sc_real sammud, sc_integer T, sc_integer dir) {zowi.walk (sammud, T, dir); } tühine Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }
4. samm: Otto tantsu tegemine
Kui olete oma tootega rahul, klõpsake vasakul ülaservas asuvat haamrit ja oodake, kuni protsess lõpeb. Seejärel klõpsake vasaral paremal asuvat rohelist noolt ja vaadake oma Otto tantsimist!
Soovi korral saate vaadata mõnda muud näidet: YAKINDU olekukaardi tööriistad
Soovitan:
Otto DIY klassi finaal: 4 sammu
Otto DIY klassi finaal: selle projekti tegid võimalikuks Otto ja Ateena tehnikakõrgkool. Alustuseks peate komplekti esmalt ostma aadressilt https://www.ottodiy.com/store/products/49452. Seejärel järgige juhiseid: https: //wikifactory.com/+OttoDIY/otto-diy
Otto Robot: 11 sammu
Otto Robot: Nano ATmega328Nano Shield I/OMini USB -kaabelHC -SR044 mini -servo SG90Väikesed kruvid
Otto DIY+ Arduino Bluetooth -robot lihtne 3D -printimiseks: 6 sammu (piltidega)
Otto DIY+ Arduino Bluetooth -robot hõlpsasti 3D -printimiseks: Otto tõeliselt avatud lähtekoodiga olemus võimaldab avatud STEAM -haridust, kogume tagasisidet erinevatest töökodadest ja koolidest üle maailma, kes juba kasutavad Otto DIY -d oma klassiruumis ja sõltuvalt nende hariduskohtade avatusest meie või
Otto DIY Humanoid Robot: 7 sammu (piltidega)
Otto DIY Humanoid Robot: Otto kahejalgne robot sai nüüd relvad, mis näevad välja nagu "inimene" ja LED -maatriks emotsioonide väljendamiseks. 3D -printimine ise ja seejärel koguge osad ise üles ehitamiseks. Otto on tõeliselt Opensource; see tähendab, et riistvara on kergesti tajutav, nii et
Otto DIY - ehitage oma robot ühe tunni jooksul!: 9 sammu (piltidega)
Otto DIY - ehita oma robot ühe tunniga !: Otto on interaktiivne robot, mida igaüks saab teha! mõju missioon luua kaasav keskkond kõigile