Სარჩევი:

Otto DIY კლასის ფინალი: 4 ნაბიჯი
Otto DIY კლასის ფინალი: 4 ნაბიჯი

ვიდეო: Otto DIY კლასის ფინალი: 4 ნაბიჯი

ვიდეო: Otto DIY კლასის ფინალი: 4 ნაბიჯი
ვიდეო: კახი კალაძე დატროლეს 😀🤣🤣 2024, ივლისი
Anonim
ოტო წვრილმანი კლასის ფინალი
ოტო წვრილმანი კლასის ფინალი

ეს პროექტი შესაძლებელი გახდა ოტოს და ათენის ტექნიკური კოლეჯის მიერ.

დასაწყებად, თქვენ ჯერ უნდა შეიძინოთ ნაკრები:

შემდეგ მიჰყევით ნაბიჯებს:

ნაბიჯი 1: ნაბიჯი პირველი: შეაგროვეთ რობოტი ინსტრუქციიდან

ნაბიჯი პირველი: შეაგროვეთ რობოტი ინსტრუქციიდან
ნაბიჯი პირველი: შეაგროვეთ რობოტი ინსტრუქციიდან
ნაბიჯი პირველი: შეაგროვეთ რობოტი ინსტრუქციიდან
ნაბიჯი პირველი: შეაგროვეთ რობოტი ინსტრუქციიდან

wikifactory.com/+OttoDIY/otto-diy

ეს ვებ გვერდი არის სადაც თქვენ ნახავთ შეკრების ინსტრუქციას და კოდს თქვენი ოტო რობოტისთვის.

როგორც ხედავთ, მე ავურიე და შევარჩიე სხვადასხვა ნაწილები და ფერები და გამოვიყენე პორტატული დამტენი ბლოკი ენერგიისათვის, რეკომენდებული 4 AA ბატარეის ნაცვლად.

ჩემი სპიკერი დამონტაჟებულია წინა მხარეს ადვილი მოსასმენად და ხმალი ერთვის მარჯვენა მხარეს დეკორაციისთვის.

ნაბიჯი 2: ნაბიჯი მეორე: დანამატი და კოდი

ნაბიჯი მეორე: დანამატი და კოდი
ნაბიჯი მეორე: დანამატი და კოდი

მას შემდეგ, რაც თქვენი რობოტი შეიკრიბება, ჩატვირთეთ Arduino IDE თქვენს კომპიუტერში და შეაერთეთ თქვენი რობოტი.

ამ დროს თქვენ უნდა გქონდეთ Otto ფაილების ჩამოსატვირთად. გადაიტანეთ ისინი პირდაპირ თქვენს Arduino ბიბლიოთეკების საქაღალდეში.

ეს საშუალებას მოგცემთ გამოიყენოთ კოდი, რომელიც ოტომ მოგცა.

ნაბიჯი 3: ნაბიჯი სამი: დაასრულეთ კოდირება

ნაბიჯი მესამე: დაასრულეთ კოდირება
ნაბიჯი მესამე: დაასრულეთ კოდირება

ბიბლიოთეკების ამოღების შემდეგ, თქვენ უნდა შეხვიდეთ Arduino IDE– ში და დარწმუნდეთ, რომ თქვენი ჩამტვირთველები განახლებულია.

დააყენეთ დაფა Arduino Nano– ზე, თქვენი პროცესორი ATmega328P– ზე (ძველი ჩამტვირთავი) და თქვენი COM რომელ პორტშიც უნდა ჩართოთ თქვენი რობოტი.

მას შემდეგ რაც ეს ნაბიჯი დასრულდება და თქვენი კოდი მზად იქნება, დააჭირეთ პროგრამის ზედა მარცხენა კუთხეში ატვირთვის ღილაკს, რომ ატვირთოთ კოდი თქვენს რობოტზე.

ნაბიჯი 4: ნაბიჯი მეოთხე: უყურეთ

უყურეთ თქვენი რობოტის სნეულ მოძრაობებს და გააცილეთ სიმღერა.

იმისდა მიხედვით, თუ რა კოდი გამოიყენე, შეგიძლია შენი რობოტი იმღერო, იცეკვოს, ან თავიდან აიცილო დაბრკოლებები.

ეს პროექტი დაიწერა თავიდან აცილების კოდით:

// ---------------------------------------------------- ------------------------------------------------------ ------------------------------------------------------ ----------------- // ოტო_მოერიდე ესკიზის ნიმუშს // -------------------------- ------------------------------------------------------ ------------------------------------------------------ -------------------------------------- //-Otto DIY PLUS APP Firmware ვერსია 9 (V9) //-Otto DIY ინვესტიციას უწევს დროს და რესურსებს ღია კოდისა და ტექნიკის უზრუნველსაყოფად, გთხოვთ მხარი დაუჭიროთ (https://www.ottodiy.com) // ------------ ------------------------------------------------------ --- //-თუ გსურთ გამოიყენოთ ეს პროგრამული უზრუნველყოფა ღია კოდის ლიცენზირების პირობებში, თქვენ უნდა შეიტანოთ თქვენი ყველა კოდის წყარო საზოგადოებაში და ყველა ზემოთ მოყვანილი ტექსტი უნდა შედიოდეს ნებისმიერ გადანაწილებაში //-GPL ვერსიის 2 შესაბამისად. როდესაც თქვენი განაცხადი ნაწილდება. იხილეთ https://www.gnu.org/copyleft/gpl.html // -------------------------------- ------------------------------------------------------ ------------------------------------------------------ --------------------------------- #მოიცავს //-ოტოს ბიბლიოთეკა ვერსია 9 ოტო 9 ოტო; // ეს ოტოა!

//---------------------------------------------------------

//-პირველი ნაბიჯი: კონფიგურაცია ქინძისთავების სადაც servos ერთვის /* --------------- | ო ო | | --------------- | წ 3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// SERVO PINs /////////////////////////////////////////// ////////////////////////////////// განსაზღვრეთ PIN_YL 2 // servo [0] მარცხენა ფეხი #განსაზღვრეთ PIN_YR 3 // servo [1] მარჯვენა ფეხი #განსაზღვრეთ PIN_RL 4 // servo [2] მარცხენა ფეხი #განსაზღვრეთ PIN_RR 5 // servo [3] მარჯვენა ფეხი // ულტრასონული პინები /////////////// /////////////////////////////////////////////////////////////// ///////// #განსაზღვრეთ PIN_Trigger 8 // TRIGGER pin (8) #deinine PIN_Echo 9 // ECHO pin (9) // BUZZER PIN //////////////// /////////////////////////////////////////////////////////////// ////////////// #განსაზღვრეთ PIN_Buzzer 13 // BUZZER pin (13) // SERVO ASSEMBLY PIN ////////////////////// //////////////////////////////////////////////////////////////////////////// ოტოს ფეხებისა და ფეხების შეკრებაში - მავთულის კავშირი პინ 7 -სა და GND #განსაზღვრეთ PIN_ASSEMBLY 7 // ასამბლეის პინი (7) LOW = შეკრება HIGH = ნორმალური ოპერაცია ////////////////// /////////////////////////////////////////////////////////////// //-გლობალური ცვლადები ----------------------------------------------/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// int მანძილი; // ცვლადი შესანახად მანძილის შესანახად ულტრაბგერითი დიაპაზონის მაძიებლის მოდულის bool დაბრკოლება აღმოჩენილი = მცდარი; // ლოგიკური მდგომარეობა, როდესაც ობიექტი აღმოჩენილია ჩვენს მიერ მითითებულ მანძილზე ///////////////////////////////// /////////////////////////////// //-- Აწყობა -------------- ------------------------------------------ // ///////// /////////////////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // დააყენეთ servo ქინძისთავები და ულტრაბგერითი ქინძისთავები და Buzzer pin pinMode (PIN_ASSEMBLY, INPUT_PULLUP); // - მარტივი ასამბლეის პინი - LOW არის შეკრების რეჟიმი // ოტო გაიღვიძე! ოტო. მღერის (S_connection); // ოტო ხმას გამოსცემს Otto.home (); // ოტო გადადის მზა პოზიციის დაგვიანებაზე (500); // დაელოდეთ 500 მილიწამს, რათა ოთომ შეაჩეროს // თუ Pin 7 არის LOW მაშინ მოათავსეთ OTTO- ს სერვისები სახლის რეჟიმში, რომ ადვილად შეიკრიბოს, // როდესაც Otto- ს აწყობა დაასრულეთ, ამოიღეთ კავშირი pin 7 -სა და GND- ს შორის (digitalRead (PIN_ASSEMBLY) == LOW) {Otto.home (); // Otto გადადის მზა პოზიციაზე Otto.sing (S_happy_short); // იმღერე ყოველ 5 წამში, რათა ვიცოდეთ, რომ OTTO კვლავ მუშაობს დაგვიანებით (5000); // დაელოდეთ 5 წამს}

}

/////////////////////////////////////////////////////////////// ////////////////// //-ძირითადი მარყუჟი --------------------------- ------------------ // ////////////////////////////// ///////////////////////////////////// ბათილი მარყუჟი () {თუ (დაბრკოლება აღმოჩენილია) {// თუ არის ობიექტი 15 სმ -ზე ახლოს მაშინ ჩვენ ვაკეთებთ შემდეგ ოთოს.მღერას (S_surprise); // გაოცება ჟღერს ოტო. ხტომა (5, 500); // ოტო ხტება ოთო.მღერის (S_cuddly); // ხმა a // ოტო სამი ნაბიჯით უკან იხევს (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // სამჯერ გაიმეორეთ უკან დაბრუნების ბრძანების შეფერხება (500); // მცირე 1/2 წამიანი შეფერხება, რათა ოთო დასახლდეს // ოთო მარცხნივ უვლის 3 საფეხურს (int i = 0; i <3; i ++) {// სამჯერ გაიმეორეთ Otto.turn (1, 1000, 1); // გასეირნების მარცხენა ბრძანების შეფერხება (500); // მცირე 1/2 წამიანი შეფერხება, რათა ოთო დასახლდეს}} სხვაგან {// თუ წინ არაფერია მაშინ წინ წადით Otto.walk (1, 1000, 1); // ოტო ფეხით პირდაპირ დაბრკოლება დეტექტორი (); // დარეკეთ ფუნქცია, რათა შეამოწმოთ ულტრაბგერითი დიაპაზონის მაძიებელი ობიექტისთვის 15 სმ -ზე ახლოს}} /////////////////////////// /////////////////////////////////////-ფუნქციები --------- ---------------------------------------------- // //////// /////////////////////////////////////////////////////////////// //////////

/- დისტანციის სენსორის წაკითხვის ფუნქცია და დაბრკოლების აღმოჩენის ცვლადი

ბათილი დაბრკოლება დეტექტორი () {int მანძილი = Otto.getDistance (); // მიიღეთ მანძილი ულტრაბგერითი დიაპაზონის მაძიებლისგან, თუ (მანძილი <15) დაბრკოლება გამოვლენილია = ჭეშმარიტი; // შეამოწმეთ თუ არა ეს მანძილი 15 სმ -ზე უფრო ახლოს, ჭეშმარიტი თუ სხვა დაბრკოლებაა გამოვლენილი = მცდარი; // ყალბი თუ არ არის}

გირჩევთ: