Πίνακας περιεχομένων:
- Βήμα 1: Δοκιμάστε το FSR με το Arduino
- Βήμα 2: Σχεδιάστε τα σχέδια για τον πίνακα
- Βήμα 3: Μοντελοποιήστε τον πίνακα στο TinkerCad
- Βήμα 4: Δοκιμάστε την οθόνη LCD
- Βήμα 5: Δοκιμάστε τον περιστροφικό κωδικοποιητή με την οθόνη LCD
- Βήμα 6: Συναρμολογήστε το Διοικητικό Συμβούλιο
- Βήμα 7: Συνδέστε τα όλα επάνω
- Βήμα 8: Ολοκληρώστε την κωδικοποίηση ΟΛΩΝ
- Βήμα 9: Συμπέρασμα
Βίντεο: Prototype Arduino-Raspberry Pi Soundboard: 9 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:37
Το πρωτότυπο ηχείο που δημιουργήθηκε με Arduino και Raspberry Pi προορίζεται να είναι ένας απλός τρόπος αναπαραγωγής 4 διαφορετικών ήχων ή θορύβων, ενώ έχει την επιλογή εναλλαγής σετ ήχου με ένα κουμπί και εμφάνισης του τρέχοντος ήχου με οθόνη LCD.
*Σημείωση: Ο κωδικός για το έργο είναι 99% πλήρης, αλλά δεν είναι λειτουργικός.
Το Raspberry Pi ελέγχει την οθόνη LCD 16x2 και τον περιστροφικό κωδικοποιητή, ενώ το Arduino διαβάζει τις αναλογικές εισόδους από αντιστάσεις ευαίσθητες στη δύναμη (FSR) και στέλνει σήμα στο Arduino για αναπαραγωγή ήχου. Και οι δύο δεν είχαμε χρησιμοποιήσει ποτέ Arduino ή Pi πριν από αυτό το μάθημα, αλλά ο καθηγητής μας έδωσε όλα τα απαραίτητα εργαλεία και οδηγίες για την εύκολη κωδικοποίηση και κατασκευή αυτού του έργου. Το TinkerCad, ένα δωρεάν διαδικτυακό εργαλείο τρισδιάστατης μοντελοποίησης από το AutoDesk, χρησιμοποιήθηκε για τη μοντελοποίηση του έργου μας.
Το πιο δύσκολο μέρος του έργου ήταν να βρούμε έναν τρόπο να κάνουμε τους Arduino και Raspberry Pi να επικοινωνούν με σειριακή επικοινωνία. Αρχικά θέλαμε να χρησιμοποιήσουμε μόνο το Pi για το σύνολο του έργου, αλλά χρειαζόμασταν το Arduino για να διαβάσουμε το αναλογικό σήμα από τα FSR. Weμασταν εύκολα σε θέση να στείλουμε γραμμές λέξεων ή αριθμών από το Arduino και να τις εμφανίσουμε στο Pi, αλλά το ζήτημα ήταν όταν προσπαθήσαμε να διαβάσουμε αυτές τις τιμές στην Python και να τις εφαρμόσουμε σε δηλώσεις συνθήκης για να τις επεξεργαστούμε.
Απαιτούμενες δεξιότητες
- Απλή κατανόηση του C/C ++ για κωδικοποίηση Arduino
- Απλή κατανόηση της Python για κωδικοποίηση Raspberry Pi
- Γνώση για το πώς συνδέεται ένα breadboard
- Βασικές δεξιότητες τρισδιάστατης μοντελοποίησης
- Μια επιθυμία να μάθουν και να επεκτείνουν τον προγραμματισμό, την καλωδίωση και τη δημιουργία κάτι πολύ προσεγμένο
Λίστα εξαρτημάτων
1 x Raspberry Pi 3
1 x Elegoo Uno Ar Arduino Uno
1 x 830 Tie Breadboard
1 x GPIO Breakout Board (RSP-GPIO)
1 x Καλώδιο κορδέλας για Breakout Board
4 x Μικρές δυνάμεις ευαίσθητες αντιστάσεις
1 x Βασική οθόνη LCD χαρακτήρων 16x2
1 x Ενότητα περιστροφικού κωδικοποιητή
24 x Ανδρικά έως θηλυκά καλώδια
10 x Ανδρικά έως αρσενικά καλώδια
4 x 10k αντιστάσεις
Ποτενσιόμετρο 1 x 10k
1 x Γόνατο αφρού κήπου (κατάστημα δολαρίων)
Βήμα 1: Δοκιμάστε το FSR με το Arduino
Αρχικά αποφασίσαμε να δοκιμάσουμε το FSR με το Arduino. Οι FSR στέλνουν ένα αναλογικό σήμα και ως εκ τούτου έπρεπε να χρησιμοποιήσουμε ένα Arduino καθώς το Pi δεν λαμβάνει αναλογικό χωρίς άλλα κυκλώματα. Θέλαμε να δοκιμάσουμε τα κατώφλια για να βεβαιωθούμε ότι οι πρέσες ήταν σε καλή πίεση. Διαπιστώσαμε ότι ήταν περίπου 150 από τα συνολικά 1000. Ο σειριακός σχεδιαστής στο Arduino IDE ήταν πολύ χρήσιμος για αυτό το βήμα.
Βήμα 2: Σχεδιάστε τα σχέδια για τον πίνακα
Στη συνέχεια καταρτίσαμε και μετρήσαμε τα σχέδια για τον πίνακα. Θέλαμε να έχουμε 4 επιθέματα για αναπαραγωγή ήχων, ένα σημείο για μια οθόνη LCD που θα εμφανίζει την τρέχουσα ομάδα ήχου και έναν περιστροφικό κωδικοποιητή για την αλλαγή της ομάδας ήχου.
Βήμα 3: Μοντελοποιήστε τον πίνακα στο TinkerCad
Αφού καταρτίστηκαν τα σχέδια, διαμορφώσαμε τον πίνακα σε έναν διαδικτυακό, δωρεάν, τρισδιάστατο ιστότοπο μοντελοποίησης που ονομάζεται TinkerCad από την Autodesk. Το συνιστούμε ανεπιφύλακτα για όσους από εσάς δεν θέλετε να ξοδέψετε πολλά χρήματα σε μεγάλο λογισμικό τρισδιάστατης μοντελοποίησης καθώς είναι εύκολο στη χρήση, βασισμένο στο cloud και έχει πλήρη υποστήριξη για τρισδιάστατη εκτύπωση.
Αφού μοντελοποιήθηκε, έπρεπε να το χωρίσουμε σε 2 κομμάτια για να το τοποθετήσουμε στον εκτυπωτή. Εκτυπώθηκε πολύ καλά, αλλά το λάθος μου δεν ήταν το μέγεθος της υποδοχής οθόνης LCD πολύ καλά (μην κάνετε αυτό το λάθος!) Ανεβάσαμε την αριστερή και τη δεξιά πλευρά. STL αρχεία αν θέλετε να τα ελέγξετε.
Βήμα 4: Δοκιμάστε την οθόνη LCD
Είχαμε ήδη χρησιμοποιήσει την οθόνη στο Arduino και ήταν πολύ εύκολο να το ρυθμίσετε. Ωστόσο, ήταν πιο δύσκολο να το τρέξουμε με το Pi. Με αρκετές ώρες αντιμετώπισης προβλημάτων στο Google και φασαρία με καλώδια, επιτέλους το πήραμε στη δουλειά. Δείτε τον τελικό κώδικα Python στο τέλος για να δείτε πώς λειτούργησε. Χρησιμοποιήσαμε δύο ιστότοπους για να μας βοηθήσουν να τον συνδέσουμε και να γράψουμε τον κώδικα. Ελέγξτε τους:
learn.adafruit.com/drive-a-16x2-lcd-direct…
www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…
Βήμα 5: Δοκιμάστε τον περιστροφικό κωδικοποιητή με την οθόνη LCD
Στη συνέχεια θέλαμε να δούμε αν θα μπορούσαμε να κάνουμε την οθόνη LCD να αλλάξει το κείμενο όταν περιστρέφεται ο κωδικοποιητής. Ο κωδικοποιητής δεν έχει καθορισμένο αριθμό γωνιών ή περιστροφών, οπότε στον κώδικα μετρήσαμε πόσες φορές περιστράφηκε δεξιόστροφα ή αριστερόστροφα και τον κάναμε να μετράει στο 3. Αν ξεπεράσει, θα επιστρέψει στο 0 και αν ήταν κάτω από το 0, θα επέστρεφε στο 3. Αυτοί οι αριθμοί μπορούν να ρυθμιστούν για όσα σετ ήχου σας αρέσουν, αλλά καταλήξαμε να δοκιμάζουμε μόνο ένα σετ ήχου. Βεβαιωθείτε ότι οι ήχοι σας βρίσκονται στον ίδιο φάκελο/τοποθεσία με εκεί που εκτελείται ο κύριος κώδικας Python.
Βήμα 6: Συναρμολογήστε το Διοικητικό Συμβούλιο
Τα FSR σύρονται κάτω από τις τέσσερις διαφορετικές υποδοχές. Τα συγκεντρώσαμε και τα καταγράψαμε. Σας προτείνουμε κολλητική ταινία ή ίσως ακόμα και κόλλημα επειδή η απλή ταινία ήταν τρομερή στο να κολλήσει στο τρισδιάστατο εκτυπωμένο υλικό. Μετά από ένα γρήγορο ταξίδι στο κατάστημα με δολάρια, βρήκαμε ένα μαλακό αλλά τραγανό μαξιλάρι κήπου που θα μπορούσαμε να το κόψουμε σε τέσσερα κομμάτια για να το χρησιμοποιήσουμε ως κουμπιά για τον πίνακα. Τα κόψαμε έτσι ώστε να μπορούν να ταιριάζουν άνετα στα σημεία τους, ώστε να μπορούν να παραμείνουν στη θέση τους, αλλά και να αφαιρούνται εύκολα αν χρειαστεί.
Βήμα 7: Συνδέστε τα όλα επάνω
Αφού συναρμολογήσαμε τον πίνακα και τοποθετήσαμε τα FSR, τον κωδικοποιητή και την οθόνη στη θέση τους, συνδέσαμε τα πάντα. Θα μπορούσατε να χρησιμοποιήσετε 2 σανίδες, αλλά μπορέσαμε να χωρέσουμε τα πάντα σε ένα. Η εικόνα μοιάζει με χάος, αλλά κάναμε ένα σχηματικό διάγραμμα σε ένα δωρεάν πρόγραμμα που ονομάζεται Fritzing. Σημειώστε ότι μπορείτε να αλλάξετε τις καρφίτσες στις οποίες θέλετε να επισυνάψετε τα πάντα, αλλά το διάγραμμα αντιστοιχεί στον κωδικό μας.
Βήμα 8: Ολοκληρώστε την κωδικοποίηση ΟΛΩΝ
Αυτό ήταν το δύσκολο κομμάτι. Όπως αναφέρεται στην εισαγωγή, δεν μπορούσαμε να ολοκληρώσουμε αυτό το μέρος. Ο κωδικός είναι 99%, αλλά το μόνο που δεν λειτούργησε ήταν η σειριακή επικοινωνία από το Arduino στο Pi. Θα μπορούσαμε να στείλουμε τις πληροφορίες εύκολα όταν συνδέσαμε το Arduino στο Pi με καλώδιο USB, αλλά το Pi δεν μπορούσε να κάνει τίποτα εκτός από την εμφάνιση αυτών των πληροφοριών στην οθόνη. Θέλαμε να είμαστε σε θέση να πούμε ποιο κουμπί πατήθηκε και να κάνει αυτό να παίζει έναν συγκεκριμένο ήχο, αλλά τα δεδομένα που έρχονταν μέσω της επικοινωνίας δεν μπορούσαν να τεθούν σε μια κατάσταση κατάστασης για να ελέγξουν ποιο κουμπί πατήθηκε.
Παρακαλούμε δείτε τον συνημμένο κώδικα, οι σημειώσεις έχουν σχολιαστεί στον κώδικα Python για το Pi. Ο κώδικας Arduino πρέπει να είναι 100%.
Βήμα 9: Συμπέρασμα
Συνολικά, αυτό το έργο ήταν μια ΤΕΡΑΣΤΙΑ μαθησιακή εμπειρία για εμάς τους δύο και ελπίζουμε ότι αυτό το γράψιμο μπορεί να δώσει στους μελλοντικούς μαθητές, δασκάλους ή ερασιτέχνες κάποια έμπνευση για το δικό τους έργο και να τους καθοδηγήσει μαθαίνοντας από τα λάθη μας. Φωνάξτε τον φοβερό καθηγητή μας ρομποτικής που βοήθησε πάρα πολύ κατά τη διάρκεια του χρόνου μας στο μάθημα και μας έδωσε την ευκαιρία να διασκεδάσουμε και να μάθουμε πολλά σε μια ανώτερη τάξη COMP! Ευχαριστώ για την ανάγνωση:)
Συνιστάται:
Air - True Mobile Air Guitar (Prototype): 7 βήματα (με εικόνες)
Air - True Mobile Air Guitar (Prototype): Εντάξει, αυτό θα είναι ένα πολύ σύντομο διδακτικό για το πρώτο μέρος της επιτέλους προσέγγισης ενός παιδικού μου ονείρου. Όταν ήμουν νεαρό αγόρι, έβλεπα πάντα τους αγαπημένους μου καλλιτέχνες και συγκροτήματα να παίζουν άψογα την κιθάρα. Καθώς μεγάλωνα, δεν ήμουν
Prototype Night Vision Goggles για Airsoft/Paintball: 4 Βήματα
Τα πρωτότυπα γυαλιά νυχτερινής όρασης για Airsoft/Paintball: Μια σύντομη σημείωση για τη νυχτερινή όραση Τα αληθινά γυαλιά νυχτερινής όρασης (γεν. 1, gen2 και gen 3) συνήθως λειτουργούν ενισχύοντας το φως του περιβάλλοντος, ωστόσο, τα γυαλιά νυχτερινής όρασης που θα κατασκευάσουμε εδώ λειτουργούν με διαφορετική αρχή. Θα χρησιμοποιήσουμε την κάμερα Pi NoIR η οποία
Clean-Cut FR4 Perfboard (Protoboard/Prototype PCB): 10 βήματα (με εικόνες)
Clean-Cut FR4 Perfboard (Protoboard/Prototype PCB): (tl; dr: αεροπορικά snips & carborundum πέτρα κάτω από το νερό) Καθώς φτάνουμε στην τρίτη δεκαετία του 21ου αιώνα, πολύ υψηλής ποιότητας προσαρμοσμένες πλακέτες τυπωμένων κυκλωμάτων μπορούν να παραγγελθούν σε πολύ μικρές ποσότητες για πολύ χαμηλό κόστος … αν δεν σας πειράζει να περιμένετε
Rotary Massage Machine V1.0 (Prototype): 7 Βήματα
Rotary Massage Machine V1.0 (Prototype): Το Rotary Massage Machine, είναι μια συσκευή που σας βοηθά να χαλαρώσετε τους μυς σας όταν είναι τεταμένοι. Μπορεί επίσης να βοηθήσει στο ξεμπέρδεμα των μυϊκών κόμβων ή μπορεί να χρησιμοποιηθεί για βαθιά επεξεργασία ιστών. Τα δύο πόμολα στο κάτω μέρος έχουν αυξημένη περιοχή για να προεξέχουν τα ιστικά m
PiSiphon Rain Gauge (Prototype): 4 βήματα
PiSiphon Rain Gauge (Prototype): Αυτό το έργο είναι μια βελτίωση στο Bell siphon Rain Gauge. Είναι πιο ακριβές και τα σιφόνια που διαρρέουν πρέπει να είναι κάτι από το παρελθόν. Παραδοσιακά η βροχόπτωση μετριέται με ένα χειροκίνητο βροχόμετρο. Αυτοματοποιημένοι μετεωρολογικοί σταθμοί (συμπεριλαμβανομένου του IoT weather sta