» Ηλεκτρονικά » Arduino »Ρομπότ περνώντας λαβύρινθους

Ρομπότ περνώντας λαβύρινθους




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

Απόδειξη της μηχανής:


Υλικά και εργαλεία:
- Arduino RBBB
- Μικροκινητήρες 2 τεμ
- Στηρίγματα κινητήρων 2 τεμ
- Τροχοί 2 τεμ
- τροχός μπάλας
- Αναλογικός αισθητήρας ανάκλασης
- Παξιμάδια με βίδες 2 τεμαχίων.
- οδηγός κινητήρα
- Υποδοχή μπαταρίας 4 τεμάχια AAA
- Μπαταρίες (επαναφορτιζόμενες μπαταρίες) AAA 4 τεμ
- Περίπτωση
- Ξηροί καρποί, μπουλόνια, ροδέλες
- σύνδεση καλωδίων
- συγκόλληση
- πένσες
- συγκολλητικό σίδερο
- κατσαβίδι

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

Οι αρχές της αριστεράς μεθόδου είναι πολύ απλές:
- Εάν μπορείτε να στρίψετε αριστερά, στρίψτε αριστερά.
- Αν είναι δυνατό να μετακινηθείτε ευθεία, μετακινηθείτε ευθεία.
- Εάν μπορείτε να στρίψετε δεξιά, στρίψτε δεξιά.
- Αν βρίσκεστε σε αδιέξοδο, γυρίστε 180 μοίρες.

Επίσης, το ρομπότ πρέπει να λάβει αποφάσεις στη διασταύρωση, αλλά αν δεν σταματήσει στη σειρά, τότε θα κάνει το ίδιο. Για να δημιουργήσετε μια καλύτερη διαδρομή επιστροφής, κάθε απόφαση γράφεται στη μνήμη.
L = αριστερή στροφή
R = δεξιά στροφή
S = παραλείψτε μια στροφή
B = περιστρέψτε 180 μοίρες

Αυτή η μέθοδος παρουσιάζεται παρακάτω σε ενέργεια χρησιμοποιώντας ένα απλό λαβύρινθο ως παράδειγμα. Το ρομπότ κάλυψε την απόσταση με τις εντολές LBLLBSR.
Ρομπότ περνώντας λαβύρινθους







Το μονοπάτι βγήκε πολύ καιρό, πρέπει να μετατραπεί σε ένα βέλτιστο SRR. Για να γίνει αυτό, καθορίζεται πού το ρομπότ έχει γυρίσει λάθος. Παντού όπου χρησιμοποιείται η εντολή "Β", η διαδρομή θα είναι εσφαλμένη, καθώς το ρομπότ βρισκόταν σε αδιέξοδο, οπότε το "Β" θα πρέπει να αντικατασταθεί με κάτι άλλο. Η πρώτη λανθασμένη κίνηση ήταν το LBL, το ρομπότ γύρισε και γύρισε, ενώ ήταν απλά απαραίτητο να ακολουθηθεί απευθείας LBL = S. Έτσι, δημιουργήθηκε η ιδανική διαδρομή LBL = S, LBS = R. Με βάση τέτοιες αντικαταστάσεις, το ρομπότ δημιουργεί μια ιδανική σύντομη διαδρομή για τον εαυτό του.





Βήμα δεύτερο Το σασί του ρομπότ.
Το ακρυλικό με πάχος 0,8 mm έγινε η βάση για το πλαίσιο του ρομπότ · η κοπή πραγματοποιήθηκε με ένα λέιζερ σύμφωνα με το σχέδιο. Στο αρχείο κάτω από το άρθρο θα υπάρχει ένα αρχείο σχεδίασης από το AutoCAD. Δεν ήταν απαραίτητο να χρησιμοποιήσετε ένα τέτοιο υλικό, αλλά ο συγγραφέας πήρε αυτό που ήταν διαθέσιμο.

Στο κάτω μέρος κατασκευάζονται οπές για την τοποθέτηση κινητήρων, πλακών, τροχών και αισθητήρων. Το άνω μέρος έχει μεγάλη οπή για καλώδια.










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




Το τέταρτο βήμα. Arduino
Σε αυτό το σημείο, ο συντάκτης ακολούθησε πρώτα τις οδηγίες συναρμολόγησης του Arduino RBBB. Περαιτέρω, κόβει μέρος του σκάφους για να μειώσει το μέγεθός του. Ο σύνδεσμος τροφοδοσίας και ο σταθεροποιητής κόπηκαν με ψαλίδι για μέταλλο. Μετά από αυτό, ένας σύνδεσμος 9 ακίδων συγκολλήθηκε στην αριστερή πλευρά του πίνακα για επαφές από 5V έως A0 για να συνδέσει έναν αισθητήρα σε αυτό. Ένας σύνδεσμος 4 ακίδων συγκολλήθηκε στη δεξιά πλευρά του πίνακα για επαφές από D5 έως D8 και θα συνδεθεί ένας ελεγκτής κινητήρα. Για την παροχή ρεύματος, ο σύνδεσμος 2 ακίδων ήταν συγκολλημένος σε 5V και GND.








Βήμα πέντε Ελεγκτής κινητήρα.
Ο ίδιος ο δημιουργός δημιούργησε έναν πίνακα τυπωμένου κυκλώματος για αυτό το βήμα, το κύκλωμα στο σχήμα Eagle επισυνάπτεται στο αρχείο κάτω από το άρθρο. Ο πρώτος κινητήρας συνδέθηκε με τους πείρους M1-A και M1-B, ο δεύτερος με τους M2 και M2-B. Η πρώτη είσοδος του πρώτου κινητήρα In 1A συνδέθηκε με τον 7ο ακροδέκτη του Arduino. Στο 1Β συνδέθηκε με τον ακροδέκτη 6 του Arduino. Στην πρώτη είσοδο του δεύτερου κινητήρα, το 2A συνδέεται με τον 5ο πείρο του Arduino. Η ακίδα 2B συνδέεται με τον ακροδέκτη 8 του Arduino. Η ισχύς και το έδαφος συνδέονται με την ισχύ και τη γείωση του Arduino.








Βήμα έξι Αισθητήρες
Το στοιχείο αυτό πωλείται με τη μορφή ενός πίνακα αισθητήρων, αρχικά υπάρχουν οκτώ από αυτά, τα δύο ακραία αυτά διαγράφηκαν από τον συγγραφέα. Ένας σύνδεσμος 9 ακίδων ήταν συγκολλημένος στον πίνακα, ενώ ένα καλώδιο που οδηγεί στο Arduino θα συνδεθεί με αυτά. Ο αισθητήρας ανιχνεύει ένα λευκό και μαύρο τμήμα του λαβυρίνθου χρησιμοποιώντας ανακλάσεις από την επιφάνεια.




Έβδομο βήμα. Κορυφή.
Το πλαίσιο με την κορυφή του ρομπότ που συνδέεται με μπουλόνια και ράφια. Η μπαταρία στερεώθηκε στην κορυφή με Velcro. Τα καλώδια από αυτόν τοποθετήθηκαν μέσα από την προετοιμασμένη τρύπα. Κατά τη σύνδεση, ο συγγραφέας αποφάσισε να μην χρησιμοποιήσει βίδες, αλλά να αφήσει τη μπαταρία με Velcro έτσι ώστε να είναι ευκολότερο να αντικατασταθούν οι μπαταρίες. Χρησιμοποιώντας το διακόπτη στην θήκη της μπαταρίας, πραγματοποιήθηκε έλεγχος απόδοσης.








Βήμα Οκτώ. Εγκατάσταση αισθητήρων.
Οι αισθητήρες βιδώνονται στο κάτω μέρος της μηχανής. Ο πείρος GND συνδέεται με το GND Arduino. Στη συνέχεια, ο ακροδέκτης Vcc είναι συνδεδεμένος με το 5V Arduino. Οι ADCs Arduino 5-0 συνδέουν τους ακροδέκτες των αναλογικών αισθητήρων 6-1.






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


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


Βίντεο ρομπότ:


λαβύρινθο-επίλυση-robot.rar [28.67 Kb] (λήψεις: 545)
5.5
5.5
5.5

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3κοκκινίζεικαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...