विषयसूची:
- आपूर्ति
- चरण 1: सब कुछ सेट करना
- चरण 2: समझना कि ओटो को कैसे इंटरफ़ेस करना है
- चरण 3: अंतराल भरना
- चरण 4: ओटो नृत्य बनाना
![स्टेट मशीन के साथ अरुडिनो ओटो रोबोट: 4 कदम स्टेट मशीन के साथ अरुडिनो ओटो रोबोट: 4 कदम](https://i.howwhatproduce.com/images/011/image-32751-j.webp)
वीडियो: स्टेट मशीन के साथ अरुडिनो ओटो रोबोट: 4 कदम
![वीडियो: स्टेट मशीन के साथ अरुडिनो ओटो रोबोट: 4 कदम वीडियो: स्टेट मशीन के साथ अरुडिनो ओटो रोबोट: 4 कदम](https://i.ytimg.com/vi/yAV5aZ0unag/hqdefault.jpg)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
![Image Image](https://i.howwhatproduce.com/images/011/image-32751-2-j.webp)
![](https://i.ytimg.com/vi/pEzC1D3wuBI/hqdefault.jpg)
परियोजना अवलोकन
इस परियोजना में, मैं आपको ओटो रोबोट की प्रोग्रामिंग का एक तरीका दिखाना चाहता हूं, जो कि एक Arduino आधारित DIY रोबोट है। YAKINDU Statechart Tools (गैर-व्यावसायिक के लिए निःशुल्क) का उपयोग करके हम आसानी से ओटो रोबोट के व्यवहार को ग्राफिक रूप से मॉडल करने और C/C++ कोड जेनरेट करने के लिए स्टेट मशीनों का उपयोग कर सकते हैं। व्यवहार को अपनी पसंद के अनुसार विस्तारित करने के लिए हम उनके एक उदाहरण का उपयोग करेंगे।
उन लोगों के लिए जो यह नहीं जानते कि एक राज्य मशीन क्या है और जटिल विकिपीडिया लेख के माध्यम से अफवाह नहीं करना चाहते हैं, यहां एक छोटी सी व्याख्या है:
एक राज्य मशीन सिर्फ नोड्स और उन नोड्स के बीच पथ है। आपके पास एक प्रारंभिक नोड है और आप अपने गार्ड के आधार पर अन्य नोड्स के लिए पथ ले सकते हैं, जिन्हें घटनाओं द्वारा दर्शाया जा सकता है। इन घटनाओं को या तो राज्य मशीन से या बाहर से (जैसे एक समारोह, आदि) से उठाया जाता है।
टूल स्वयं ड्रैग एंड ड्रॉप इंटरफ़ेस और डोमेन-विशिष्ट भाषा का उपयोग करता है। मैं आपके लिए इस पर जाउंगा, इसलिए आपको अपने ओटो को चलाने और चलाने के लिए उनके दस्तावेज़ीकरण के माध्यम से खोदने की ज़रूरत नहीं है। IDE को सेट करना बहुत कठिन नहीं है, क्योंकि सभी प्लग-इन आदि अपने आप इंस्टॉल हो जाने चाहिए।
आपूर्ति
ओटो रोबोट या ज़ोवी रोबोट
ये दोनों रोबोट अनिवार्य रूप से वही करते हैं और एक ही एपीआई का उपयोग करते हैं। ओटो रोबोट एक DIY रोबोट है, जिसके पुर्जे ऑनलाइन हैं, यदि आपके पास एक 3डी प्रिंटर है तो प्रिंट होने के लिए तैयार है। विकल्प ज़ोवी रोबोट है, जिसे ऑनलाइन खरीदा जा सकता है और उपयोग के लिए तैयार किया जा सकता है।
YAKINDU स्टेटचार्ट टूल्स
वह टूल जिसका उपयोग हम स्टेट मशीन को मॉडल करने के लिए करेंगे। आप 30 दिनों के परीक्षण के साथ शुरुआत कर सकते हैं और बाद में गैर-व्यावसायिक उपयोग के लिए एक निःशुल्क लाइसेंस प्राप्त कर सकते हैं।
Arduino प्लगइन के लिए ग्रहण C++ IDE
हमें इसे मैन्युअल रूप से डाउनलोड करने की आवश्यकता नहीं है, क्योंकि IDE यह हमारे लिए करता है। मैंने अभी भी सोचा था कि इसे यहां सूचीबद्ध करना अच्छा होगा।
चरण 1: सब कुछ सेट करना
![ओटो को कैसे इंटरफ़ेस करना है यह समझना ओटो को कैसे इंटरफ़ेस करना है यह समझना](https://i.howwhatproduce.com/images/011/image-32751-3-j.webp)
आईडीई स्थापित करने के बाद, इसे चलाएं और अपने पीसी पर कहीं भी एक कार्यक्षेत्र स्थापित करें (सेटअप पहली बार ग्रहण का उपयोग करने के समान है)। जब कार्यक्रम पूरी तरह से शुरू हो गया है, तो स्वागत पृष्ठ पर क्लिक करें और 'फ़ाइल -> नया -> उदाहरण …' पर क्लिक करें और फिर 'याकिन्दु स्टेटचार्ट उदाहरण' चुनें, थोड़ी प्रतीक्षा करें और "एम्बेडेड सिस्टम -> ज़ोवी (सी ++) खोजें।)" उदाहरण।
महत्वपूर्ण: 'इंस्टॉल डिपेंडेंसीज…' नाम के टॉप राइट बटन पर क्लिक करें! यह आपके लिए सब कुछ स्थापित करता है, इसलिए आपको पुस्तकालयों, प्लग-इन और इसी तरह के बारे में चिंता करने की ज़रूरत नहीं है। उदाहरण डाउनलोड करें, "एम्बेडेड सिस्टम -> ज़ोवी (सी ++)" उदाहरण में दिए गए निर्देशों का पालन करें और फिर अगले चरण के साथ जारी रखें।
चरण 2: समझना कि ओटो को कैसे इंटरफ़ेस करना है
".sct" फ़ाइल में जाएं और अपनी पसंद के अनुसार स्टेट मशीन को संपादित करें। दाईं ओर एक मेनू है जिसमें सभी आइटम उपलब्ध हैं। हम केवल राज्यों और संक्रमणों में रुचि रखते हैं।
चित्र में, आप देख सकते हैं, कि मैंने ट्रांज़िशन पर कुछ चीज़ें लिखी हैं; "एक्स एस के बाद" बहुत आत्म-व्याख्यात्मक है और "हमेशा" का अर्थ है, कि यह राज्य से कोड समाप्त करने के ठीक बाद वहां जाता है। "एंट्री /" का अर्थ है, कि कोड को राज्य में प्रवेश करने के ठीक बाद निष्पादित किया जाना चाहिए।
IDE राज्य मशीन को C++ में संकलित करता है, जो Arduino के अनुरूप है। ओटो की विशेषताओं का उपयोग करने के लिए, हमें इंटरफ़ेस तक पहुँचने के लिए स्वयं थोड़ा काम करना होगा।
राज्य मशीन के उपयोग के लिए सामग्री को परिभाषित करने के लिए निम्नलिखित कीवर्ड का उपयोग किया जा सकता है:
स्थिरांक, जो मान धारण करते हैं और जिन्हें बदला नहीं जा सकता
चर, जो मान धारण करते हैं और जिन्हें बदला जा सकता है
संचालन, जो कार्यान्वयन के लिए आभासी सी ++ विधियों के लिए उत्पन्न किया जाएगा
इंटरफेस:
कॉन्स्ट पिन_वाईएल: पूर्णांक = 2 कॉन्स्ट पिन_वाईआर: पूर्णांक = 3 कॉन्स्ट पिन_आरएल: पूर्णांक = 4 कॉन्स्ट पिन_आरआर: पूर्णांक = 5 कॉन्स्ट साउंड: पूर्णांक = 2 कॉन्स्ट माउथ_हार्ट: पूर्णांक = 13 कॉन्स्ट माउथ_हैप्पी ओपन: पूर्णांक = 11 ऑपरेशन zowi_init (YL: पूर्णांक, YR): पूर्णांक, आरएल: पूर्णांक, आरआर: पूर्णांक) ऑपरेशन zowi_home() ऑपरेशन zowi_putMouth (माउथ टाइप: पूर्णांक) ऑपरेशन zowi_sing (गीतनाम: पूर्णांक) ऑपरेशन zowi_walk (चरण: वास्तविक, टी: पूर्णांक, डीआईआर: पूर्णांक) ऑपरेशन zowi_shakeLeg ()
प्रो टिप: यदि आप नहीं जानते कि किसी स्थान पर क्या दर्ज करना है या कोई त्रुटि प्रतीत होती है, तो आप जो दर्ज कर सकते हैं उस पर कुछ संकेत प्राप्त करने के लिए "ctrl+space" दबाएं।
इसके अतिरिक्त, आपको उदाहरणों पर गौर करना चाहिए, उनके पास कुछ कोड भी हैं! आप उन्हें केवल मॉडल को संपादित करने के लिए एक संरचना के रूप में उपयोग कर सकते हैं, जो कि एकमात्र ऐसा हिस्सा है जिसमें हम अभी रुचि रखते हैं।
चरण 3: अंतराल भरना
![अंतराल भरना अंतराल भरना](https://i.howwhatproduce.com/images/011/image-32751-4-j.webp)
मॉडल में चीजें बदलने के बाद आप "zowiSCT.sgen -> Generate Code Artifacts" पर राइट-क्लिक कर सकते हैं। यह सी ++ में वर्चुअल फ़ंक्शंस उत्पन्न करता है, जिसे राज्य मशीन में "src-gen" फ़ोल्डर में घोषित किया जाता है, जिसे हम सामान्य सी ++ का उपयोग करके कार्यान्वित करते हैं।
ओटो से हम जो कार्यक्षमता चाहते हैं उसे प्राप्त करने के लिए बस इन दो फाइलों को "src" फ़ोल्डर में बनाएं।
सबसे पहले Impl.h
#ifndef SRC_IMPL_H_
#define SRC_IMPL_H_ #include "../src-gen/ZowiSCT.h" क्लास इंपल: पब्लिक ZowiSCT::DefaultSCI_OCB{ पब्लिक: Impl(); आभासी ~ Impl (); शून्य zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR); शून्य zowi_home (); शून्य zowi_putMouth (sc_integer माउथ टाइप); शून्य zowi_sing (sc_integer songName); शून्य zowi_walk (sc_real चरण, sc_integer T, sc_integer dir); शून्य zowi_shakeLeg (); }; #endif /* SRC_IMPL_H_ */
फिर Impl.cpp
#शामिल "Impl.h"
#शामिल "../Zowi/Zowi.h" Zowi zowi = new 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 steps, sc_integer T, sc_integer dir) {zowi.walk(steps, T, dir); } शून्य Impl::zowi_shakeLeg () {zowi.shakeLeg (); }
चरण 4: ओटो नृत्य बनाना
जब आप अपने उत्पाद से खुश हों, तो ऊपर बाईं ओर स्थित हथौड़े पर क्लिक करें और प्रक्रिया समाप्त होने की प्रतीक्षा करें। फिर हथौड़े के दायीं ओर हरे तीर पर क्लिक करें और अपने ओटो को नाचते हुए देखें!
यदि आप चाहें, तो आप कुछ अन्य उदाहरण देख सकते हैं: YAKINDU Statechart Tools
सिफारिश की:
अरुडिनो - भूलभुलैया सॉल्विंग रोबोट (माइक्रोमाउस) वॉल फॉलोइंग रोबोट: 6 कदम (चित्रों के साथ)
![अरुडिनो - भूलभुलैया सॉल्विंग रोबोट (माइक्रोमाउस) वॉल फॉलोइंग रोबोट: 6 कदम (चित्रों के साथ) अरुडिनो - भूलभुलैया सॉल्विंग रोबोट (माइक्रोमाउस) वॉल फॉलोइंग रोबोट: 6 कदम (चित्रों के साथ)](https://i.howwhatproduce.com/images/001/image-2132-j.webp)
अरुडिनो | भूलभुलैया सॉल्विंग रोबोट (माइक्रोमाउस) वॉल फॉलोइंग रोबोट: वेलकम आई एम आइज़ैक और यह मेरा पहला रोबोट "स्ट्राइकर v1.0" है। इस रोबोट को एक साधारण भूलभुलैया को हल करने के लिए डिज़ाइन किया गया था। प्रतियोगिता में हमारे पास दो भूलभुलैया और रोबोट थे उन्हें पहचानने में सक्षम था। भूलभुलैया में किसी भी अन्य परिवर्तन के लिए वें में बदलाव की आवश्यकता हो सकती है
ओटो DIY+ Arduino ब्लूटूथ रोबोट 3डी प्रिंट के लिए आसान: 6 कदम (चित्रों के साथ)
![ओटो DIY+ Arduino ब्लूटूथ रोबोट 3डी प्रिंट के लिए आसान: 6 कदम (चित्रों के साथ) ओटो DIY+ Arduino ब्लूटूथ रोबोट 3डी प्रिंट के लिए आसान: 6 कदम (चित्रों के साथ)](https://i.howwhatproduce.com/images/005/image-12447-j.webp)
ओटो DIY+ अरुडिनो ब्लूटूथ रोबोट 3डी प्रिंट के लिए आसान: ओटो की ओपन सोर्स प्रकृति खुली स्टीम शिक्षा की अनुमति देती है, हम दुनिया भर के विभिन्न कार्यशालाओं और स्कूलों से फीडबैक एकत्र करते हैं जो पहले से ही अपनी कक्षा में ओटो DIY का उपयोग कर रहे हैं और इस शैक्षिक स्थानों के खुलेपन के आधार पर हम या
ओटो DIY ह्यूमनॉइड रोबोट: 7 कदम (चित्रों के साथ)
![ओटो DIY ह्यूमनॉइड रोबोट: 7 कदम (चित्रों के साथ) ओटो DIY ह्यूमनॉइड रोबोट: 7 कदम (चित्रों के साथ)](https://i.howwhatproduce.com/images/007/image-19465-j.webp)
ओटो DIY ह्यूमनॉइड रोबोट: ओटो बाइपेडल रोबोट को अब "मानव" के समान दिखने के लिए हथियार मिल गए हैं; और भावनाओं को व्यक्त करने के लिए एक एलईडी मैट्रिक्स। अपने आप से ३डी प्रिंट करें और फिर खुद बनाने के लिए भागों को इकट्ठा करें। ओटो वास्तव में ओपनसोर्स है; इसका मतलब है कि हार्डवेयर को आसानी से पहचाना जा सकता है
Arduino पर स्टेट मशीन - एक पैदल यात्री ट्रैफिक लाइट: 6 कदम (चित्रों के साथ)
![Arduino पर स्टेट मशीन - एक पैदल यात्री ट्रैफिक लाइट: 6 कदम (चित्रों के साथ) Arduino पर स्टेट मशीन - एक पैदल यात्री ट्रैफिक लाइट: 6 कदम (चित्रों के साथ)](https://i.howwhatproduce.com/images/001/image-298-39-j.webp)
Arduino पर स्टेट मशीन - एक पैदल यात्री ट्रैफिक लाइट: अरे वहाँ! मैं आपको दिखाने जा रहा हूँ कि कैसे YAKINDU Statechart टूल्स का उपयोग करके एक परिमित राज्य मशीन के साथ C++ में Arduino के लिए एक पैदल यात्री ट्रैफ़िक लाइट प्रोग्राम करना है। यह राज्य मशीनों की शक्ति का प्रदर्शन करेगा और आगे के लिए एक खाका के रूप में इस्तेमाल किया जा सकता है
ओटो DIY - एक घंटे में अपना खुद का रोबोट बनाएं!: 9 कदम (चित्रों के साथ)
![ओटो DIY - एक घंटे में अपना खुद का रोबोट बनाएं!: 9 कदम (चित्रों के साथ) ओटो DIY - एक घंटे में अपना खुद का रोबोट बनाएं!: 9 कदम (चित्रों के साथ)](https://i.howwhatproduce.com/images/003/image-6995-4-j.webp)
ओटो DIY - एक घंटे में अपना खुद का रोबोट बनाएं!: ओटो एक इंटरैक्टिव रोबोट है जिसे कोई भी बना सकता है!, ओटो चलता है, नृत्य करता है, आवाज करता है और बाधाओं से बचाता है। ओटो पूरी तरह से खुला स्रोत है, Arduino संगत, 3D प्रिंट करने योग्य, और एक सामाजिक के साथ सभी के लिए समावेशी वातावरण बनाने के लिए प्रभाव मिशन