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

ARCA (Adorable Remote Controlled Android): 4 βήματα (με εικόνες)
ARCA (Adorable Remote Controlled Android): 4 βήματα (με εικόνες)

Βίντεο: ARCA (Adorable Remote Controlled Android): 4 βήματα (με εικόνες)

Βίντεο: ARCA (Adorable Remote Controlled Android): 4 βήματα (με εικόνες)
Βίντεο: ΠΑΤΗΣΑ ΣΤΗΝ ΚΟΙΛΙΑ ΤΗΣ ΑΛΕΞΑΝΔΡΑΣ! 2024, Ιούλιος
Anonim
ARCA (αξιολάτρευτο τηλεχειριζόμενο Android)
ARCA (αξιολάτρευτο τηλεχειριζόμενο Android)
ARCA (αξιολάτρευτο τηλεχειριζόμενο Android)
ARCA (αξιολάτρευτο τηλεχειριζόμενο Android)
ARCA (αξιολάτρευτο τηλεχειριζόμενο Android)
ARCA (αξιολάτρευτο τηλεχειριζόμενο Android)

Αυτό το διδακτικό δημιουργήθηκε για να εκπληρώσει την απαίτηση έργου του Makecourse στο Πανεπιστήμιο της Νότιας Φλόριντα (www.makecourse.com).

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

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

Οι πιο πρόσφατες εκδόσεις όλων των αρχείων που χρησιμοποιούνται σε αυτό το σεμινάριο μπορείτε να βρείτε στο Github ARCA Repository μου.

Βήμα 1: Λίστα μερών και τρισδιάστατη εκτύπωση

Λίστα μερών και τρισδιάστατη εκτύπωση
Λίστα μερών και τρισδιάστατη εκτύπωση
Λίστα μερών και τρισδιάστατη εκτύπωση
Λίστα μερών και τρισδιάστατη εκτύπωση

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

Διαρθρωτικά στοιχεία

  • Κουτί με τρύπες στα πλαϊνά για τους τροχούς και τους βραχίονες
  • Καπάκι κουτιού με οπές για τους πίσω τροχούς και τρύπα για τον αισθητήρα IR
  • Αριστερό χέρι
  • Δεξι χερι
  • Άξονας για τους δύο πίσω τροχούς
  • δύο συνδετήρες αξόνων για σύνδεση του καπακιού με τον άξονα
  • 4 τροχοί (οι κινητήρες περιλαμβάνονται επίσης σε αυτόν τον σύνδεσμο)
  • Μικρές βίδες (για να χωρέσουν στους κινητήρες)

Ηλεκτρικά εξαρτήματα

  • Arduino Uno
  • Μικρή πλάκα ψωμιού (αγόρασα το κιτ Arduino και ήρθε μαζί του)
  • Δύο πίνακες MAX7219 Red Dot με έλεγχο MCU
  • Υπέρυθρο δέκτη και τηλεχειριστήριο
  • Δύο τρανζίστορ TIP 120
  • Σύνδεση καλωδίων (χρησιμοποίησα πολλά αρσενικά σε θηλυκά σύρματα, καθώς και αρσενικά σε αρσενικά, και προτείνω να πάρετε μακριά καλώδια σε αντίθεση με τα κοντά καλώδια)
  • μία αντίσταση 220 ohm
  • Δύο μοτέρ ταχυτήτων
  • Συνδέσιμα τροφοδοτικά USB (τα φορητά που χρησιμοποιούνται για κινητά τηλέφωνα)

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

Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση

Δομική Συνέλευση

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

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

Για αυτή τη συναρμολόγηση χρησιμοποίησα μια ποικιλία κόλλας, αλλά διαπίστωσα ότι το υγρό σκυρόδεμα (κόλλα μοντελοποίησης) ήταν το καλύτερο για κράτημα παρά τον μεγάλο χρόνο στεγνώματος, αλλά το εποξειδικό ήταν το καλύτερο για πράγματα που χρειάζεστε για να στεγνώσετε γρήγορα και να κρατηθούν καλά, παρά το ότι είναι ακατάστατο.

Το υπόλοιπο συγκρότημα είναι αρκετά απλό:

  1. Συνδέστε τους συγκρατητήρες άξονα στο πίσω μέρος του καπακιού του κιβωτίου, χρησιμοποιώντας εποξική στεγανοποίηση
  2. Περάστε τον άξονα μέσα από τις βάσεις άξονα
  3. Κολλήστε τους τροχούς στον άξονα χρησιμοποιώντας υγρό σκυρόδεμα
  4. Βάλτε τους βραχίονες στις επάνω οπές και κολλήστε στη βάση του βραχίονα χρησιμοποιώντας εποξική
  5. Βιδώστε το καπάκι του κουτιού στο κουτί
  6. Χρησιμοποιήστε ηλεκτρική ταινία στο κάτω μέρος του κουτιού όπου βρίσκονται οι τροχοί

Ηλεκτρική συναρμολόγηση

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

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

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

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

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

Βήμα 3: Προγραμματισμός

Προγραμματισμός
Προγραμματισμός

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

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

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

Στη συνέχεια, καθόρισα τα συναισθήματα, δήλωσα τα απαραίτητα αντικείμενα για τον αισθητήρα IR και τις οθόνες LED 8 με 8 και όρισα ορισμένες καθολικές μεταβλητές. Τα συναισθήματα δηλώνονται σε έναν πίνακα byte, όπου καθένας από τους εξαγωνικούς αριθμούς του πίνακα αντιπροσωπεύει τις γραμμές στην οθόνη που προκύπτει 8 επί 8. Για να δημιουργήσετε τα προσαρμοσμένα συναισθήματά σας, σας συνιστώ να σχεδιάσετε το συναίσθημα που θέλετε σε ένα πλέγμα 8 επί 8 και, στη συνέχεια, να γράψετε κάθε δυαδικό αριθμό 8 bit 8 γραμμών, όπου το σβηστό φως είναι 0 και το φως είναι 1, και στη συνέχεια να δημιουργήσετε έναν δεκαεξαδικό αριθμό από αυτόν και τον έβαλα σε έναν πίνακα μήκους 8. Έχω επίσης ορίσει ορισμένες καθολικές μεταβλητές για χρήση στον βρόχο. τις μεταβλητές για τον μηχανισμό που αναβοσβήνει και τους δείκτες για την αποθήκευση των συναισθημάτων και για να ξεκινήσουν από το ουδέτερο.

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

Στον βρόχο, ουσιαστικά περιμένει το σήμα IR να αλλάξει το status quo του ρομπότ. Έτσι, εάν ληφθεί ένα σήμα IR και ταιριάζει με έναν από τους κωδικούς από ένα συγκεκριμένο κουμπί, τότε αυτή η δήλωση ενεργοποιείται και ορίζει τις τιμές του αριστερού ματιού και του δεξιού ματιού ανάλογα με τα συναισθήματα. Εάν πιέσετε ένα κουμπί κίνησης, όπως αριστερά, δεξιά, προς τα εμπρός και OK, τότε οι καρφίτσες γράφονται ψηφιακά για να είναι ενεργοποιημένες ή απενεργοποιημένες ανάλογα με το κουμπί που πατάτε. Απλώς μια σημείωση για τους κωδικούς δέκτη IR: υπάρχει ένα δείγμα κώδικα στην απομακρυσμένη βιβλιοθήκη IR που θα σας δώσει τους εξαγωνικούς κωδικούς για το τηλεχειριστήριό σας, αν δεν συμβαίνει τίποτα όταν πατάτε κουμπιά, ανοίξτε αυτό το πρόγραμμα για να βεβαιωθείτε ότι οι κωδικοί είναι σωστοί. Το μόνο που έχετε να κάνετε είναι να αλλάξετε τον εξαγωνικό αριθμό που συνοδεύει κάθε κουμπί.

Τέλος, έχετε τη λειτουργία που εκτυπώνει τα συναισθήματα στις οθόνες 8 επί 8. Αυτό χρησιμοποιεί τις συναρτήσεις setRow από τη βιβλιοθήκη ελέγχου LED και απλώς περνά από τους πίνακες που έχετε δημιουργήσει και ορίζει τις γραμμές ανάλογα. Λαμβάνει δύο παραμέτρους: τον πίνακα για το αριστερό μάτι και τον πίνακα για το δεξί μάτι. Αυτό μπορεί να είναι είτε ένας δείκτης byte είτε ένας ίδιος πίνακας byte (δηλαδή το όνομα "ουδέτερο") που λειτουργεί σαν δείκτης.

Βήμα 4: Συμβουλές και κόλπα μπόνους

Συμβουλές και κόλπα μπόνους
Συμβουλές και κόλπα μπόνους

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

  • Υπάρχουν πολλοί διαδικτυακοί πόροι για το Arduino και ο πιο χρήσιμος κατά τη γνώμη μου προέρχεται από τον ιστότοπο του Arduino λόγω των σαφών και συνοπτικών παραδειγμάτων κώδικα.
  • Μην επαναπροσδιορίσετε τον τροχό, υπάρχουν πολλά κιτ και προκατασκευασμένα κομμάτια που μπορείτε να χρησιμοποιήσετε για να διευκολύνετε το έργο σας. Είμαι προγραμματιστής και όχι μηχανολόγος μηχανικός και δυσκολεύτηκα να καταλάβω πώς επρόκειτο να κάνω αυτό το ρομπότ, αλλά ήταν εύκολο να βρω κάτι για να αγοράσω στο διαδίκτυο και να το εφαρμόσω στο σχέδιό μου έναντι κυριολεκτικά επανεφεύγοντας το ρόδα
  • Οι βιβλιοθήκες είναι φίλοι σας στο Arduino καθώς και σε όλες τις αντικειμενοστραφείς γλώσσες και υπάρχουν για κάποιο λόγο. Συνδυάστε το με μικροελεγκτές και ο προγραμματισμός ενός LED 8 επί 8 είναι απλός. Έχω προγραμματίσει ένα από αυτά στο χέρι στο παρελθόν και μόνο ένα χρησιμοποιεί για κάθε καρφίτσα στο Arduino και απαιτεί έναν τόνο κώδικα. Πολύ ακατάστατο και όχι πολύ διασκεδαστικό.
  • Οι τρισδιάστατοι εκτυπωτές είναι υπέροχοι αλλά δεν είναι τέλειοι και είναι εντάξει να πρέπει να τρίβετε κάποια πράγματα. Προτιμάτε να μεγαλώνετε όταν εκτυπώνετε 3D για αυτόν τον λόγο, επειδή στις περισσότερες περιπτώσεις μπορείτε να το τρίψετε λίγο για να έχετε τέλεια εφαρμογή.
  • Η ισχύς μπορεί να είναι πρόβλημα γιατί σκέφτηκα τη χρήση ενέργειας πραγματικά την τελευταία στιγμή και σκέφτηκα ότι μια μπαταρία 5v θα κάνει το κόλπο. Στη συνέχεια, φαινομενικά τυχαία, μερικές φορές ένας κινητήρας ή μια οθόνη LED δεν θα λειτουργούσαν. Μόλις αναβάθμισα στο power pack δεν υπήρχαν άλλα προβλήματα, παρά το ότι ήταν πιο ογκώδες μέσα στο ρομπότ.

Συνιστάται: