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

DIY Educational Micro: bit Robot: 8 βήματα (με εικόνες)
DIY Educational Micro: bit Robot: 8 βήματα (με εικόνες)

Βίντεο: DIY Educational Micro: bit Robot: 8 βήματα (με εικόνες)

Βίντεο: DIY Educational Micro: bit Robot: 8 βήματα (με εικόνες)
Βίντεο: Building a conductivity-based game using BBC micro:bit, by Diogo da Silva 2024, Ιούλιος
Anonim
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot
DIY Educational Micro: bit Robot

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

Μόλις κατασκευάσετε αυτό το ρομπότ, μπορείτε να απολαύσετε την ποικιλία των αισθητήρων και των ενεργοποιητών του για να κάνετε βασικά αλλά και αρκετά προηγμένα πράγματα ανάλογα με την έκδοση που θα δημιουργήσετε (θα σας δώσω δύο εκδόσεις). Με αυτό το ρομπότ δίνετε μάτια (προβολή 180 °!) Και πόδια (με δυνατότητα ακριβούς κίνησης!) Στο micro: bit ενώ το micro: bit σας προσφέρει υπέροχες δυνατότητες όπως η μήτρα LED, η ραδιοεπικοινωνία, η επικοινωνία bluetooth, το επιταχυνσιόμετρο, compas, αλλά και πρόσβαση σε όλα αυτά τα πράγματα είτε με το MicroPython είτε με μια οπτική γλώσσα προγραμματισμού παρόμοια με το μηδέν (στην πραγματικότητα επίσης σε C ++ και javascript αλλά τα βρίσκω λιγότερο κατάλληλα για εκπαίδευση).

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

Βήμα 1: Συγκέντρωση κομματιών

Συγκέντρωση των Τεμαχίων
Συγκέντρωση των Τεμαχίων

Για αυτό το έργο η ελάχιστη αρκούδα που θα χρειαστείτε είναι:

  • Ξύλο MDF πάχους 5 mm και κόφτης λέιζερ για το σκελετό
  • Μπαταρία λιθίου 1x18650, ασπίδα μπαταρίας 1x για την ενέργεια και διακόπτης
  • 1xMicro: Κάρτα bit και 1xMicro: πλακέτα επέκτασης bit για τον εγκέφαλο (αν και τα δύο μπορούν να αντικατασταθούν εύκολα από ένα Arduino)
  • 2x28BYJ-5V βηματικοί κινητήρες, 2xA4988 stepper motor drivers και 2x πίνακας ανάπτυξης για τοποθέτηση των οδηγών για τα πόδια
  • 1x TOF10120 και 1x Mini 9g σερβοκινητήρα για τα μάτια Μερικά καλώδια και βίδες
  • 1x γενικός τροχός, ύψος = 15mm

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

Ιδανικά θα έχετε επίσης στη διάθεσή σας:

  • Ένα πολύμετρο
  • Μια σανίδα ψωμιού
  • Ένα συγκολλητικό σίδερο

Για εκείνους καθώς και για τον κόπτη λέιζερ, ελέγξτε αν έχετε κάποιο fablab στη θέση σας! Αυτά είναι υπέροχα μέρη για να συναντήσετε μερικούς εμπνευσμένους δημιουργούς!

Βήμα 2: Προετοιμασία των ποδιών

Ετοιμασία των ποδιών
Ετοιμασία των ποδιών
Ετοιμασία των ποδιών
Ετοιμασία των ποδιών
Ετοιμασία των ποδιών
Ετοιμασία των ποδιών
Ετοιμασία των ποδιών
Ετοιμασία των ποδιών

Η πρώτη σας αποστολή, αν το αποδεχτείτε, θα είναι να κάνετε τον βηματικό μας κινητήρα να περιστρέφεται χρησιμοποιώντας το micro: bit ως χειριστήριο! Γιατί βηματικό μοτέρ; Θα μπορούσα να είχα πάει για μοτέρ DC με μειωτήρες, αλλά τους δοκίμασα και δυσκολεύομαι να βρω φτηνούς κινητήρες να λειτουργούν με χαμηλή ταχύτητα. Σκέφτηκα επίσης ότι θα ήταν ωραίο να γνωρίζω ακριβώς με ποια ταχύτητα περιστρέφονται οι τροχοί μου. Για τους λόγους αυτούς, τα βηματικά μοτέρ ήταν η καλύτερη επιλογή.

Τώρα, πώς να ελέγξετε έναν κινητήρα 28BYJ χρησιμοποιώντας ένα πρόγραμμα οδήγησης 4988; Η απάντηση είναι… λίγο μεγάλη. Δεν κατάφερα να ταιριάξω τακτοποιημένα σε αυτό το διδακτικό, οπότε έφτιαξα ένα άλλο μόνο για αυτόν τον σκοπό που θα βρείτε εδώ. Σας προσκαλώ να ακολουθήσετε αυτά τα βήματα μέχρι το τέλος με τη δημιουργία μιας μικρής πρότυπης σανίδας 26x22mm μεγάλης με οπές 2x2mm 17 mm για να την τοποθετήσετε στα πλάγια όπως φαίνεται στην παραπάνω εικόνα (Σημειώστε ότι όπως αναφέρεται στο άρθρο που αναφέρεται το κίτρινο σύρμα στα αριστερά το κόλλημα είναι ακριβώς εκεί για να σας υπενθυμίσει να κολλήσετε SLP και RST μαζί).

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

Βήμα 3: Βλέπω το Φως !! (Προαιρετικός)

Βλέπω το φως !! (Προαιρετικός)
Βλέπω το φως !! (Προαιρετικός)
Βλέπω το φως !! (Προαιρετικός)
Βλέπω το φως !! (Προαιρετικός)
Βλέπω το φως !! (Προαιρετικός)
Βλέπω το φως !! (Προαιρετικός)

Εάν θέλετε απλά να δημιουργήσετε και τίποτα περισσότερο, μεταβείτε στην προηγούμενη παράγραφο αυτού του βήματος για να δείτε πώς να συνδέσετε ένα TOF10120 στο micro: bit. Αν δεν ακολουθήσετε.

Δεδομένου ότι το micro: bit δεν συνοδεύεται από κάμερα ή αισθητήρα εγγύτητας, το καθιστά τυφλό για οποιαδήποτε εφαρμογή ρομποτικής κινητής τηλεφωνίας. Έρχεται με έναν πομπό ραδιοφώνου και έναν υποδοχέα που θα μας επέτρεπε να χτίσουμε το σκελετό πάνω από αυτό που έχουμε ήδη και να αποκτήσουμε ένα τηλεκατευθυνόμενο ρομπότ. Αλλά δεν θα ήταν υπέροχο να κάνουμε το ρομπότ μας αυτόνομο; Ναι θα ήταν! Ας δούμε λοιπόν πώς θα φτάσουμε εκεί.

Αυτό που μας ενδιαφέρει τώρα είναι να εξοπλίσουμε το ρομπότ μας με αισθητήρες, ώστε το ρομπότ μας να αποκτήσει κάποιες πληροφορίες σχετικά με το περιβάλλον του. Υπάρχουν πολλοί τύποι αισθητήρων, αλλά εδώ θα εστιάσουμε στον αισθητήρα εγγύτητας. Όταν σχεδίαζα αυτό το ρομπότ, ο στόχος μου ήταν κυρίως το ρομπότ να μην πέσει σε τίποτα, επομένως ήθελα να αισθανθεί εμπόδια. Για αυτό υπάρχουν επίσης μερικές επιλογές. Ένα πρώτο, πολύ απλό, θα μπορούσε να είναι η χρήση προφυλακτήρων, αλλά θεωρώ ότι οι πληροφορίες σχετικά με το περιβάλλον είναι λίγο περιορισμένες. Στο άλλο άκρο, θα μπορούσατε να σκεφτείτε να προσθέσετε μια κάμερα (ή ένα Lidar ή ένα kinect!). Λατρεύω τις κάμερες, την όραση του υπολογιστή και όλα αυτά, αλλά δυστυχώς το Micro: bit δεν τα υποστηρίζει (θα έπρεπε να χρησιμοποιήσουμε ένα βατόμουρο Pi για να υποστηρίξουμε τέτοιες συσκευές, όχι ένα micro: bit ή Arduino).

Τι υποστηρίζει λοιπόν το micro: bit που βρίσκεται ανάμεσα σε κάμερα και προφυλακτήρες; Υπάρχουν μικροί ενεργοί αισθητήρες που στέλνουν φως στο περιβάλλον και ελέγχουν τι λαμβάνεται για να λάβουν κάποιες πληροφορίες για τον κόσμο. Αυτό που ήξερα ήδη ήταν το GP2Y0A41SK0F που χρησιμοποιεί μια μέθοδο τριγωνισμού για να εκτιμήσει την απόσταση από τα εμπόδια. Ωστόσο αναρωτήθηκα αν θα μπορούσα να βρω κάτι καλύτερο, έτσι έκανα κάποια έρευνα και κατέληξα να ανακαλύψω το TOF10120 (και το GY-VL53L0XV2 αλλά δεν το έλαβα ακόμα:(). Εδώ είναι ένα ωραίο άρθρο για να το ανακαλύψετε. Βασικά αυτός ο αισθητήρας εκπέμπει ένα υπέρυθρο σήμα που αντανακλά στα εμπόδια και στη συνέχεια λαμβάνει το ανακλώμενο φως. Ανάλογα με το χρόνο που χρειάστηκε το φως για να πάει μπρος -πίσω, ο αισθητήρας μπορεί να εκτιμήσει την απόσταση του εμποδίου (εξ ου και το όνομα TOF = χρόνος πτήσης). Για το μικρό του μέγεθος, το εύρος απόστασης και τις απαιτήσεις ισχύος αποφάσισα να χρησιμοποιήσω το TOF10120.

Ενώ η πρώτη μου ιδέα ήταν να βάλω τρία από αυτά στο ρομπότ (ένα μπροστά και δύο στα πλάγια), η κινεζική νέα χρονιά και η πανδημία του COVID-19 δεν το ήθελαν έτσι καθώς φαινόταν να προκαλεί προβλήματα με τις αποστολές. Έτσι, καθώς περιορίστηκα σε ένα TOF10120, που ήθελα να δω και στα πλάγια και ότι είχα μερικούς σερβοκινητήρες ξαπλωμένους, αποφάσισα να τοποθετήσω τον αισθητήρα μου σε ένα σερβο. Λείπουν λοιπόν δύο πράγματα τώρα: πώς μπορώ να χρησιμοποιήσω το TOF10120 με το micro: bit; Και η ίδια ερώτηση με το servo.

Ευτυχώς το micro: bit είναι εξοπλισμένο με πρωτόκολλο επικοινωνίας I2C και κάνει τη ζωή μας πολύ εύκολη: συνδέστε το κόκκινο καλώδιο σε 3,3V, μαύρο στη γείωση, πράσινο σε SCL και μπλε σε SDA και αυτό είναι για το κομμάτι του υλικού. Για το λογισμικό, σας ενθαρρύνω να διαβάσετε λίγο για την επικοινωνία I2C και να δοκιμάσετε τον κώδικα python που επισυνάπτω στο micro: bit. Αυτό το πρόγραμμα θα πρέπει να σας εκτυπώσει την απόσταση που μετρήθηκε από τον αισθητήρα στο REPL (Read Evaluate Print Loop). Αυτό είναι. Απλώς δώσαμε θέα στο micro: bit μας.

Τώρα ας το κάνουμε να γυρίσει το λαιμό του, αν μου επιτρέψετε να συνεχίσω τις αναλογίες μου με την ανατομία των ζώων. Η μόνη σκέψη που θα χρειαστεί είναι να οδηγήσουμε έναν σερβοκινητήρα με το micro: bit. Αυτό το μέρος καθυστερεί, οπότε θα σας δώσω αυτόν τον σύνδεσμο ο οποίος περιέχει όλες τις πληροφορίες που χρειάζεστε και τον κώδικα που χρησιμοποίησα για να το δοκιμάσω. Αν θέλετε πρόσθεσα επίσης έναν απλό κωδικό για τον έλεγχο του σερβο χρησιμοποιώντας το pin0. Απλώς μην ξεχάσετε να τροφοδοτήσετε το σερβο σας με 5V και όχι 3,3V.

Βήμα 4: Hacking the Battery Shield

Παραβίαση της ασπίδας μπαταρίας
Παραβίαση της ασπίδας μπαταρίας
Παραβίαση της ασπίδας μπαταρίας
Παραβίαση της ασπίδας μπαταρίας
Παραβίαση της ασπίδας μπαταρίας
Παραβίαση της ασπίδας μπαταρίας

Τώρα που ετοιμάσαμε τους ενεργοποιητές και τους αισθητήρες μας, ήρθε η ώρα να ρίξουμε μια ματιά στο σύστημα διαχείρισης της μπαταρίας. Για να μάθετε περισσότερα σχετικά με την ασπίδα μπαταρίας που επέλεξα, θα σας συνιστούσα να διαβάσετε αυτό το άρθρο. Το βρίσκω πολύ σαφές και προσβάσιμο. Από αυτό το άρθρο μπορούμε να δούμε πολλά πλεονεκτήματα αυτής της ασπίδας μπαταρίας, αλλά υπάρχει ένα σημαντικό μειονέκτημα που δεν ήθελα να αποδεχτώ: ο διακόπτης ON/OFF επηρεάζει μόνο την έξοδο USB. Αυτό σημαίνει ότι αν απενεργοποιήσετε τον διακόπτη, θα τροφοδοτηθούν όλοι οι άλλοι ακροδέκτες 3,3V και 5V. Ως αποτέλεσμα, καθώς χρησιμοποιούμε αυτές τις καρφίτσες για το ρομπότ μας, ο διακόπτης δεν θα κάνει απολύτως τίποτα…

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

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

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

Βήμα 5: Τρισδιάστατος σχεδιασμός και κοπή

Τρισδιάστατος σχεδιασμός και κοπή
Τρισδιάστατος σχεδιασμός και κοπή
Τρισδιάστατος σχεδιασμός και κοπή
Τρισδιάστατος σχεδιασμός και κοπή

Το μόνο που λείπει τώρα είναι να χτίσουμε τη δομή που θα συγκρατεί όλα τα στοιχεία μας μαζί. Για να το κάνω αυτό χρησιμοποίησα την διαδικτυακή πλατφόρμα tinkercad. Αυτό είναι ένα πραγματικά ωραίο περιβάλλον για να κάνετε κάποια βασική CAD που είναι συχνά αρκετή για να σχεδιάσετε πράγματα για τον κόφτη λέιζερ.

Μετά από αρκετό καιρό σκέψης, ήρθε η ώρα να τσιμπήσω. Για να το κάνω, άρχισα να συνθέτω τρισδιάστατα μοντέλα των διαφόρων τμημάτων που είχα (κρατώντας πρώτα το σερβο και το TOF εκτός της εξίσωσης). Αυτό περιλαμβάνει την μπαταρία και την ασπίδα, τους βηματικούς κινητήρες και τους οδηγούς κινητήρων, και φυσικά το micro: bit με τον πίνακα επέκτασής του. Επισυνάπτω όλα τα αντίστοιχα μοντέλα 3D ως αρχεία stl. Για να διευκολύνω τη διαδικασία, αποφάσισα να κάνω το ρομπότ μου συμμετρικό. Ως αποτέλεσμα, ασχολήθηκα με το μισό ρομπότ και έφτασα στο σχέδιο που φαίνεται στην παραπάνω εικόνα.

Από αυτό ζωντάνεψαν μερικές εκδόσεις, από τις οποίες επέλεξα δύο:

  • Ένα αρκετά τακτοποιημένο, χωρίς τον αισθητήρα εγγύτητας, ο οποίος επιτρέπει να μην εμφανίζονται καλώδια. Αν και δεν είναι αυτόνομη, αυτή η έκδοση μπορεί ακόμα να προγραμματιστεί μέσω bluetooth μέσω ενός iPad για παράδειγμα, ή μπορεί να προγραμματιστεί για έλεγχο μέσω ραδιοσημάτων που μπορούν, για παράδειγμα, να σταλούν από άλλο micro: bit όπως φαίνεται στο παραπάνω βίντεο.
  • Ένα πολύ λιγότερο τακτοποιημένο που επιτρέπει να προχωρήσουμε πολύ περισσότερο στην κινητή ρομποτική καθώς επιτρέπει την αποτύπωση της απόστασης εμποδίων με προβολή 180 ° χάρη στον αισθητήρα εγγύτητας που είναι χτισμένος σε σερβοκινητήρα.

Για να το βελτιώσετε, μεταβείτε στο αγαπημένο σας Fablab και χρησιμοποιήστε τον κόφτη λέιζερ που βρίσκετε για να κόψετε το μοντέλο της προτίμησής σας: το πρώτο που αντιστοιχεί στα αρχεία design1_5mmMDF.svg και design1_3mmMDF που αντιστοιχούν αντίστοιχα στα μέρη που πρέπει να κοπούν στο MDF 5mm ξύλο και αυτά που πρέπει να κοπούν από το 3mm? το δεύτερο αντιστοιχεί στο αρχείο design2_5mmMDF.svg. Ρυθμίστε τα μαύρα περιγράμματα να κοπούν και τα κόκκινα να χαραχτούν.

Πλευρική σημείωση: Πρόσθεσα το κόκκινο μοτίβο μόνο για να το μαστροπώσω. Αυτή είναι μια λειτουργία πλήρωσης Hilbert που δημιούργησα χρησιμοποιώντας τον συνημμένο κώδικα python.

Βήμα 6: Τοποθέτηση του θηρίου

Τοποθέτηση του Θηρίου
Τοποθέτηση του Θηρίου
Τοποθέτηση του Θηρίου
Τοποθέτηση του Θηρίου
Τοποθέτηση του Θηρίου
Τοποθέτηση του Θηρίου

Τα βήματα που ακολούθησα για να τοποθετήσω την πρώτη έκδοση του ρομπότ είναι τα ακόλουθα (οι εικόνες θα πρέπει κανονικά να είναι στη σωστή σειρά):

  1. Αφαιρέστε το μπλε καπάκι των κινητήρων και κόψτε το λίγο για να βγει το καλώδιο από το πίσω μέρος του κινητήρα.
  2. Τοποθετήστε τους κινητήρες σε κάθε πλευρά χρησιμοποιώντας βίδες και μπουλόνια Μ2.
  3. Τοποθετήστε τον πίνακα πρωτοτύπων στα πλαϊνά χρησιμοποιώντας τις οπές 2x2mm και μερικές βίδες και μπουλόνια.
  4. Βάλτε τα προγράμματα οδήγησης A4988 και κολλήστε τα καλώδια του κινητήρα για να τα διατηρήσετε τακτοποιημένα.
  5. Τοποθετήστε τον γενικό τροχό κάτω από το κάτω μέρος και προσθέστε τις πλευρές.
  6. Τοποθετήστε την πλακέτα επέκτασης του micro: bit στο επάνω μέρος.
  7. Τοποθετήστε το κάτω μέρος του εύκαμπτου μπροστινού καλύμματος.
  8. Βάλτε την ασπίδα μπαταρίας και συνδέστε τα πάντα (για να το κάνω, καθώς περίμενα ακόμα την παράδοση του πίνακα επέκτασης που ήθελα και ότι είχα μόνο μία με γυναικείες κεφαλίδες που έβγαιναν έξω, ανακύκλωσα ένα καλώδιο IDE από έναν παλιό υπολογιστή για να καταφέρω δεν έχω τα καλώδια μου να κολλάνε την σανίδα για να τα καλύψω όλα με το πτυσσόμενο μπροστινό κάλυμμα). Αν και ο κώδικας που παρείχα είναι πολύ εύκολο να προσαρμοστεί, για να τον χρησιμοποιήσετε άμεσα, θα πρέπει να συνδέσετε το αριστερό ΒΗΜΑ στο pin 2, το δεξί ΒΗΜΑ στο pin 8, το αριστερό DIR στο pin 12, το δεξί DIR στο pin 1.
  9. Βάλτε το micro: bit στην επέκταση.
  10. Δοκιμάστε ότι όλα λειτουργούν με το MoveTest.py πριν προχωρήσετε περαιτέρω.
  11. Τοποθετήστε το διακόπτη στο πάνω μέρος και τοποθετήστε το πλαστικό κομμάτι δίπλα στην κυψέλη λιθίου.
  12. Βιδώστε το πάνω μέρος του μπροστινού καλύμματος.
  13. Τοποθετήστε την πλάτη και τελειώσατε! Φου! Δεν περίμενα τόσα πολλά βήματα! Είναι πολύ πιο εύκολο να το σκεφτείς και να το κάνεις παρά να το εξηγήσεις με λόγια! (Και είμαι σίγουρος ότι θα εξακολουθούν να λείπουν πληροφορίες!)

Εάν χτίζετε τη δεύτερη έκδοση με τον αισθητήρα εγγύτητας, τότε:

  1. Ακολουθήστε τις παραπάνω οδηγίες. Η μόνη διαφορά θα είναι ότι θα πρέπει να προσθέσετε μερικά διαστήματα M2 στο βήμα 7 (αν και αυτό έκανα αλλά δεν απαιτείται), αγνοήστε το βήμα 8 και το βήμα 13 (καθώς δεν υπάρχει μπροστινό εξώφυλλο)
  2. Τοποθετήστε τον σερβοκινητήρα με βίδες M2 και συνδέστε το VCC και το GND του servo απευθείας στα 5V της θωράκισης της μπαταρίας και συνδέστε την είσοδο ελέγχου στον ακροδέκτη 0 του μικρο: bit.
  3. Τοποθετήστε τα δύο κομμάτια ξύλου που θα μπουν πάνω από το σερβο με μια βίδα, βιδώστε τον αισθητήρα TOF σε αυτό καθώς και το λευκό πλαστικό κομμάτι που συνοδεύει το σερβο.
  4. Τοποθετήστε αυτήν την τελευταία μονάδα στο σερβο και συνδέστε τον αισθητήρα χρησιμοποιώντας I2C micro: bit όπως περιγράφεται στο βήμα 3.

Βήμα 7: Πρόγραμμα

Αυτό είναι ! Έχετε ένα ρομπότ που μπορείτε να προγραμματίσετε είτε σε micro: python είτε σε makecode. Επισυνάπτω εδώ κάποιο δείγμα κώδικα που χρησιμοποιούσα για να κάνω τα παραπάνω βίντεο:

  • Παράδειγμα 1: Τοποθετήστε το radioControl.py στο micro: bit του ρομπότ και ReadAccelero.py σε ένα άλλο micro: bit για να ελέγξετε το ρομπότ χρησιμοποιώντας την κλίση του δεύτερου micro: bit.
  • Παράδειγμα 2: Βάλτε το Autonomous.py στην έκδοση 2 του ρομπότ που θα εξερευνήσει το περιβάλλον.

Αυτά είναι απλά βασικά παραδείγματα που μπορείτε να χρησιμοποιήσετε για να προχωρήσετε πολύ, πολύ παραπέρα. Για παράδειγμα, μου αρέσει πολύ ο ταυτόχρονος εντοπισμός και η χαρτογράφηση, και συνήθως υπάρχουν όλα όσα χρειάζεστε στην έκδοση 2 αυτού του ρομπότ για να το κάνετε αυτό! Αν και ένα μεγάλο μειονέκτημα για μένα να κάνω ένα τέτοιο έργο είναι ότι το πρόγραμμα οδήγησης micro: bit PWM είναι ένα πρόγραμμα οδήγησης λογισμικού που χρησιμοποιεί τον ίδιο χρονοδιακόπτη για όλα τα κανάλια, πράγμα που σημαίνει ότι όλα τα PWM που έχουμε ορίσει πρέπει να έχουν την ίδια συχνότητα (κάτι που έκανα δεν ξέρω πότε έγραψα τους δείκτες κωδικών αν και εντόπισα κάτι περίεργο όταν έγραψα το Autonomous.py).

Βήμα 8: Προχωρώντας παραπέρα

Μη διστάσετε να βελτιώσετε το σχέδιο, λύστε κάποια προβλήματα που δεν είδα. Για παράδειγμα, θα ήθελα τελικά:

  • Προσθέστε έναν αισθητήρα IR στο κάτω μέρος του ρομπότ για να το εντοπίσετε αν το έδαφος είναι μαύρο ή άσπρο ή αν φτάνει στο τέλος του γραφείου μου.
  • Αλλάξτε το σύστημα διαχείρισης της μπαταρίας καθώς δεν είμαι ακόμα ικανοποιημένος με αυτό. Πράγματι, αυτή τη στιγμή, για να επαναφορτίσετε την μπαταρία, χρειάζεται να αποσυναρμολογήσετε το ρομπότ για να βγάλει το κελί ή το κάλυμμα της μπαταρίας… Συνεπώς, σχεδιάζω: 1. να προσθέσω μια υποδοχή mini-USB στο πίσω μέρος του ρομπότ. Θα συνδεθώ με την ασπίδα της μπαταρίας, ώστε να την επαναφορτίσω. 2. Κόψτε μια τρύπα στο κάτω μέρος για να δείτε τα LED από το προστατευτικό της μπαταρίας για να δείτε πότε τελείωσε η φόρτιση.
  • Ελέγξτε αν υπάρχει αποδεκτός τρόπος για την έξοδο PWM με διαφορετικές συχνότητες.
  • Δοκιμάστε το VL53L0XV2 για να αντικαταστήσετε το TOF10120 καθώς θα μπορούσε να είναι μια φθηνότερη επιλογή που θα το έκανε προσβάσιμο σε ακόμη περισσότερους ανθρώπους. Αν και διάβασα περισσότερα για αυτόν τον αισθητήρα και φαίνεται ότι η εταιρεία που το έκανε φτηνό το έκανε πολύ δύσκολο να αντιμετωπίσει…
  • Δοκιμάστε διαφορετικά σχέδια για τους τροχούς για να τους κάνετε πιο ανθεκτικούς (Αυτή τη στιγμή θα περίμενα ότι αν βάλω και βάλω τους τροχούς πολλές φορές, το ξύλο θα υποστεί σταδιακή ζημιά. Εάν κάνω το ξύλο πιο ελαστικό τροποποιώντας το σχέδιο ίσως να μπορεί να διαρκέσει περισσότερο)

Ένα μεγάλο ευχαριστώ στους ανθρώπους από την ομάδα ρομποτικής Mobile (τώρα μέρος του εργαστηρίου Biorobotics) του EPFL που με βοήθησαν πολύ να διευρύνω τις γνώσεις μου για ηλεκτρονικά και μηχανική!

Συνιστάται: