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

Retro Sound Chip With an Arduino - το SAA1099: 16 Βήματα (με Εικόνες)
Retro Sound Chip With an Arduino - το SAA1099: 16 Βήματα (με Εικόνες)

Βίντεο: Retro Sound Chip With an Arduino - το SAA1099: 16 Βήματα (με Εικόνες)

Βίντεο: Retro Sound Chip With an Arduino - το SAA1099: 16 Βήματα (με Εικόνες)
Βίντεο: MKS Robin Nano v2.0 - A4988 or DRV8825 Install Guide 2024, Νοέμβριος
Anonim
Image
Image
Καλωδίωση - SAA1099
Καλωδίωση - SAA1099

Σε αυτό το διδακτικό, θα σας δείξω πώς να χρησιμοποιήσετε ένα Arduino Uno με ένα τσιπ vintage σύνθεσης ήχου, για να παίξετε αρχεία midi σε τετράγωνη κυματιστή καλοσύνη!

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

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

Image
Image

Αν προτιμάτε όλες τις οδηγίες σας σε σαφή, περιεκτικά βίντεο, σας έχουμε καλύψει!

Για εμάς τους υπόλοιπους, μπορείτε να συνεχίσετε, για λίγο περισσότερες λεπτομέρειες και γραπτές οδηγίες.

Βήμα 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
Καλωδίωση - SAA1099
Καλωδίωση - SAA1099
Καλωδίωση - SAA1099

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

  • Τοποθετήστε το SAA1099 στο τέλος του breadboard, με την εγκοπή στο τσιπ στραμμένο προς το τέλος.
  • Τώρα, δύναμη. Το VDD (pin 18) στο SAA1099 πηγαίνει σε ισχύ και, στη συνέχεια, καρφίτσα VSS (pin 9) στη γείωση.
  • Στη συνέχεια, βάλτε ένα καλώδιο μεταξύ CS (πείρος 2) και γείωσης, για να το κρατήσετε χαμηλά

Θα συνιστούσα επίσης να ρίξετε μια ματιά στο φύλλο δεδομένων, το οποίο έχω επισυνάψει.

Βήμα 4: Καλωδίωση - Ταλαντωτής TTL

Καλωδίωση - TTL Oscillator
Καλωδίωση - TTL Oscillator
Καλωδίωση - TTL Oscillator
Καλωδίωση - TTL Oscillator
  • Θα βάλουμε τον ταλαντωτή TTL στο breadboard δίπλα στο breadboard, έτσι ώστε ο πείρος εξόδου ρολογιού να είναι πλησιέστερος στην είσοδο ρολογιού στο SAA1099 (Pin 8)
  • Μπορείτε να προχωρήσετε και να συνδέσετε τη δύναμη και τη γείωση στον ταλαντωτή TTL. (Περίμενα μέχρι αργότερα στο βίντεό μου, οπότε δεν έχω εικόνα). Η παραπάνω εικόνα δείχνει ποιες καρφίτσες είναι ποιες.

Βήμα 5: Καλωδίωση - Διεπαφή Iref και Chip

Καλωδίωση - Διεπαφή Iref και Chip
Καλωδίωση - Διεπαφή Iref και Chip
Καλωδίωση - Διεπαφή Iref και Chip
Καλωδίωση - Διεπαφή 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

Καλωδίωση - Power to Breadboard
Καλωδίωση - Power to Breadboard
Καλωδίωση - Power to Breadboard
Καλωδίωση - Power to 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
Προαιρετικά LED
Προαιρετικά 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 - Πρόγραμμα μετατροπής
Χρήση των δικών σας αρχείων MIDI - Πρόγραμμα μετατροπής

Είστε έτοιμοι να δοκιμάσετε κάτι άλλο από τον Μπετόβεν; Πολύ καλά, εδώ.

Για να μετατρέψουμε αρχεία MIDI σε C ++ Bytestreams, θα χρειαστούμε ένα πρόγραμμα του Len Shustek. Είναι ο δημιουργός της βιβλιοθήκης στον οποίο βασίστηκα τον κωδικό μου και η βιβλιοθήκη μου χρησιμοποιεί την ίδια μορφή bytestream που κάνει.

  • Μπορείτε να βρείτε το πρόγραμμα στη διεύθυνση
  • Το πρόγραμμα που θέλετε είναι "miditones.exe". Προχωρήστε και κατεβάστε το.

Βήμα 14: Μετατροπή αρχείων MIDI

Μετατροπή αρχείων MIDI
Μετατροπή αρχείων MIDI
Μετατροπή αρχείων MIDI
Μετατροπή αρχείων MIDI
Μετατροπή αρχείων MIDI
Μετατροπή αρχείων 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 που έχετε μετατρέψει
Χρήση του αρχείου MIDI που έχετε μετατρέψει
Χρήση του αρχείου MIDI που έχετε μετατρέψει
Χρήση του αρχείου MIDI που έχετε μετατρέψει
Χρήση του αρχείου MIDI που έχετε μετατρέψει
Χρήση του αρχείου 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 σε ένα αρχαίο κομμάτι τεχνολογίας που έδωσε νέα ζωή!

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

Καλές τσιπτίνες!

Συνιστάται: