Πίνακας περιεχομένων:

Τελικός Otto DIY Class: 4 Βήματα
Τελικός Otto DIY Class: 4 Βήματα

Βίντεο: Τελικός Otto DIY Class: 4 Βήματα

Βίντεο: Τελικός Otto DIY Class: 4 Βήματα
Βίντεο: Η γκουγκου δεν σεβεται τον πατερα της 2024, Νοέμβριος
Anonim
Τελικός Otto DIY Class Class
Τελικός Otto DIY Class Class

Αυτό το έργο έγινε εφικτό από το Otto και το Athens Technical College.

Για να ξεκινήσετε, πρέπει πρώτα να αγοράσετε το κιτ από:

Στη συνέχεια, ακολουθήστε τα βήματα στη διεύθυνση:

Βήμα 1: Βήμα πρώτο: Συγκέντρωση ρομπότ από οδηγίες

Βήμα πρώτο: Συγκέντρωση ρομπότ από οδηγίες
Βήμα πρώτο: Συγκέντρωση ρομπότ από οδηγίες
Βήμα πρώτο: Συγκέντρωση ρομπότ από οδηγίες
Βήμα πρώτο: Συγκέντρωση ρομπότ από οδηγίες

wikifactory.com/+OttoDIY/otto-diy

Αυτός ο ιστότοπος είναι όπου θα βρείτε οδηγίες συναρμολόγησης και κωδικό για το ρομπότ σας Otto.

Όπως μπορείτε να δείτε, αναμίξα και ταίριαξα με διαφορετικά μέρη και χρώματα και χρησιμοποίησα ένα φορητό μπλοκ φόρτισης για τροφοδοσία αντί για τις 4 μπαταρίες AA που συνιστώνται.

Το ηχείο μου είναι τοποθετημένο στο μπροστινό μέρος για εύκολη ακοή και ένα σπαθί είναι προσαρτημένο στη δεξιά πλευρά για διακόσμηση.

Βήμα 2: Βήμα δεύτερο: Plug and Code

Βήμα δεύτερο: Plug and Code
Βήμα δεύτερο: Plug and Code

Αφού συναρμολογηθεί το ρομπότ σας, φορτώστε το Arduino IDE στον υπολογιστή σας και συνδέστε το ρομπότ σας.

Σε αυτό το σημείο θα πρέπει να έχετε κατεβάσει τα αρχεία Otto. Εξαγωγή τους απευθείας στο φάκελο βιβλιοθηκών Arduino.

Αυτό θα σας επιτρέψει να χρησιμοποιήσετε τον κωδικό που σας έχει δώσει ο Otto.

Βήμα 3: Βήμα τρίτο: Τέλος κωδικοποίησης

Βήμα τρίτο: Ολοκληρώστε την κωδικοποίηση
Βήμα τρίτο: Ολοκληρώστε την κωδικοποίηση

Μόλις εξαχθούν οι βιβλιοθήκες σας, θα πρέπει να μεταβείτε στο Arduino IDE και να βεβαιωθείτε ότι οι εκκινητές σας είναι ενημερωμένοι.

Ρυθμίστε την πλακέτα σας στο Arduino Nano, τον επεξεργαστή σας στο ATmega328P (Old Bootloader) και το COM σας σε οποιαδήποτε θύρα συνδέσατε το ρομπότ σας.

Μόλις ολοκληρωθεί αυτό το βήμα και ο κωδικός σας είναι έτοιμος, πατήστε το κουμπί μεταφόρτωσης στην επάνω αριστερή γωνία του προγράμματος για να ανεβάσετε τον κώδικα στο ρομπότ σας.

Βήμα 4: Βήμα Τέταρτο: Παρακολουθήστε

Παρακολουθήστε τις αρρωστημένες κινήσεις του ρομπότ σας και ντόπιες τις φωνές.

Ανάλογα με τον κωδικό που χρησιμοποιήσατε, μπορείτε να κάνετε το ρομπότ σας να τραγουδήσει, να χορέψει ή να αποφύγει εμπόδια.

Αυτό το έργο γράφτηκε με τον κωδικό αποφυγής:

// ---------------------------------------------------- ------------------------------------------------------ ------------------------------------------------------ ----------------- // Otto_avoid δείγμα σκίτσο // -------------------------- ------------------------------------------------------ ------------------------------------------------------ -------------------------------------- //-Otto DIY PLUS Firmware έκδοση 9 (V9) //-Το Otto DIY επενδύει χρόνο και πόρους παρέχοντας ανοιχτό κώδικα και υλικό, υποστηρίξτε αγοράζοντας κιτ από (https://www.ottodiy.com) // ------------ ------------------------------------------------------ --- //-Εάν επιθυμείτε να χρησιμοποιήσετε αυτό το λογισμικό κάτω από την Αδειοδότηση ανοιχτού κώδικα, πρέπει να συνεισφέρετε όλο τον πηγαίο κώδικα στην κοινότητα και όλο το παραπάνω κείμενο πρέπει να συμπεριληφθεί σε οποιαδήποτε αναδιανομή //-σύμφωνα με την έκδοση GPL 2 όταν διανέμεται η αίτησή σας. Δείτε https://www.gnu.org/copyleft/gpl.html // -------------------------------- ------------------------------------------------------ ------------------------------------------------------ --------------------------------- #include //-Otto Library έκδοση 9 Otto9 Otto; // Αυτός είναι ο Ότο!

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

//-Πρώτο βήμα: Διαμόρφωση των ακίδων όπου είναι προσαρτημένα τα servos /* --------------- | Ο Ο | | --------------- | YR 3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// Κωδικοί SERVO ///////////////////////////////////////// //////////////////////////////////define PIN_YL 2 // servo [0] αριστερό πόδι #καθορισμός PIN_YR 3 // servo [1] δεξί πόδι #καθορισμός PIN_RL 4 // servo [2] αριστερό πόδι #καθορισμός PIN_RR 5 // servo [3] δεξί πόδι // ULTRASONIC PIN /////////////// ///////////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // TRIGGER pin (8) #define PIN_Echo 9 // ECHO pin (9) // BUZZER PIN /////////////// //////////////////////////////////////////////// //////////////define PIN_Buzzer 13 // BUZZER pin (13) // SERVO ASSEMBLY PIN ///////////////////// ////////////////////////////////////////////////// για να συναρμολογήσετε τα πόδια και τα πόδια του Otto - συνδέστε σύρμα μεταξύ του πείρου 7 και του GND #define PIN_ASSEMBLY 7 // PIN ASSEMBLY (7) LOW = συγκρότηση HIGH = κανονική λειτουργία ////////////////// //////////////////////////////////////////////// //-Παγκόσμιες μεταβλητές -----------------------------------------------/ ///////////////////////////////////////////////////////// //////////////////// int απόσταση? // μεταβλητή για αποθήκευση απόστασης που διαβάζεται από υπερηχητική μονάδα εύρεσης εύρους bool astengieDetected = false; // λογική κατάσταση όταν το αντικείμενο ανιχνεύεται βρίσκεται στην απόσταση που έχουμε ορίσει ///////////////////////////////// //////////////////////////////// //-Ρύθμιση -------------- ------------------------------------------ // //////// //////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Ρυθμίστε τις σερβο -καρφίτσες και τις ακίδες υπερήχων και το pinMode pin (BIN_ASSEMBLY, INPUT_PULLUP). // - Εύκολη καρφίτσα συναρμολόγησης - LOW είναι η λειτουργία συναρμολόγησης // Otto ξυπνήστε! Otto.sing (S_connection); // Ο Otto κάνει έναν ήχο Otto.home (); // Ο Ότο μετακινείται στην καθυστέρηση έτοιμης θέσης (500). // περιμένετε 500 χιλιοστά του δευτερολέπτου για να επιτρέψετε στο Otto να σταματήσει // εάν το Pin 7 είναι LOW τότε τοποθετήστε τα servos του OTTO σε λειτουργία home για να ενεργοποιήσετε την εύκολη συναρμολόγηση, // όταν ολοκληρώσετε τη συναρμολόγηση του Otto, αφαιρέστε τη σύνδεση μεταξύ του pin 7 και του GND ενώ (digitalRead (PIN_ASSEMBLY) == LOW) {Otto.home (); // Ο Otto μετακινείται στην έτοιμη θέση Otto.sing (S_happy_short); // τραγουδήστε κάθε 5 δευτερόλεπτα ώστε να γνωρίζουμε ότι το OTTO εξακολουθεί να λειτουργεί με καθυστέρηση (5000); // περιμένετε 5 δευτερόλεπτα}

}

//////////////////////////////////////////////// ////////////////// //-Κύριος βρόχος --------------------------- ------------------ // ////////////////////////////// ////////////////////////////////////// Κενός βρόχος () {αν (εμπόδιο Ανιχνεύτηκε) {// αν υπάρχει ένα αντικείμενο πιο κοντά από 15cm τότε κάνουμε το παρακάτω Otto.sing (S_surprise)? // ακούστε μια έκπληξη Otto.jump (5, 500). // Ο Otto πηδά Otto.sing (S_cuddly)? // ήχος α // Ο Ότο κάνει τρία βήματα πίσω για (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). // Otto περπατήστε ευθεία στο εμπόδιο Ανιχνευτής (); // κλήση της λειτουργίας για έλεγχο του υπερηχητικού εύρους εύρους για αντικείμενο πλησιέστερο των 15 cm}} //////////////////////////// /////////////////////////////////////-Λειτουργίες --------- -------------------------------------------- // //////// ///////////////////////////////////////////////////////// //////////

/- Λειτουργία ανάγνωσης αισθητήρα απόστασης & πραγματικοποίησης μεταβλητής Ανίχνευσης εμποδίων

void obstenceDetector () {int distance = Otto.getDistance (); // λάβετε την απόσταση από το υπερηχητικό εύρος εύρεσης εάν (απόσταση <15) εμπόδιο Ανιχνεύθηκε = αλήθεια. // ελέγξτε για να δείτε αν αυτή η απόσταση είναι πιο κοντά από 15 εκατοστά, αληθές αν είναι άλλο εμπόδιο Ανιχνεύτηκε = ψευδές; // ψευδές αν δεν είναι}

Συνιστάται: