Πίνακας περιεχομένων:
- Βήμα 1: Βίντεο
- Βήμα 2: Μέρη και υλικά
- Βήμα 3: Καλωδίωση - SAA1099
- Βήμα 4: Καλωδίωση - Ταλαντωτής TTL
- Βήμα 5: Καλωδίωση - Διεπαφή Iref και Chip
- Βήμα 6: Καλωδίωση - Στοιχεία ήχου
- Βήμα 7: Καλωδίωση - Υποδοχή ήχου
- Βήμα 8: Καλωδίωση - Δύναμη στο Breadboard
- Βήμα 9: Καλωδίωση - Γραμμές δεδομένων
- Βήμα 10: Προαιρετικά LED
- Βήμα 11: Κωδικός
- Βήμα 12: Δοκιμάστε το
- Βήμα 13: Χρήση των δικών σας αρχείων MIDI - Πρόγραμμα μετατροπής
- Βήμα 14: Μετατροπή αρχείων MIDI
- Βήμα 15: Χρήση του αρχείου MIDI που έχετε μετατρέψει
- Βήμα 16: Τέλος
Βίντεο: Retro Sound Chip With an Arduino - το SAA1099: 16 Βήματα (με Εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Σε αυτό το διδακτικό, θα σας δείξω πώς να χρησιμοποιήσετε ένα Arduino Uno με ένα τσιπ vintage σύνθεσης ήχου, για να παίξετε αρχεία midi σε τετράγωνη κυματιστή καλοσύνη!
Αν θέλετε απλώς μια γρήγορη επισκόπηση του τι κάνει αυτό το έργο, δείτε το παραπάνω βίντεο. Διαφορετικά, συνεχίστε!
Βήμα 1: Βίντεο
Αν προτιμάτε όλες τις οδηγίες σας σε σαφή, περιεκτικά βίντεο, σας έχουμε καλύψει!
Για εμάς τους υπόλοιπους, μπορείτε να συνεχίσετε, για λίγο περισσότερες λεπτομέρειες και γραπτές οδηγίες.
Βήμα 2: Μέρη και υλικά
Για αυτό, θα χρειαστείτε αυτά τα πράγματα:
(Οι σύνδεσμοι αφορούν στοιχεία eBay)
- Ένα Arduino (Uno, Nano, Leonardo, πρέπει να δουλεύουν όλοι)
- Τουλάχιστον ένα μεσαίου μεγέθους breadboard
- Το τσιπ SAA1099 Stereo Sound Generator
- Καλώδια με μπλουζάκια ψωμιού (Εναλλακτικά, μου αρέσει να χρησιμοποιώ jumper dupont θηλυκά με θηλυκά, με καρφίτσες κεφαλής 20mm τοποθετημένες σε κάθε άκρο- Πολύ πιο ανθεκτικές)
- 8Mhz TTL Oscillator (σύνδεσμος AliExpress όπως παρέχεται από το zweigelt)
- Στερεοφωνικό (ή μονό) Jack Audio
- 2 x 1K αντιστάσεις (παρτίδα 100)
- 1 x αντίσταση 10K (παρτίδα 50)
- 2 x 100pF Πυκνωτές
- (Προαιρετικά) Ορισμένες λυχνίες LED, τουλάχιστον 1 (Οποιοδήποτε χρώμα, εδώ είναι 100 διαφορετικά χρώματα για ένα δολάριο!)
Χρησιμοποιώντας τους συνδέσμους που παρέχονται, το συνολικό κόστος είναι 23,25 $, συμπεριλαμβανομένης της αποστολής. Φυσικά, το μεγαλύτερο μέρος του προέρχεται από τα μισά του κόσμου, οπότε η αποστολή διαρκεί συνήθως περίπου ένα μήνα. Εάν θέλετε ταχύτερη αποστολή, πιθανότατα θα πρέπει να πληρώσετε λίγο περισσότερα.
Βήμα 3: Καλωδίωση - SAA1099
Εάν τα σχέδια είναι το θέμα σας, εδώ είναι! Οι υπόλοιποι μπορούμε είτε να περάσουμε βήμα βήμα, είτε να δούμε το βίντεο.
- Τοποθετήστε το SAA1099 στο τέλος του breadboard, με την εγκοπή στο τσιπ στραμμένο προς το τέλος.
- Τώρα, δύναμη. Το VDD (pin 18) στο SAA1099 πηγαίνει σε ισχύ και, στη συνέχεια, καρφίτσα VSS (pin 9) στη γείωση.
- Στη συνέχεια, βάλτε ένα καλώδιο μεταξύ CS (πείρος 2) και γείωσης, για να το κρατήσετε χαμηλά
Θα συνιστούσα επίσης να ρίξετε μια ματιά στο φύλλο δεδομένων, το οποίο έχω επισυνάψει.
Βήμα 4: Καλωδίωση - Ταλαντωτής TTL
- Θα βάλουμε τον ταλαντωτή TTL στο breadboard δίπλα στο breadboard, έτσι ώστε ο πείρος εξόδου ρολογιού να είναι πλησιέστερος στην είσοδο ρολογιού στο SAA1099 (Pin 8)
- Μπορείτε να προχωρήσετε και να συνδέσετε τη δύναμη και τη γείωση στον ταλαντωτή TTL. (Περίμενα μέχρι αργότερα στο βίντεό μου, οπότε δεν έχω εικόνα). Η παραπάνω εικόνα δείχνει ποιες καρφίτσες είναι ποιες.
Βήμα 5: Καλωδίωση - Διεπαφή Iref και Chip
- Συνδέστε την αντίσταση 10K μεταξύ Iref (ακίδα 6) και 5V.
- Συνδέστε το ψηφιακό pin 8 στο WR (pin 1) στο SAA1099.
- Συνδέστε τον ψηφιακό ακροδέκτη 9 στην A0 (ακίδα 3) στο SAA1099.
Βήμα 6: Καλωδίωση - Στοιχεία ήχου
- Συνδέστε έναν πυκνωτή 100pF μεταξύ OUTR (pin 4) και GND
- Συνδέστε μια αντίσταση 1K μεταξύ OUTR (ακίδα 4) και 5V
- Θα κάνουμε το ίδιο πράγμα για το OUTL (pin 5)
- Συνδέστε έναν πυκνωτή 100pF μεταξύ OUTL (pin 5) και GND
- Συνδέστε μια αντίσταση 1K μεταξύ OUTL (ακίδα 5) και 5V
Σημείωση! Βεβαιωθείτε ότι κανένα από τα καλώδια των αντιστάσεων/πυκνωτών δεν αγγίζει, διαφορετικά τα πράγματα δεν θα λειτουργήσουν και θα μπορούσαν (πιθανώς) να ανατιναχτούν στο πρόσωπό σας.
Βήμα 7: Καλωδίωση - Υποδοχή ήχου
- Συνδέστε ένα μικρό καλώδιο βραχυκυκλωτήρα μεταξύ 5V και μια κενή σειρά στο breadboard.
- Τοποθετήστε την υποδοχή ήχου, έτσι ώστε ο βραχυκυκλωτήρας από 5V να συνδέεται με την ακίδα "Μανίκι" στην υποδοχή ήχου
- Συνδέστε τους ακροδέκτες L και R (ή ακίδα ήχου, εάν διαθέτετε υποδοχή Mono) με τους ακροδέκτες OUTL (pin 5) και OUTR (pin 4) στο SAA1099, αντίστοιχα.
Σημείωση! Στις μονοφωνικές υποδοχές ήχου, δεν έχει σημασία τι θα συμβεί, αρκεί να συνδεθεί μία ακίδα σε 5V και μία σε OUTL ή OUTR. Θα ακουστεί μια χαρά. Εκτός αν δεν το κάνει, οπότε μπορεί να θέλετε να ελέγξετε ξανά την καλωδίωσή σας.
Βήμα 8: Καλωδίωση - Δύναμη στο Breadboard
- Συνδέστε και τις δύο πλευρές του τροφοδοτικού Breadboard μεταξύ τους, χρησιμοποιώντας καλώδια βραχυκυκλωτήρων.
- Συνδέστε τη μία πλευρά με τις ακίδες 5V και GND στο Arduino, βεβαιωθείτε ότι δεν έχετε αναμίξει τα καλώδια πουθενά. Αν το κάνατε, ο μαγικός καπνός μπορεί να διαφύγει.
Βήμα 9: Καλωδίωση - Γραμμές δεδομένων
Συνδέστε D0 έως D7 στο Arduino με D0 (pin 10) έως D7 (pin 17) στο SAA1099, με τη σειρά
Διαπιστώνω ότι τα καλώδια jumper γυναικών-θηλυκών DuPont, με καρφίτσες κεφαλής 15-20MM σε κάθε άκρο, λειτουργούν πολύ καλύτερα από τα καλώδια dupont αρσενικού-αρσενικού. Επιπλέον, μπορείτε επίσης να τα χρησιμοποιήσετε ως θηλυκό-θηλυκό ή αρσενικό-θηλυκό. Και τα δύο βρίσκονται εύκολα στο eBay σε μεγάλες ποσότητες, για μικρές ποσότητες αλλαγής. Ένα καλό χριστουγεννιάτικο δώρο για τον επίδοξο τζόκερ Arduino!
Βήμα 10: Προαιρετικά LED
Δεν θα προχωρήσω βήμα προς βήμα πώς να χτίσω τα πάντα εδώ, αλλά υπάρχουν αρκετά καλά μέρη για να προσθέσετε LED. Πρώτα απ 'όλα, ένωσα ένα κόκκινο LED 3mm μεταξύ WR (pin 1) και GND, για να δείξω κάθε φορά που το Arduino στέλνει μια εντολή στο SAA1099.
Έχω συνδέσει επίσης LED στις γραμμές δεδομένων στο παρελθόν, κάτι που σας επιτρέπει να δείτε τα πραγματικά δυαδικά δεδομένα σε κάθε γραμμή. Χρησιμοποίησα αυτήν τη ρύθμιση στο βίντεο "Arduino and SAA1099 - Fireflies", καθώς και άλλα 6 LED και επιπλέον κώδικα για να φωτίσω κάθε LED για κάθε κανάλι που ήταν ενεργό.
Όσο περισσότερα LED, τόσο πιο δροσερό φαίνεται!
Βήμα 11: Κωδικός
Τώρα που έχετε δημιουργήσει το κύκλωμα, προχωρήστε σε διπλό έλεγχο συνδέσεων! Δεν θέλετε να ανατινάξετε το ακριβό arduino και το Soundchip σας! (Αν το κάνετε, καλά. Δεν είναι δική μου υπόθεση)
Υποθέτοντας ότι είστε λογικοί και έχετε ελέγξει τα πάντα, μπορούμε να ξεκινήσουμε τον προγραμματισμό του.
- Η βιβλιοθήκη βρίσκεται στη διεύθυνση
- Θα θέλετε το αρχείο SAATunes.zip, οπότε προχωρήστε και κατεβάστε το.
- Τώρα, ανοίξτε το Arduino IDE.
- Στην ενότητα "Σκίτσο", "Συμπερίληψη βιβλιοθήκης", κάντε κλικ στην επιλογή "Προσθήκη.zip βιβλιοθήκης"
- Μεταβείτε όπου κι αν κατεβάσατε τη βιβλιοθήκη SAATunes. (Δεν με νοιάζει αν ήταν η επιφάνεια εργασίας σας, οι λήψεις ή ο φάκελος (εισαγάγετε κάτι ενοχλητικό)- Απλώς βρείτε το)
- Επιλέξτε το και κάντε κλικ στο "Άνοιγμα"
- Θα πρέπει να σας πει ότι έχει προστεθεί στις βιβλιοθήκες σας.
Βήμα 12: Δοκιμάστε το
- Ανοίξτε το παράδειγμα του προγράμματος SAATunes, στα "Αρχείο", "Παραδείγματα", "SAATunes", "SAATunes-Uno".
- Συνδέστε το Arduino στον υπολογιστή και σε κάποιο είδος ηχείου.
- Ανεβάστε το πρόγραμμα στο Arduino.
Θα πρέπει να ακούσετε μια χορδή, στη συνέχεια την οργή του Μπετόβεν πάνω από μια χαμένη πένα. Εάν το Classical δεν σας ενδιαφέρει, μην φοβάστε, γιατί σύντομα θα μάθουμε πώς να χρησιμοποιούμε αρχεία MIDI της δικής μας επιλογής με αυτό.
Εάν δεν ακούτε τίποτα, ελέγξτε μερικά πράγματα: Πρώτον, είναι ενεργοποιημένο το ηχείο σας; Γυρίστε το προς τα πάνω. Τότε, το arduino είναι πραγματικά ενεργοποιημένο; Το πρόγραμμα ανέβηκε σωστά; Ελέγξτε όλες τις καλωδιώσεις με το σχηματικό και το φύλλο δεδομένων και, στη συνέχεια, δοκιμάστε ξανά.
Βήμα 13: Χρήση των δικών σας αρχείων MIDI - Πρόγραμμα μετατροπής
Είστε έτοιμοι να δοκιμάσετε κάτι άλλο από τον Μπετόβεν; Πολύ καλά, εδώ.
Για να μετατρέψουμε αρχεία MIDI σε C ++ Bytestreams, θα χρειαστούμε ένα πρόγραμμα του Len Shustek. Είναι ο δημιουργός της βιβλιοθήκης στον οποίο βασίστηκα τον κωδικό μου και η βιβλιοθήκη μου χρησιμοποιεί την ίδια μορφή bytestream που κάνει.
- Μπορείτε να βρείτε το πρόγραμμα στη διεύθυνση
- Το πρόγραμμα που θέλετε είναι "miditones.exe". Προχωρήστε και κατεβάστε το.
Βήμα 14: Μετατροπή αρχείων MIDI
Προειδοποίηση! Εδώ υπάρχουν ασκιά δράκοι! Mightσως να είναι πιο εύκολο να παρακολουθήσετε το βίντεο, όπου μπορείτε να δείτε ακριβώς για τι μιλάω. Αν τολμήσετε να μπείτε, συνεχίστε!
Για να χρησιμοποιήσετε το πρόγραμμα μετατροπής MIDI σε Bytestream, θα πρέπει να ανοίξετε ένα παράθυρο γραμμής εντολών. Λυπούμαστε για χρήστες Mac και Linux, ίσως χρειαστεί να βρείτε μια λύση.
- Ανοίξτε το μενού έναρξης και πληκτρολογήστε "CMD" και, στη συνέχεια, πατήστε enter.
- Θα μάθουμε λίγη μαγεία MS-DOS τώρα. Χρησιμοποιώντας την εντολή "CD", μεταβείτε στο σημείο όπου κατεβάσατε το αρχείο "miditones.exe". Στις περισσότερες περιπτώσεις, οι εντολές θα είναι "λήψεις cd".
- Εκτελέστε το πρόγραμμα "miditones.exe" πληκτρολογώντας "miditones". Θα πρέπει να σας δείχνει μια λίστα βοήθειας που δείχνει τις πιο συνηθισμένες εντολές.
Τώρα, χρειαζόμαστε ένα αρχείο MIDI για μετατροπή. Βρείτε ένα κάπου στα interwebs, κατά προτίμηση χωρίς κρουστά ή ειδικά εφέ εκτός από τα μέσα/ταχύτητα. (Αν δεν ξέρετε τι είναι αυτά, μην ανησυχείτε, θα είστε καλά)
- Κατεβάστε το αρχείο MIDI στο ίδιο μέρος που έχετε το πρόγραμμα "miditones".
- Τώρα, χρησιμοποιώντας το παράθυρο της γραμμής εντολών, πληκτρολογήστε "miditones -d -v [όνομα αρχείου]" (Αντικαταστήστε το [όνομα αρχείου] με όποιο και αν είναι το όνομα του αρχείου σας MIDI).
- Οι miditones θα δημιουργήσουν ένα αρχείο. C με την παράλληλη ροή C ++ στον ίδιο φάκελο, με το ίδιο όνομα με το αρχείο MIDI.
Βήμα 15: Χρήση του αρχείου MIDI που έχετε μετατρέψει
Τώρα που μετατρέψατε το αρχείο MIDI, ας το τροφοδοτήσουμε σε μικρά byte στο arduino!
- Υποθέτοντας ότι έχετε ήδη ανοιχτό το παράδειγμα SAATunes-Uno, ας προχωρήσουμε και "αποθηκεύσουμε ως" κάτι άλλο, ώστε να μπορούμε να το επεξεργαστούμε.
- Μόλις το αποθηκεύσετε, κάντε κλικ στο μικρό εικονίδιο "κάτω βέλος" στην επάνω δεξιά γωνία.
- Κάντε κλικ στο "νέα καρτέλα" και ονομάστε το "[όνομα].h" (Αντικαταστήστε το [όνομα] με το όνομα του MIDI τραγουδιού σας ή ό, τι άλλο θέλετε)
- Τώρα, ανοίξτε το αρχείο. C που δημιουργήθηκαν οι μεσαίοι νωρίτερα. Μπορείτε να χρησιμοποιήσετε το σημειωματάριο για να το ανοίξετε.
- Χρησιμοποιήστε το CNTRL/A για να επιλέξετε τα πάντα και, στη συνέχεια, αντιγράψτε τα.
- Επικολλήστε το στη νέα σας καρτέλα "[name].h" στον επεξεργαστή arduino.
Όλα είναι καλά εδώ, οπότε ας επιστρέψουμε στο πρόγραμμα.
- Βρείτε πού γράφει "#include" RagePenny.h "" και αντιγράψτε/επικολλήστε το σε μια νέα γραμμή παρακάτω.
- Αλλάξτε το "RagePenny.h" σε ό, τι ονομάσετε το νέο σας αρχείο.
- Τώρα, σχολιάστε το "#include" RagePenny.h "", προσθέτοντας δύο μπροστινές καμπύλες (//) μπροστά του.
- Ανεβάστε το πρόγραμμα!
Εάν όλα πήγαν καλά, θα πρέπει να παίζει το δικό σας αρχείο MIDI. Εάν όχι, ελέγξτε ξανά για να βεβαιωθείτε ότι τα ονόματα της νέας καρτέλας και το όνομα που αλλάξατε στο "#include" RagePenny.h "" είναι τα ίδια. Ελέγξτε τα άλλα βήματα και βεβαιωθείτε ότι κάνατε τα πάντα σωστά. Ορισμένα αρχεία MIDI απλά δεν λειτουργούν, αλλά αυτά είναι σπάνια.
Βήμα 16: Τέλος
Ας ελπίσουμε ότι όλα πήγαν καλά μαζί σας και θα μπείτε σε αρχεία MIDI σε ένα αρχαίο κομμάτι τεχνολογίας που έδωσε νέα ζωή!
Ωστόσο, αν δεν είστε, μην τα παρατάτε! Στείλτε ένα σχόλιο με τον τρόπο μου και θα χαρώ να βοηθήσω. Φυσικά, μη διστάσετε να μου δώσετε προτάσεις στα σχόλια.
Καλές τσιπτίνες!
Συνιστάται:
Sound Meter - Arduino: 10 βήματα (με εικόνες)
Sound Meter - Arduino: Σε αυτό το Instructable θα δείξω πώς να φτιάξετε έναν μετρητή ήχου χρησιμοποιώντας ένα Arduino και μερικά ακόμη εξαρτήματα. Αυτό είναι ένα σχολικό έργο που έκανα πρόσφατα και μου πήρε ένα χρόνο για να το ολοκληρώσω, βασίζεται στην κατασκευή ενός Sound Meter που καταγράφει το επίπεδο ήχου
Μπουκάλι σόδας Arduino Lamp - Sound Sensitive: 3 βήματα (με εικόνες)
Μπουκάλι σόδας Arduino Lamp - Sound Sensitive: Είχα μερικά ξεχωριστά διευθυνσιοδοτούμενα LED που έμειναν από ένα άλλο έργο και ήθελα να δημιουργήσω μια άλλη αρκετά εύκολη αλλά διασκεδαστική πρόκληση για τα μαθήματα Σχεδιασμού Προϊόντος επιπέδου Έτους 10 (ηλικίας 13-15). Αυτό το έργο χρησιμοποιεί ένα άδειο μπουκάλι σόδας (ή ανθρακούχο ποτό εάν
Διακοσμητική λάμπα LED Sound Reactive (Arduino): 5 βήματα (με εικόνες)
Διακοσμητικός λαμπτήρας LED Sound Reactive (Arduino): Καλημέρα, είναι το πρώτο μου διδακτικό και δεν είμαι Άγγλος;) παρακαλώ συγχωρέστε με αν κάνω λάθη. Το θέμα για το οποίο ήθελα να μιλήσω είναι μια λάμπα LED από ό, τι μπορεί επίσης να είναι ήχος αντιδραστική. Η ιστορία ξεκινά με τη σύζυγό μου που κατέχει αυτό το φωτιστικό από την Ikea αφού
Arduino Infinity Mirror (Bluetooth & Sound Reactive): 9 βήματα (με εικόνες)
Arduino Infinity Mirror (Bluetooth & Sound Reactive): Δημιούργησα ένα Infinity Mirror για ένα σχολικό έργο με το Arduino το οποίο μπορείτε να ελέγξετε με το τηλέφωνο ή το tablet σας χρησιμοποιώντας Bluetooth. Ο καθρέφτης διαθέτει επίσης ενσωματωμένο μικρόφωνο που ανιχνεύει ήχο/μουσική και αντιδρά ανάλογα δημιουργώντας εντυπωσιακά
Simple Arduino Sound Board: 5 βήματα (με εικόνες)
Simple Arduino Sound Board: Σε αυτό το πείραμα θα καταλάβετε πώς λειτουργεί ένας παθητικός βομβητής και πώς μπορείτε να δημιουργήσετε έναν απλό πίνακα ήχου Arduino. Χρησιμοποιώντας μερικά κουμπιά και επιλέγοντας έναν αντίστοιχο τόνο, μπορείτε να δημιουργήσετε μια μελωδία! Τα μέρη που έχω χρησιμοποιήσει είναι από το Arduino U του Kuman