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

Prototype Arduino-Raspberry Pi Soundboard: 9 βήματα (με εικόνες)
Prototype Arduino-Raspberry Pi Soundboard: 9 βήματα (με εικόνες)

Βίντεο: Prototype Arduino-Raspberry Pi Soundboard: 9 βήματα (με εικόνες)

Βίντεο: Prototype Arduino-Raspberry Pi Soundboard: 9 βήματα (με εικόνες)
Βίντεο: When The Quiet Kid Does Your Homework 💀 #electronics #arduino #engineering 2024, Νοέμβριος
Anonim
Πρωτότυπο Arduino-Raspberry Pi Soundboard
Πρωτότυπο Arduino-Raspberry Pi Soundboard

Το πρωτότυπο ηχείο που δημιουργήθηκε με 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

Αρχικά αποφασίσαμε να δοκιμάσουμε το FSR με το Arduino. Οι FSR στέλνουν ένα αναλογικό σήμα και ως εκ τούτου έπρεπε να χρησιμοποιήσουμε ένα Arduino καθώς το Pi δεν λαμβάνει αναλογικό χωρίς άλλα κυκλώματα. Θέλαμε να δοκιμάσουμε τα κατώφλια για να βεβαιωθούμε ότι οι πρέσες ήταν σε καλή πίεση. Διαπιστώσαμε ότι ήταν περίπου 150 από τα συνολικά 1000. Ο σειριακός σχεδιαστής στο Arduino IDE ήταν πολύ χρήσιμος για αυτό το βήμα.

Βήμα 2: Σχεδιάστε τα σχέδια για τον πίνακα

Σχεδιάστε τα σχέδια για τον πίνακα
Σχεδιάστε τα σχέδια για τον πίνακα
Σχεδιάστε τα σχέδια για τον πίνακα
Σχεδιάστε τα σχέδια για τον πίνακα

Στη συνέχεια καταρτίσαμε και μετρήσαμε τα σχέδια για τον πίνακα. Θέλαμε να έχουμε 4 επιθέματα για αναπαραγωγή ήχων, ένα σημείο για μια οθόνη LCD που θα εμφανίζει την τρέχουσα ομάδα ήχου και έναν περιστροφικό κωδικοποιητή για την αλλαγή της ομάδας ήχου.

Βήμα 3: Μοντελοποιήστε τον πίνακα στο TinkerCad

Μοντελοποιήστε τον πίνακα στο TinkerCad
Μοντελοποιήστε τον πίνακα στο TinkerCad
Μοντελοποιήστε τον πίνακα στο TinkerCad
Μοντελοποιήστε τον πίνακα στο TinkerCad
Μοντελοποιήστε τον πίνακα στο TinkerCad
Μοντελοποιήστε τον πίνακα στο TinkerCad

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

Αφού μοντελοποιήθηκε, έπρεπε να το χωρίσουμε σε 2 κομμάτια για να το τοποθετήσουμε στον εκτυπωτή. Εκτυπώθηκε πολύ καλά, αλλά το λάθος μου δεν ήταν το μέγεθος της υποδοχής οθόνης LCD πολύ καλά (μην κάνετε αυτό το λάθος!) Ανεβάσαμε την αριστερή και τη δεξιά πλευρά. STL αρχεία αν θέλετε να τα ελέγξετε.

Βήμα 4: Δοκιμάστε την οθόνη LCD

Δοκιμάστε την οθόνη LCD
Δοκιμάστε την οθόνη 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
Δοκιμάστε τον περιστροφικό κωδικοποιητή με την οθόνη LCD

Στη συνέχεια θέλαμε να δούμε αν θα μπορούσαμε να κάνουμε την οθόνη LCD να αλλάξει το κείμενο όταν περιστρέφεται ο κωδικοποιητής. Ο κωδικοποιητής δεν έχει καθορισμένο αριθμό γωνιών ή περιστροφών, οπότε στον κώδικα μετρήσαμε πόσες φορές περιστράφηκε δεξιόστροφα ή αριστερόστροφα και τον κάναμε να μετράει στο 3. Αν ξεπεράσει, θα επιστρέψει στο 0 και αν ήταν κάτω από το 0, θα επέστρεφε στο 3. Αυτοί οι αριθμοί μπορούν να ρυθμιστούν για όσα σετ ήχου σας αρέσουν, αλλά καταλήξαμε να δοκιμάζουμε μόνο ένα σετ ήχου. Βεβαιωθείτε ότι οι ήχοι σας βρίσκονται στον ίδιο φάκελο/τοποθεσία με εκεί που εκτελείται ο κύριος κώδικας Python.

Βήμα 6: Συναρμολογήστε το Διοικητικό Συμβούλιο

Συγκεντρώστε το Δ. Σ
Συγκεντρώστε το Δ. Σ
Συγκεντρώστε το Δ. Σ
Συγκεντρώστε το Δ. Σ
Συγκεντρώστε το Δ. Σ
Συγκεντρώστε το Δ. Σ

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

Βήμα 7: Συνδέστε τα όλα επάνω

Wire It All Up
Wire It All Up
Wire It All Up
Wire It All Up

Αφού συναρμολογήσαμε τον πίνακα και τοποθετήσαμε τα FSR, τον κωδικοποιητή και την οθόνη στη θέση τους, συνδέσαμε τα πάντα. Θα μπορούσατε να χρησιμοποιήσετε 2 σανίδες, αλλά μπορέσαμε να χωρέσουμε τα πάντα σε ένα. Η εικόνα μοιάζει με χάος, αλλά κάναμε ένα σχηματικό διάγραμμα σε ένα δωρεάν πρόγραμμα που ονομάζεται Fritzing. Σημειώστε ότι μπορείτε να αλλάξετε τις καρφίτσες στις οποίες θέλετε να επισυνάψετε τα πάντα, αλλά το διάγραμμα αντιστοιχεί στον κωδικό μας.

Βήμα 8: Ολοκληρώστε την κωδικοποίηση ΟΛΩΝ

Αυτό ήταν το δύσκολο κομμάτι. Όπως αναφέρεται στην εισαγωγή, δεν μπορούσαμε να ολοκληρώσουμε αυτό το μέρος. Ο κωδικός είναι 99%, αλλά το μόνο που δεν λειτούργησε ήταν η σειριακή επικοινωνία από το Arduino στο Pi. Θα μπορούσαμε να στείλουμε τις πληροφορίες εύκολα όταν συνδέσαμε το Arduino στο Pi με καλώδιο USB, αλλά το Pi δεν μπορούσε να κάνει τίποτα εκτός από την εμφάνιση αυτών των πληροφοριών στην οθόνη. Θέλαμε να είμαστε σε θέση να πούμε ποιο κουμπί πατήθηκε και να κάνει αυτό να παίζει έναν συγκεκριμένο ήχο, αλλά τα δεδομένα που έρχονταν μέσω της επικοινωνίας δεν μπορούσαν να τεθούν σε μια κατάσταση κατάστασης για να ελέγξουν ποιο κουμπί πατήθηκε.

Παρακαλούμε δείτε τον συνημμένο κώδικα, οι σημειώσεις έχουν σχολιαστεί στον κώδικα Python για το Pi. Ο κώδικας Arduino πρέπει να είναι 100%.

Βήμα 9: Συμπέρασμα

Καταλήγω
Καταλήγω

Συνολικά, αυτό το έργο ήταν μια ΤΕΡΑΣΤΙΑ μαθησιακή εμπειρία για εμάς τους δύο και ελπίζουμε ότι αυτό το γράψιμο μπορεί να δώσει στους μελλοντικούς μαθητές, δασκάλους ή ερασιτέχνες κάποια έμπνευση για το δικό τους έργο και να τους καθοδηγήσει μαθαίνοντας από τα λάθη μας. Φωνάξτε τον φοβερό καθηγητή μας ρομποτικής που βοήθησε πάρα πολύ κατά τη διάρκεια του χρόνου μας στο μάθημα και μας έδωσε την ευκαιρία να διασκεδάσουμε και να μάθουμε πολλά σε μια ανώτερη τάξη COMP! Ευχαριστώ για την ανάγνωση:)

Συνιστάται: