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

Prima - ένα ρομπότ που παίζει πιάνο: 13 βήματα
Prima - ένα ρομπότ που παίζει πιάνο: 13 βήματα

Βίντεο: Prima - ένα ρομπότ που παίζει πιάνο: 13 βήματα

Βίντεο: Prima - ένα ρομπότ που παίζει πιάνο: 13 βήματα
Βίντεο: Η ΣΙΝΤΕΡΕΛΑ ΚΑΝΕΙ ΤΑΤΟΥ ΣΕ ΚΡΥΦΟ ΣΗΜΕΙΟ 2024, Ιούλιος
Anonim
Prima - ένα ρομπότ που παίζει πιάνο
Prima - ένα ρομπότ που παίζει πιάνο

Η ιδέα ενός ρομπότ να παίζει ένα όργανο πάντα με γοήτευε και πάντα ήθελα να φτιάξω μόνος μου. Ωστόσο, ποτέ δεν είχα πολλές γνώσεις σχετικά με τη μουσική και τα μουσικά όργανα, οπότε δεν μπόρεσα ποτέ να καταλάβω πώς θα ξεκινήσω με αυτό. Μέχρι πρόσφατα, ενδιαφερόμουν να κάνω μουσική, άρχισα να μαθαίνω είδη μουσικής παραγωγής και αφού πήρα ένα πληκτρολόγιο MIDI, συνειδητοποίησα ότι αυτό δεν είναι δύσκολο να παίξει και μπορώ πραγματικά να φτιάξω ένα ρομπότ που μπορεί να το παίξει. Έτσι, ξεκίνησε η κατασκευή του Prima.

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

Και, ο σχεδιασμός εμπνεύστηκε από αυτά τα διδάγματα, φωνάξτε στον JimRD!

Λοιπόν, ας ξεκινήσουμε

Βήμα 1: Επισκόπηση ολόκληρου του έργου

Το Prima είναι ένα ρομπότ που μπορεί να παίξει πληκτρολόγιο/πιάνο ή οποιοδήποτε παρόμοιο όργανο βασισμένο σε κλειδί. Διαθέτει Arduino Uno ως εγκέφαλο, οθόνη LCD για οπτική έξοδο και αισθητήρα υπερήχων για εκκίνηση χωρίς άγγιγμα. Οποιοσδήποτε προσαρμογέας ρεύματος που αποδίδει 5 volt 2 amp θα πρέπει να μπορεί να τον τροφοδοτήσει.

Έχει τα ακόλουθα χαρακτηριστικά -

  • Προγραμματιζόμενος - Μπορεί να προγραμματιστεί για αναπαραγωγή οποιασδήποτε σύνθεσης που περιορίζεται σε μια οκτάβα.
  • Ρυθμιζόμενο Tempo - Το τέμπο που θα ακολουθήσει ενώ παίζετε το όργανο μπορεί να οριστεί στον κώδικα.
  • Έναρξη χωρίς άγγιγμα - Ο χρήστης μπορεί να ενεργοποιήσει την αναπαραγωγή απλά σύροντας το χέρι του στον αισθητήρα, κάτι που θα φανεί πολύ χρήσιμο εάν ο χρήστης είναι απασχολημένος παίζοντας άλλο όργανο και θέλει η Prima να παίξει μαζί του/της μετά από συγκεκριμένη ώρα. Ο ανθρώπινος παίκτης μπλοκάρει με ένα ρομπότ - ακόμα κι αυτό μπορεί να επιτευχθεί, με τη βοήθεια αυτής της δυνατότητας.

Βήμα 2: Βίντεο

Image
Image

Μπορείτε να το παρακολουθήσετε να παίζει πληκτρολόγιο στο βίντεο.

Βήμα 3: Δημιουργία του τρισδιάστατου μοντέλου

Κατασκευή του τρισδιάστατου μοντέλου
Κατασκευή του τρισδιάστατου μοντέλου
Κατασκευή του τρισδιάστατου μοντέλου
Κατασκευή του τρισδιάστατου μοντέλου

Αφού ολοκλήρωσα τι θα μπορούσε να κάνει, σχεδίασα το σώμα στο TinkerCAD ώστε να μπορέσω να αρχίσω να το χτίζω έχοντας μια σαφή ιδέα για το τι έκανα.

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

Βήμα 4: Μέρη και εργαλεία

Μέρη και εργαλεία
Μέρη και εργαλεία
Μέρη και εργαλεία
Μέρη και εργαλεία
Μέρη και εργαλεία
Μέρη και εργαλεία

Για το ηλεκτρονικό μέρος, θα χρειαστείτε -

  • Arduino Uno (Ποσότητα - 1)
  • Οθόνη LCD 16x2 (Ποσότητα - 1)
  • Προσαρμογέας I2C για την οθόνη LCD (Ποσότητα - 1)
  • TowerPro SG90 Micro Servo (Ποσότητα - 2)
  • Υπερηχητικός αισθητήρας HC -SR04 (Ποσότητα - 1)
  • Εναλλαγή Push Switch (Ποσότητα - 1)
  • Buzzer (Ποσότητα - 1)
  • Vero board/ Dot Board/ Perf Board
  • Καλώδια αρσενικό σε αρσενικό και αρσενικό σε θηλυκό άλματα

Για την κατασκευή του σώματος -

  • Φύλλο PVC 5 mm
  • Κύκλος ακτίνων (Ποσότητα - 2)
  • Βίδες
  • Σωλήνας θήκης επαναπλήρωσης στυλό
  • Χρώμα ψεκασμού (αν θέλετε να το βάψετε)

Τα εργαλεία που θα χρειαστείτε -

  • Υπερκόλλα
  • Πυροβόλο θερμό κόλλα
  • Συγκολλητικό σίδερο
  • Anti-cutter (A. K. A Paper-cutter)

Βήμα 5: Κύκλωμα

Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων
Κυκλωμάτων

Το τμήμα του κυκλώματος ήταν αρκετά εύκολο. Εξηγώ πώς έκανα κάθε τμήμα του -

Τμήμα LCD - Χρησιμοποίησα έναν προσαρμογέα I2C για την οθόνη LCD έτσι ώστε το Arduino να μπορεί να επικοινωνήσει μαζί του μέσω I2C, κάτι που δεν ήταν απαραίτητο, αλλά απλοποίησε το κύκλωμα και μείωσε τον αριθμό των καλωδίων. Μπορείτε να χρησιμοποιήσετε μια τυπική οθόνη LCD τροποποιώντας λίγο τον κώδικα.

Τμήμα ισχύος - Έκανα ένα απλό κύκλωμα στο veroboard το οποίο αποτελείται από έναν διακόπτη push push, ένα βομβητή, ένα LED (το οποίο αποφάσισα να μην χρησιμοποιήσω στη συνέχεια) και ένα κοινό λεωφορείο ισχύος 5V. Ο δίαυλος ισχύος όπως στο εσωτερικό, οι ακίδες 5V και γείωσης των σερβο, ο αισθητήρας σόναρ, η οθόνη LCD και το Arduino είναι όλα συνδεδεμένα μεταξύ τους αντίστοιχα. Ο ένας πείρος του διακόπτη ώθησης είναι συνδεδεμένος στη γραμμή 5V+ και ο άλλος ακροδέκτης συνδέεται με τον πείρο VCC του τροφοδοτικού. Η γραμμή γείωσης συνδέεται απευθείας με τον πείρο γείωσης του τροφοδοτικού. Έτσι, το Prima μπορεί να ενεργοποιηθεί/απενεργοποιηθεί χρησιμοποιώντας το διακόπτη. Ο βομβητής και η λυχνία LED συνδέονται παράλληλα και ο πείρος VCC τους πηγαίνει στην ακίδα 13 του Arduino. Το έδαφός τους συνδέεται με το έδαφος του κοινού λεωφορείου ισχύος.

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

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

Arduino - Τροφοδοτείται μέσω της υποδοχής του βύσματος.

Ποια πηγαίνει σε ποια -

Καρφίτσα σκανδάλης αισθητήρα Sonar -> καρφίτσα A2 του Arduino

Καρφίτσα ηχώ Sonar Sensor -> Α3 καρφίτσα Arduino

Καρφίτσα SDA προσαρμογέα I2C -> ακίδα Α4 Arduino

Καρφί SCL προσαρμογέα I2C -> ακίδα Α5 Arduino

VCC του Buzzer -> καρφίτσα D13 του Arduino

Πλήκτρο που πιέζει τον ακροδέκτη σήματος του σερβο -> τον ακροδέκτη D9 του Arduino

Ακροδέκτης σήματος σερβο άξονα X -> ακίδα D8 Arduino

Όλοι οι πείροι VCC και γείωσης συνδέονται με το κοινό δίαυλο τροφοδοσίας.

Βήμα 6: Βάση αισθητήρα Sonar

Όρος αισθητήρα Sonar
Όρος αισθητήρα Sonar

Η εικόνα είναι αυτονόητη, απλά κόλλησε υπερβολικά ένα ράφι σε σχήμα L στον "τοίχο" και κόλλησε θερμά τον αισθητήρα σόναρ στο ράφι.

Βήμα 7: Κάνοντας τη ράγα X Axis

Κάνοντας το X Axis Rail
Κάνοντας το X Axis Rail
Κάνοντας το X Axis Rail
Κάνοντας το X Axis Rail

Δανείστηκα την έννοια της ράγας άξονα Χ από μηχανές CNC. Είναι μόνο δύο ακτίνες κύκλου τοποθετημένες παράλληλα μεταξύ τους και οι "τοίχοι" έχουν τρύπες μέσα από τις οποίες περνούν οι ακτίνες του κύκλου. Στις άλλες άκρες των τοίχων, οι ακτίνες του κύκλου είναι κολλημένες με θερμότητα στους τοίχους, ώστε να μην κινούνται. Οι ακτίνες κύκλου είναι αρκετά ισχυρές για να υποστηρίξουν την πλατφόρμα του άξονα Χ.

Βήμα 8: Πλατφόρμα X Axis

Πλατφόρμα X Axis
Πλατφόρμα X Axis
Πλατφόρμα X Axis
Πλατφόρμα X Axis
Πλατφόρμα X Axis
Πλατφόρμα X Axis
Πλατφόρμα X Axis
Πλατφόρμα X Axis

Είναι το μέρος που πηγαίνει λοξά για να φτάσει σε ορισμένα πλήκτρα και έχει ένα σερβο που έχει ένα βραχίονα προσαρτημένο σε αυτό που πιέζει το πλήκτρο.

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

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

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

Βήμα 9: Μετακίνηση της πλατφόρμας X Axis

Μετακίνηση της πλατφόρμας X Axis
Μετακίνηση της πλατφόρμας X Axis
Μετακίνηση της πλατφόρμας X Axis
Μετακίνηση της πλατφόρμας X Axis
Μετακίνηση της πλατφόρμας X Axis
Μετακίνηση της πλατφόρμας X Axis

Το σερβο "X axis mover" είναι προσαρτημένο σε μια υπερυψωμένη πλατφόρμα που βρίσκεται στην αριστερή πλευρά του ρομπότ. Η πλατφόρμα του άξονα Χ έχει ένα ράφι στην κορυφή όπου ένας βραχίονας συνδέεται χρησιμοποιώντας μια βίδα. Στο άλλο άκρο του βραχίονα, ένας άλλος βραχίονας συνδέεται χρησιμοποιώντας βίδα και αυτός συνδέεται με το σερβοκόρνα. Όλοι οι σύνδεσμοι είναι κινητοί και το σερβο μπορεί να οδηγήσει την πλατφόρμα του άξονα Χ στις ράγες του άξονα Χ περιστρέφοντας το κέρατό του αριστερά/δεξιά, κάτι που θα έκανε τους βραχίονες να σπρώξουν/τραβήξουν την πλατφόρμα στις ράγες.

Οι αρμοί γίνονται με βίδα.

Βήμα 10: Κωδικός

Αφού ολοκληρώσετε την κατασκευή του σώματος και του κυκλώματος, ανεβάστε τον κωδικό στο Arduino. Τοποθετήστε το ρομπότ παράλληλα με το πληκτρολόγιο/πιάνο Η πλατφόρμα του άξονα x θα αρχίσει να κινείται προς τα αριστερά και θα σταματήσει σε ένα συγκεκριμένο σημείο. Μετακινήστε το ρομπότ έως ότου το πλήκτρο C του πιάνου συναντήσει αυτό το σημείο. Αυτό είναι ένα κρίσιμο βήμα, γιατί χωρίς να τοποθετήσετε το ρομπότ με αυτόν τον τρόπο, δεν θα παίξει σωστά τη μελωδία. Στη συνέχεια, ενεργοποιήστε το ρομπότ, θα πρέπει να αρχίσει να παίζει μια μελωδία μέσα σε λίγα δευτερόλεπτα.

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

Βήμα 11: Ζωγραφίστε το

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

Χρησιμοποίησα σπρέι για να βάψω το δικό μου

Βήμα 12: Τοποθέτηση και οργάνωση των ηλεκτρονικών

Τοποθέτηση και οργάνωση των ηλεκτρονικών
Τοποθέτηση και οργάνωση των ηλεκτρονικών
Τοποθέτηση και οργάνωση των ηλεκτρονικών
Τοποθέτηση και οργάνωση των ηλεκτρονικών

Βίδωσα το Arduino στο βασικό φύλλο PVC και κόλλησα θερμά τόσο το κύκλωμα τροφοδοσίας όσο και την LCD στην πλακέτα βάσης. Οργάνωσε τα καλώδια με ζεστή κόλλα.

Βήμα 13: Συμπέρασμα: Σας ευχαριστούμε που διαβάσατε τις οδηγίες

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

Μελλοντικά σχέδια με αυτό το έργο -

  • Δημιουργία λογισμικού για προγραμματισμό του Prima πιο εύκολα.
  • Προσθήκη δυνατότητας πατήματος τέμπο ώστε να μπορείτε απλώς να πατήσετε ένα κουμπί για την προσαρμογή του τέμπο.
  • Αντικατάσταση των servos με πιο ήσυχα και πιο γρήγορα

Αν το φτιάξετε, αφήστε φωτογραφίες στο σχόλιο, θα ήθελα πολύ να δω τη δική σας!:)

Συνιστάται: