Table des matières:
- Étape 1: vidéo
- Étape 2: Pièces et matériaux
- Étape 3: Câblage - SAA1099
- Étape 4: Câblage - Oscillateur TTL
- Étape 5: Câblage - Interface Iref et puce
- Étape 6: Câblage - Composants sonores
- Étape 7: Câblage - Prise audio
- Étape 8: Câblage - Alimentation à la planche à pain
- Étape 9: Câblage - Lignes de données
- Étape 10: LED en option
- Étape 11: Codez
- Étape 12: Testez-le
- Étape 13: Utilisation de vos propres fichiers MIDI - Programme de conversion
- Étape 14: Conversion de fichiers MIDI
- Étape 15: Utilisation de votre fichier MIDI converti
- Étape 16: Fin
Vidéo: Puce de son rétro avec un Arduino - le SAA1099 : 16 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Dans ce instructable, je vais vous montrer comment utiliser un Arduino Uno avec une puce de synthèse sonore vintage, pour lire des fichiers midi dans la bonté ondulée carrée !
Si vous voulez juste un aperçu rapide de ce que fait ce projet, regardez la vidéo ci-dessus. Sinon, continuez !
Étape 1: vidéo
Si vous préférez toutes vos instructions dans des vidéos claires et concises, nous avons ce qu'il vous faut !
Pour le reste d'entre nous, vous pouvez continuer, pour un peu plus de détails, et des instructions écrites.
Étape 2: Pièces et matériaux
Pour cela, vous aurez besoin de ces éléments:
(Les liens sont pour les objets eBay)
- Un Arduino (Uno, Nano, Leonardo, ils devraient tous fonctionner)
- Au moins une planche à pain de taille moyenne
- La puce de générateur de son stéréo SAA1099
- Fils de cavalier de la planche à pain (alternativement, j'aime utiliser des cavaliers femelle à femelle dupont, avec des broches d'en-tête de 20 mm insérées à chaque extrémité - beaucoup plus robuste)
- Oscillateur TTL 8Mhz (lien AliExpress fourni par zweigelt)
- Prise audio stéréo (ou mono)
- 2 x résistances 1K (Lot de 100)
- 1 x résistance 10K (Lot de 50)
- 2 condensateurs 100pF
- (Facultatif) Quelques LED, au moins 1 (N'importe quelle couleur, voici 100 couleurs assorties pour un dollar !)
En utilisant les liens fournis, le coût total est de 23,25 $, frais d'expédition compris. Bien sûr, la majeure partie provient de l'autre bout du monde, donc l'expédition prend généralement environ un mois. Si vous voulez une livraison plus rapide, vous devrez probablement payer un peu plus.
Étape 3: Câblage - SAA1099
Si les schémas sont votre truc, c'est parti ! Le reste d'entre nous peut soit passer en revue étape par étape, soit regarder la vidéo.
- Placez le SAA1099 à l'extrémité de la planche à pain, avec l'encoche sur la puce tournée vers l'extrémité.
- Maintenant, le pouvoir. Le VDD (broche 18) du SAA1099 passe à l'alimentation, puis la broche VSS (broche 9) à la masse.
- Ensuite, placez un fil entre CS (broche 2) et la terre, pour le maintenir tiré bas
Je recommanderais également de jeter un œil à la fiche technique que j'ai jointe.
Étape 4: Câblage - Oscillateur TTL
- Nous allons mettre l'oscillateur TTL sur la maquette à côté de la maquette, de sorte que la broche de sortie d'horloge soit la plus proche de l'entrée d'horloge sur le SAA1099 (broche 8)
- Vous pouvez aller de l'avant et connecter l'alimentation et la terre à l'oscillateur TTL. (J'ai attendu plus tard dans ma vidéo, donc je n'ai pas de photo). L'image ci-dessus montre quelles broches sont lesquelles.
Étape 5: Câblage - Interface Iref et puce
- Connectez la résistance 10K entre Iref (broche 6) et 5V.
- Connectez la broche numérique 8 à WR (broche 1) sur le SAA1099.
- Connectez la broche numérique 9 à A0 (broche 3) sur le SAA1099.
Étape 6: Câblage - Composants sonores
- Connectez un condensateur de 100pF entre OUTR (broche 4) et GND
- Connectez une résistance de 1K entre OUTR (broche 4) et 5V
- On fera la même chose pour OUTL (broche 5)
- Connectez un condensateur de 100pF entre OUTL (broche 5) et GND
- Connectez une résistance de 1K entre OUTL (broche 5) et 5V
Noter! Assurez-vous qu'aucun des fils des résistances/condensateurs ne se touche, sinon les choses ne fonctionneront pas et pourraient (provisoirement) exploser au visage.
Étape 7: Câblage - Prise audio
- Connectez un petit cavalier entre 5V et une rangée vide sur la planche à pain.
- Placez votre prise audio, de sorte que le cavalier de 5V se connecte à la broche "Sleeve" sur la prise audio
- Connectez les broches L et R (ou la broche audio, si vous avez une prise mono) aux broches OUTL (broche 5) et OUTR (broche 4) du SAA1099, respectivement.
Noter! Sur les prises audio mono, peu importe ce qui se passe, tant qu'une broche se connecte à 5V et une à OUTL ou OUTR. Ça sonnera très bien. Sauf si ce n'est pas le cas, auquel cas vous voudrez peut-être vérifier à nouveau votre câblage.
Étape 8: Câblage - Alimentation à la planche à pain
- Connectez les deux côtés du bus d'alimentation Breadboard l'un à l'autre, à l'aide de cavaliers.
- Connectez un côté aux broches 5V et GND de l'Arduino, en vous assurant de n'avoir mélangé les fils nulle part. Si vous l'avez fait, la fumée magique peut s'échapper.
Étape 9: Câblage - Lignes de données
Connectez D0 à D7 sur l'Arduino à D0 (broche 10) à D7 (broche 17) sur le SAA1099, dans l'ordre
Je trouve que les fils de connexion femelle-femelle DuPont, avec des broches d'en-tête de 15 à 20 mm à chaque extrémité, fonctionnent beaucoup mieux que les fils dupont mâle-mâle. De plus, vous pouvez également les utiliser en tant que femme-femme ou homme-femme. Les deux se trouvent facilement sur eBay en grande quantité, pour de petites quantités de monnaie. Un bon cadeau de Noël pour l'aspirant junkie d'Arduino !
Étape 10: LED en option
Je ne vais pas expliquer étape par étape comment tout construire ici, mais il existe plusieurs bons endroits pour ajouter des LED. Tout d'abord, j'ai connecté une LED rouge de 3 mm entre WR (broche 1) et GND, pour montrer à chaque fois que l'Arduino envoie une commande au SAA1099.
J'ai également déjà connecté des LED aux lignes de données, ce qui vous permet de voir les données binaires réelles sur chaque ligne. J'ai utilisé cette configuration dans ma vidéo "Arduino et SAA1099 - Fireflies", ainsi que 6 LED supplémentaires et du code supplémentaire pour allumer chaque LED pour chaque canal actif.
Plus il y a de LED, plus il fait froid !
Étape 11: Codez
Maintenant que vous avez construit le circuit, vérifiez les connexions ! Vous ne voulez pas faire exploser votre cher arduino et Soundchip ! (Si vous le faites, eh bien. Ce ne sont pas mes affaires)
En supposant que vous soyez sain d'esprit et que vous ayez tout vérifié, nous pouvons commencer à le programmer.
- La bibliothèque est à
- Vous aurez besoin du fichier SAATunes.zip, alors allez-y et téléchargez-le.
- Maintenant, ouvrez l'IDE Arduino.
- Sous "Esquisse", "Inclure la bibliothèque", cliquez sur "Ajouter une bibliothèque.zip"
- Accédez à l'endroit où vous avez téléchargé la bibliothèque SAATunes. (Je me fiche qu'il s'agisse de votre bureau, de vos téléchargements ou (insérez quelque chose d'embarrassant) dossier - Il suffit de le trouver)
- Sélectionnez-le et cliquez sur "Ouvrir"
- Il devrait vous dire qu'il a été ajouté à vos bibliothèques.
Étape 12: Testez-le
- Ouvrez l'exemple de programme SAATunes, sous "Fichier", "Exemples", "SAATunes", "SAATunes-Uno".
- Branchez votre Arduino sur l'ordinateur et sur un haut-parleur quelconque.
- Téléchargez le programme sur l'Arduino.
Vous devriez entendre un accord, puis la rage de Beethoven sur un penny perdu. Si le Classique n'est pas votre truc, n'ayez crainte, car nous allons bientôt apprendre à utiliser les fichiers MIDI de notre choix avec lui.
Si vous n'entendez rien, vérifiez quelques points: d'abord, votre haut-parleur est-il allumé ? Tournez-le à fond. Alors, l'arduino est-il vraiment allumé ? Le programme a-t-il été téléchargé correctement ? Vérifiez tout le câblage avec le scematic et la fiche technique, puis réessayez.
Étape 13: Utilisation de vos propres fichiers MIDI - Programme de conversion
Prêt à essayer autre chose que Beethoven ? Très bien, voilà.
Pour convertir des fichiers MIDI en C++ Bytestreams, nous aurons besoin d'un programme de Len Shustek. Il est le créateur de la bibliothèque sur laquelle j'ai basé mon code, et ma bibliothèque utilise le même format de flux d'octets que lui.
- Vous pouvez trouver le programme sur
- Le programme que vous voulez est "miditones.exe". Allez-y et téléchargez-le.
Étape 14: Conversion de fichiers MIDI
Avertissement! Ici, il y a des dragons ascii ! Vous trouverez peut-être plus facile de regarder la vidéo, où vous pouvez voir exactement de quoi je parle. Si vous osez entrer, continuez !
Pour utiliser le programme de conversion MIDI vers Bytestream, vous devrez ouvrir une fenêtre d'invite de commande. Désolé, utilisateurs Mac et Linux, vous devrez peut-être trouver une solution de contournement.
- Ouvrez le menu Démarrer et tapez "CMD", puis appuyez sur Entrée.
- Nous allons apprendre un peu de magie MS-DOS maintenant. À l'aide de la commande "CD", accédez à l'endroit où vous avez téléchargé le fichier "miditones.exe". Dans la plupart des cas, les commandes seront des "téléchargements de CD".
- Exécutez le programme "miditones.exe" en tapant "miditones". Il devrait vous montrer une liste d'aide montrant les commandes les plus courantes.
Maintenant, nous avons besoin d'un fichier MIDI à convertir. Trouvez-en un quelque part sur les interwebs, de préférence sans percussion ni effets spéciaux à part les instruments/la vitesse. (Si vous ne savez pas ce que c'est, ne vous inquiétez pas, tout ira bien)
- Téléchargez votre fichier MIDI au même endroit que le programme "miditones".
- Maintenant, en utilisant la fenêtre d'invite de commande, tapez "miditones -d -v [nom de fichier]" (remplacez [nom de fichier] par le nom de votre fichier MIDI).
- miditones va générer un fichier. C avec le flux d'octets C++ dans le même dossier, avec le même nom que le fichier MIDI.
Étape 15: Utilisation de votre fichier MIDI converti
Maintenant que vous avez converti votre fichier MIDI, envoyons-le en petits octets à l'arduino !
- En supposant que vous ayez déjà ouvert l'exemple SAATunes-Uno, allons-y et "enregistrons sous" autre chose, afin que nous puissions le modifier.
- Une fois que vous l'avez enregistré, cliquez sur la petite icône "flèche vers le bas" dans le coin supérieur droit.
- Cliquez sur "nouvel onglet" et nommez-le "[nom].h" (remplacez [nom] par le nom de votre morceau MIDI, ou ce que vous voulez)
- Maintenant, ouvrez le fichier. C que les miditones ont créé plus tôt. Vous pouvez utiliser le bloc-notes pour l'ouvrir.
- Utilisez CNTRL/A pour tout sélectionner, puis copiez-le.
- Collez-le dans votre nouvel onglet "[nom].h" dans l'éditeur arduino.
Tout va bien ici, alors revenons au programme.
- Trouvez où il est écrit "#include "RagePenny.h"", et copiez/collez-le sur une nouvelle ligne ci-dessous.
- Remplacez le "RagePenny.h" par le nom que vous avez donné à votre nouveau fichier.
- Maintenant, commentez le "#include "RagePenny.h"", en ajoutant deux barres obliques (//) devant celui-ci.
- Téléchargez le programme !
Si tout s'est bien passé, il devrait jouer votre propre fichier MIDI. Si ce n'est pas le cas, vérifiez à nouveau pour vous assurer que les noms du nouvel onglet et le nom que vous avez modifié dans le "#include "RagePenny.h"" sont les mêmes. Vérifiez les autres étapes et assurez-vous que vous avez tout fait correctement. Certains fichiers MIDI ne fonctionnent tout simplement pas, mais ceux-ci sont rares.
Étape 16: Fin
J'espère que tout s'est bien passé pour vous, et que vous êtes en train de brouiller des fichiers MIDI sur une ancienne technologie qui a reçu une nouvelle vie !
Cependant, si vous ne l'êtes pas, n'abandonnez pas ! Envoyez un commentaire à ma façon, et je serai heureux de vous aider. Bien sûr, n'hésitez pas à me faire des suggestions dans les commentaires.
Joyeux chiptunes !
Conseillé:
Moteur pas à pas contrôlé par MIDI avec une puce de synthèse numérique directe (DDS) : 3 étapes
Moteur pas à pas contrôlé par MIDI avec une puce de synthèse numérique directe (DDS) : Avez-vous déjà eu la mauvaise idée que vous deviez JUSTE transformer en un mini projet ? Eh bien, je jouais avec un croquis que j'avais fait pour l'Arduino Due visant à faire de la musique avec un module de synthèse numérique directe (DDS) AD9833… et à un moment donné, j'ai pensé &q
Lampe d'intérieur portable avec puce LED 100W : 26 étapes (avec photos)
Lumière intérieure portable avec puce LED 100W : dans cette instructable/vidéo, je vais vous montrer comment j'ai fabriqué une lumière intérieure portable avec une puce LED 100W qui est alimentée par une alimentation 19V 90W à partir d'un vieil ordinateur portable. MISE À JOUR 2 (FINALE) : Température autour de la LED (37C stable @85W après 30 minutes dans une pièce à 20C)
Oreillette Bluetooth DIY (puce BK8000L) imprimée en 3D : 6 étapes (avec photos)
Oreillette Bluetooth DIY (puce BK8000L) imprimée en 3D : Bonjour ! Ici, je voudrais vous montrer comment créer votre propre oreillette Bluetooth sans fil. Ma motivation pour faire ce projet est le fait qu'il y a beaucoup de mauvais casques Bluetooth que j'ai achetés récemment, donc en faisant le mien, je peux peaufiner et développer
Entrer en contact avec votre puce interne : 7 étapes
Entrer en contact avec votre puce intérieure : Si vous lisez ceci sur le site Web instructable, vous utilisez presque certainement un ordinateur pour le faire. Et comme la plupart d'entre vous le savent, les ordinateurs utilisent des micropuces pour traiter toutes les informations avec lesquelles ils travaillent et stockent. Vous avez peut-être même vu les puces IC
Puce autonome Arduino / ATMega sur planche à pain : 8 étapes (avec photos)
Puce Arduino / ATMega autonome sur planche à pain : si vous êtes comme moi, après avoir obtenu mon Arduino et effectué une programmation finale sur ma première puce, je voulais la retirer de mon Arduino Duemilanove et la mettre sur mon propre circuit. Cela libérerait également mon Arduino pour de futurs projets. Le problème