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

Arduino 3D Printed Sumo Bot: 6 Βήματα
Arduino 3D Printed Sumo Bot: 6 Βήματα

Βίντεο: Arduino 3D Printed Sumo Bot: 6 Βήματα

Βίντεο: Arduino 3D Printed Sumo Bot: 6 Βήματα
Βίντεο: Leap Motion SDK 2024, Ιούλιος
Anonim
Arduino 3D Printed Sumo Bot
Arduino 3D Printed Sumo Bot

Έτσι, είχα ένα σωρό κομμάτια γύρω από το σπίτι μου. Wantedθελα να συμμετάσχω σε διαγωνισμό σούμο που θα ερχόταν σε λίγους μήνες, αλλά δεν είχα bot. Αντί να αγοράσω ένα bot ή να χρησιμοποιήσω ένα υπάρχον σχέδιο που θα με απαιτούσε να αγοράσω πράγματα για το έργο, προχώρησα και έφτιαξα το δικό μου bot από το δικό μου σχέδιο από τα δικά μου μέρη που είχα. Θα χρειαστείτε τα παρακάτω για αυτό το σεμινάριο.

  1. Ένα από τα τρισδιάστατα τυπωμένα μέρη που βρέθηκαν εδώ.
  2. Μπαταρία 7,4 volt ή δύο μπαταρίες 18650.
  3. Υποστήριξη μπαταρίας εάν χρειάζεται.
  4. Arduino uno.
  5. Arduino uno breakout shield.
  6. Καλώδιο USB για Arduino.
  7. Τροφοδοσία πάγκου πάγκου (προαιρετικό).
  8. Φορτιστής (προαιρετικά).
  9. Σύρματα και πολλά από αυτά.
  10. Σέρβις κανονικού μεγέθους σερβομηχανισμούς συνεχούς περιστροφής.
  11. Δύο αισθητήρες διακόπτη ir.
  12. Σερβο τροχοί 7 εκατοστών.
  13. Διακόπτης ενεργοποίησης και απενεργοποίησης.

Αυτός ο κωδικός αλλάζει συνεχώς. Μπορείτε να βρείτε τον κωδικό για αυτό το ρομπότ εδώ. Αυτή είναι η πιο ενημερωμένη έκδοση αυτού του κώδικα έργου. Απολαμβάνω!

Βήμα 1: Συναρμολόγηση

Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
  1. Το ρομπότ χρησιμοποιεί δύο σέρβις μεταλλικών γραναζιών. Θα θελήσετε να τα βιδώσετε χρησιμοποιώντας μπουλόνια και παξιμάδια m3 με τα servos μέσα στο πλαίσιο να κοιτούν προς τα έξω και προς τις δύο κατευθύνσεις. Υπάρχει μόνο ένας τρόπος με τον οποίο τα servos μπορούν να μπουν στο ρομπότ, οπότε αυτό θα είναι αρκετά απλό.
  2. Συνδέστε τους σερβοφόρους τροχούς.
  3. Συνδέστε τους αισθητήρες ir έτσι ώστε να κοιτούν προς τα κάτω στο μπροστινό μέρος του ρομπότ. Συνδέονται με δύο βίδες μέσω των οπών Μ3 στο μπροστινό μέρος του ρομπότ. Υπάρχουν σχισμές στο κάτω μέρος του ρομπότ για να κοιτάξουν. Θέλετε να είστε προσεκτικοί οι αισθητήρες δεν σηκώνουν το πλαίσιο και μπορούν να δουν μέχρι τις σχισμές. Θα μάθετε περισσότερα σχετικά με αυτό αργότερα, καθώς δοκιμάζουμε το ρομπότ για να διαπιστώσετε εάν η εύχρηστη εργασία σας λειτούργησε.
  4. Τοποθετήστε τον αισθητήρα HC-SR04 μέσα στις δύο οπές που βλέπουν έξω από το ρομπότ από μέσα. Οι οπές βρίσκονται στο μπροστινό μέρος του πλαισίου.
  5. Βάλτε το Arduino Uno μέσα στο πλαίσιο με την ασπίδα πάνω του.
  6. Συνδέστε τα πάντα σύμφωνα με τη λίστα κουκκίδων παρακάτω.

    1. Τροφοδοσία από την πηγή τροφοδοσίας της επιλογής σας στον διακόπτη τροφοδοσίας. Θα συνδέσετε θετικό ή αρνητικό καλώδιο στο διακόπτη. Εάν επιλέξατε το αρνητικό προβάδισμα, αυτό θα είναι το έδαφός σας ενώ αν επιλέξατε το θετικό προβάδισμα που θα είναι το προβάδισμα της πηγής ενέργειας σας. Το άλλο σύρμα ανάλογα με το αν είναι θετικό ή αρνητικό θα είναι το θετικό ή αρνητικό σας.
    2. Συνδέστε το θετικό καλώδιο με το vin στο Arduino και το καλώδιο μετάδοσης στα servos.
    3. Συνδέστε τη γείωση με τη γείωση στα servos και το Arduino.
    4. Συνδέστε 5v από τον ρυθμιστή 5 volt στο Arduino σε όλους τους θετικούς ακροδέκτες σε κάθε έναν από τους αισθητήρες.
    5. Συνδέστε τους αισθητήρες στη γείωση στο Arduino.
    6. Τέλος, συνδέστε τον πείρο 7 στον αισθητήρα Arduino προς τα δεξιά, τον πείρο 6 στον αριστερό αισθητήρα IR, τον πείρο 8 σε ένα από τα σερβίς, τον πείρο 9 στον τελευταίο σερβο.

Προειδοποίηση: Η αποτυχία καλωδίωσης του ρομπότ μπορεί να οδηγήσει στο κάπνισμα του ρομπότ και στην καταστροφή των ηλεκτρονικών

Βήμα 2: Πρώτα σημάδια ζωής

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

int mode = 3;

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

  1. Ενώ είναι ίσο με το μηδέν, το ρομπότ κινείται σε ένα συγκεκριμένο μοτίβο.
  2. Εάν η λειτουργία είναι ίση με μία, το ρομπότ εκτυπώνει την έξοδο στον υπολογιστή για κάθε μία από τις ενδείξεις των αισθητήρων.
  3. Όταν είναι ίσο με δύο, το ρομπότ αποφεύγει τις άκρες και τα εμπόδια αν τα συναντήσει.
  4. Το ρομπότ μάχεται με άλλα bots.

Αυτοί είναι οι διαφορετικοί τρόποι λειτουργίας του ρομπότ που χρησιμοποιούνται για να δοκιμάσουν και να βοηθήσουν το ρομπότ να προχωρήσει. Θα χρειαστεί να αλλάξετε αυτό το "3" στο μηδέν για το πρώτο βήμα αυτού του σεμιναρίου.

Τώρα ανεβάστε τον κώδικα στο ρομπότ. Θα το δείτε να κινείται προς τα εμπρός, πίσω, αριστερά και δεξιά με αυτή τη σειρά.

Βήμα 3: Μπορεί να δει

int mode = 0;

Αλλάξτε την ακόλουθη μεταβλητή σε "1" εάν το προηγούμενο βήμα έχει ολοκληρωθεί. Τώρα, όταν συνδεθεί με τη σειριακή οθόνη σας στο Arduino, θα εκτυπώσει αυτό που βλέπει το ρομπότ σας. "0" Σημαίνει για τους αισθητήρες άκρου ότι βλέπει κάτι. "1" σημαίνει ότι δεν βλέπει άκρες. Εάν παρατηρήσετε ότι η λογική είναι ανεστραμμένη, λάβετε υπόψη αυτό για τα μελλοντικά βήματα.

Μην ανησυχείτε για τον αισθητήρα ping. Δεν το έχω δουλέψει ακόμα έτσι κι αλλιώς. Αυτό το ρομπότ βρίσκεται υπό βαριά ανάπτυξη.

Βήμα 4: Μπορεί να αποφύγει την άκρη του πίνακα

void Αποφύγετε () {

int sensorStateLeft = digitalRead (leftSensor);

int sensorStateRight = digitalRead (rightSensor);

καθυστέρηση (50)?

εάν (Ping.ping_cm ()> = 15 && sensorStateLeft == 0 && sensorStateRight == 0) {

left.write (0); right.write (90);

}

εάν (Ping.ping_cm () <= 15 && Ping.ping_cm ()! = 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

left.write (90);

right.write (0); }

}

Αυτός ο κωδικός παραπάνω είναι ο κώδικας που καλείται όταν η λειτουργία ισούται με δύο. Εάν το προηγούμενο βήμα έχει ολοκληρωθεί, αλλάξτε τη λειτουργία σε ίσο με "2".

Εάν οι αισθητήρες είναι ανεστραμμένοι, μπορείτε να αντιστρέψετε τα "sensorStateLeft" και "sensorStateRight" σε κάθε μία από τις δηλώσεις "αν" για να ισούται με διαφορετικό αριθμό από αυτόν που δόθηκε, είτε είναι "1" είτε "0".

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

Βήμα 5: ΜΑΧΗ

Το sumo σας είναι έτοιμο για μάχη τώρα με μερικές αλλαγές κώδικα. Αλλάξτε τη λειτουργία ώστε να είναι ίση με "3" και αντιστρέψτε τη λογική, όπως απαιτείται, στο κενό "Sumo". Τώρα το ρομπότ σας θα πρέπει να αποφεύγει την άκρη της αρένας, αλλά δεν μπορεί να εντοπίσει άλλα ρομπότ. Βασικά αποφεύγει τις άκρες της αρένας και κινείται αρκετά γρήγορα ώστε ελπίζουμε ότι μπορεί να σπρώξει ένα ρομπότ από την άκρη του τραπεζιού. Απολαμβάνω!

Βήμα 6: Συμπέρασμα

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

Συνιστάται: