Სარჩევი:
- მარაგები
- ნაბიჯი 1: ყველაფრის დაყენება
- ნაბიჯი 2: იმის გაგება, თუ როგორ უნდა შეაერთოთ Otto
- ნაბიჯი 3: ხარვეზების შევსება
- ნაბიჯი 4: ოტოს ცეკვის გაკეთება
ვიდეო: Arduino Otto Robot სახელმწიფო მანქანით: 4 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
პროექტის მიმოხილვა
ამ პროექტში მინდა გაჩვენოთ Otto Robot– ის პროგრამირების გზა, რომელიც არის Arduino– ზე დაფუძნებული წვრილმანი რობოტი. YAKINDU Statechart Tools– ის გამოყენებით (უფასოა არაკომერციული) ჩვენ შეგვიძლია მარტივად გამოვიყენოთ სახელმწიფო მანქანები ოტო რობოტის ქცევის გრაფიკულად მოდელირებისთვის და C/C ++ კოდის შესაქმნელად. ჩვენ გამოვიყენებთ მათ ერთ -ერთ მაგალითს, რომ გავაფართოვოთ ქცევა ჩვენს გემოვნებაზე.
იმ ადამიანებისთვის, რომლებმაც არ იციან რა არის სახელმწიფო მანქანა და არ სურთ ვიკიპედიის რთული სტატიის მიმოხილვა, აქ არის მცირე ახსნა:
სახელმწიფო მანქანა არის მხოლოდ კვანძები და გზები ამ კვანძებს შორის. თქვენ გაქვთ საწყისი კვანძი და შეგიძლიათ გაიაროთ ბილიკები სხვა კვანძებში მათი მცველებიდან გამომდინარე, რაც შეიძლება წარმოდგენილი იყოს მოვლენებით. ეს მოვლენები წარმოიქმნება ან თავად სახელმწიფო მანქანისგან, ან გარედან (ფუნქციის მსგავსად და ა. შ.).
ინსტრუმენტი თავისთავად იყენებს drag & drop ინტერფეისს და დომენის სპეციფიკურ ენას. მე მოგახსენებთ თქვენთვის, ასე რომ თქვენ არ გჭირდებათ მათი დოკუმენტაციის გათხრა, რომ თქვენი ოთო ამოქმედდეს. IDE– ს დაყენება არც ისე რთულია, რადგან ყველა დანამატი და ა.შ ავტომატურად უნდა დაინსტალირდეს.
მარაგები
ოტო რობოტი ან ზოვი რობოტი
ორივე ეს რობოტი არსებითად ერთსა და იმავეს იყენებს და იყენებს ერთსა და იმავე API– ს. Otto Robot არის წვრილმანი რობოტი, მისი ნაწილები ინტერნეტით, მზად არის 3D პრინტერის დასაბეჭდად, თუკი გყავთ. ალტერნატივა არის Zowi Robot, რომლის შეძენაც შესაძლებელია ონლაინ და მზად არის გამოსაყენებლად.
YAKINDU Statechart ინსტრუმენტები
ინსტრუმენტი, რომელსაც ჩვენ გამოვიყენებთ სახელმწიფო მანქანის მოდელირებისთვის. თქვენ შეგიძლიათ დაიწყოთ 30 დღიანი საცდელი პერიოდით და ამის შემდეგ მიიღოთ უფასო ლიცენზია არაკომერციული გამოყენებისთვის.
Eclipse C ++ IDE Arduino მოდულისთვის
ჩვენ არ გვჭირდება მისი ხელით გადმოტვირთვა, რადგან IDE ამას აკეთებს ჩვენთვის. მე მაინც ვფიქრობდი, რომ კარგი იქნებოდა აქ ჩამოთვლა.
ნაბიჯი 1: ყველაფრის დაყენება
IDE– ს დაყენების შემდეგ გაუშვით და შექმენით სამუშაო ადგილი თქვენს კომპიუტერში სადმე (კონფიგურაცია იდენტურია Eclipse– ის პირველად გამოყენებისას). როდესაც პროგრამა სრულად დაიწყება, დააწკაპუნეთ მისასალმებელი გვერდი და დააწკაპუნეთ "ფაილი -> ახალი -> მაგალითი …" და შემდეგ აირჩიეთ "YAKINDU Statechart Examples", დაელოდეთ ცოტა ხანს და მოძებნეთ "ჩაშენებული სისტემები -> Zowi (C ++) "მაგალითი.
მნიშვნელოვანია: დააწკაპუნეთ ზედა მარჯვენა ღილაკზე სახელწოდებით "დააინსტალირეთ დამოკიდებულებები …"! ეს აყენებს ყველაფერს თქვენთვის, ასე რომ თქვენ არ უნდა ინერვიულოთ ბიბლიოთეკებზე, დანამატებზე და მსგავსზე. გადმოწერეთ მაგალითი, მიჰყევით ინსტრუქციას "ჩაშენებული სისტემები -> Zowi (C ++)" მაგალითში და შემდეგ გააგრძელეთ შემდეგი ნაბიჯი.
ნაბიჯი 2: იმის გაგება, თუ როგორ უნდა შეაერთოთ Otto
გადადით ".sct" ფაილში და შეცვალეთ სახელმწიფო მანქანა თქვენი შეხედულებისამებრ. მარჯვნივ არის მენიუ ყველა ელემენტით. ჩვენ მხოლოდ სახელმწიფოები და გადასვლები გვაინტერესებს.
სურათზე, თქვენ ხედავთ, რომ მე დავწერე რაღაცეები გადასვლებზე; "შემდეგ X s" საკმაოდ გასაგებია და "ყოველთვის" მხოლოდ იმას ნიშნავს, რომ ის იქ მიდის სახელმწიფოდან კოდის დასრულებისთანავე. "შესვლა /" ნიშნავს, რომ კოდი უნდა შესრულდეს მდგომარეობის შესვლისთანავე.
IDE ადგენს სახელმწიფო მანქანას C ++ - ზე, რომელიც შეესაბამება Arduino– ს. ოტოს მახასიათებლების გამოსაყენებლად, ჩვენ თვითონ უნდა გავაკეთოთ ცოტაოდენი სამუშაო ინტერფეისზე წვდომისათვის.
შემდეგი საკვანძო სიტყვები შეიძლება გამოყენებულ იქნას სახელმწიფო მოწყობილობის გამოსაყენებლად:
მუდმივები, რომლებიც იცავენ მნიშვნელობებს და მათი შეცვლა შეუძლებელია
ცვლადები, რომლებიც იცავენ მნიშვნელობებს და შეიძლება შეიცვალოს
ოპერაციები, რომლებიც გენერირდება ვირტუალური C ++ მეთოდების განსახორციელებლად
ინტერფეისი:
const PIN_YL: მთელი = 2 const PIN_YR: მთელი = 3 const PIN_RL: მთელი რიცხვი = 4 const PIN_RR: მთელი = 5 const sound: რიცხვი = 2 const mouth_heart: მთელი = 13 const mouth_happyOpen: მთელი რიცხვი = 11 ოპერაცია zowi_init (YL: მთელი, YR.
რჩევა: თუ არ იცით რა შეიტანოთ სადმე ან როგორც ჩანს, შეცდომაა, დააჭირეთ ღილაკს "ctrl+space", რათა მიიღოთ რჩევები იმის შესახებ, თუ რისი შეყვანა შეგიძლიათ.
გარდა ამისა, თქვენ უნდა გადახედოთ მაგალითებს, მათ აქვთ რაღაც კოდი იქაც! თქვენ ასევე შეგიძლიათ გამოიყენოთ ისინი, როგორც სტრუქტურა მოდელის შესაცვლელად, რაც არის ერთადერთი ნაწილი, რომელიც ჩვენ გვაინტერესებს.
ნაბიჯი 3: ხარვეზების შევსება
მოდელში ნივთების შეცვლის შემდეგ შეგიძლიათ დააწკაპუნოთ მარჯვენა ღილაკით "zowiSCT.sgen -> გენერირება კოდის არტეფაქტებზე". ეს წარმოქმნის ვირტუალურ ფუნქციებს C ++-ში, რომლებიც გამოცხადებულია სახელმწიფო მანქანაში საქაღალდეში "src-gen", რომელსაც ჩვენ შემდეგ განვახორციელებთ ნორმალური C ++-ის გამოყენებით.
უბრალოდ შექმენით ეს ორი ფაილი "src" საქაღალდეში, რომ მიიღოთ ის ფუნქცია, რაც ოტოსგან გვსურს.
ჯერ იმპლ.ჰ
#ifndef SRC_IMPL_H_
#განსაზღვრეთ SRC_IMPL_H_ #ჩართეთ "../src-gen/ZowiSCT.h" კლასი Impl: public ZowiSCT:: DefaultSCI_OCB {public: Impl (); ვირტუალური ~ Impl (); ბათილია zowi_init (sc_integer YL, sc_integer YR, sc_integer RL, sc_integer RR); ბათილია zowi_home (); ბათილი zowi_putMouth (sc_integer mouthType); void 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 ნაბიჯები, sc_integer T, sc_integer dir) {zowi.walk (ნაბიჯები, T, dir); } void Impl:: zowi_shakeLeg () {zowi.shakeLeg (); }
ნაბიჯი 4: ოტოს ცეკვის გაკეთება
როდესაც კმაყოფილი ხართ თქვენი პროდუქტით, დააწკაპუნეთ ჩაქუჩზე მარცხნივ და დაელოდეთ პროცესის დასრულებას. შემდეგ დააწკაპუნეთ მწვანე ისარზე ჩაქუჩის მარჯვნივ და ნახეთ თქვენი ოტო ცეკვა!
თუ გსურთ, შეგიძლიათ გადახედოთ სხვა მაგალითებს: YAKINDU Statechart Tools
გირჩევთ:
LLDPi - Raspberry Pi Network Tool (კოლორადოს სახელმწიფო უნივერსიტეტი): 7 ნაბიჯი
LLDPi - Raspberry Pi Network Tool (კოლორადოს სახელმწიფო უნივერსიტეტი): LLDPi პროექტი არის Raspberry Pi და LCD– დან დამზადებული ჩამონტაჟებული სისტემა, რომელსაც შეუძლია მოიპოვოს LLDP (Link Layer Discovery Protocol) ინფორმაცია მეზობელი მოწყობილობებიდან ქსელში, როგორიცაა სისტემის სახელი და აღწერა , პორტის სახელი და აღწერა, VLA
ჭკვიანი ნაგვის ურნა მანქანით: 5 ნაბიჯი
ჭკვიანი ნაგვის ურნა მანქანით: ეს არის ჭკვიანი ნაგვის ურნა ულტრაბგერითი სენსორით, მანქანით და ღილაკით, ასე რომ წინ მიიწევთ როდესაც დააჭერთ მას. ეს პროექტი შთაგონებულია https://www.instructables.com/id/DIY-Smart-Dustbin-With-Ardduino/ აქ არის რამოდენიმე ნაწილი, სადაც მე შევიტანე ცვლილებები: 4 ბორბლიანი
Arduino HMI სახელმწიფო მანქანების გამოყენებით: 9 ნაბიჯი
Arduino HMI სახელმწიფო მანქანების გამოყენებით: ამ ინსტრუქციაში მე გაჩვენებთ, თუ როგორ გამოიყენოთ YAKINDU Statechart Tools მარტივი და გაფართოებადი HMI– ს გამოყენებით Arduino– სთვის 16x2 LCD კლავიატურის ფარის გამოყენებით. სასრულ სახელმწიფო მანქანები (FSM) არის მძლავრი დიზაინის ნიმუში რთული ადამიანის მანქანა
მიიღეთ თქვენი სახლის WiFi მანქანით თქვენთან ერთად: 5 ნაბიჯი
წაიყვანეთ თქვენი სახლის WiFi მანქანით თქვენთან ერთად: მაშინაც კი, ჩვენ მოგვწონს ეს თუ არა, ჩვენ უკვე იმ მდგომარეობაში ვართ, სადაც საათობით ვჯდებით მანქანაში ხანგრძლივი მოგზაურობისას. დროის გასავლელად, თქვენ იღებთ ჩვენს ტელეფონს, მაგრამ ადრე თუ გვიან თქვენ იღებთ სულელურ შეტყობინებას მობილური კომპანიისგან, რომელშიც ნათქვამია, რომ მონაცემები ამოწურულია
Arduino PLC 32 I/O+სახელმწიფო მანქანა+SCADA ან HMI: 8 ნაბიჯი
Arduino PLC 32 I/O+სახელმწიფო მანქანა+SCADA ან HMI: ინდუსტრიული სისტემის პროგრამირების, კონტროლისა და ზედამხედველობის მრავალი გზა arduino– ით