Table des matières:

Puce de son rétro avec un Arduino - le SAA1099 : 16 étapes (avec photos)
Puce de son rétro avec un Arduino - le SAA1099 : 16 étapes (avec photos)

Vidéo: Puce de son rétro avec un Arduino - le SAA1099 : 16 étapes (avec photos)

Vidéo: Puce de son rétro avec un Arduino - le SAA1099 : 16 étapes (avec photos)
Vidéo: SAA1099 & Arduino - How to DIY 2024, Novembre
Anonim
Image
Image
Câblage - SAA1099
Câblage - SAA1099

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

Image
Image

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

Câblage - SAA1099
Câblage - SAA1099
Câblage - SAA1099
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

Câblage - Oscillateur TTL
Câblage - Oscillateur TTL
Câblage - Oscillateur TTL
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

Câblage - Iref et interface puce
Câblage - Iref et interface puce
Câblage - Iref et interface puce
Câblage - Iref et interface 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

Câblage - Composants sonores
Câblage - Composants sonores
Câblage - Composants sonores
Câblage - Composants sonores
Câblage - Composants sonores
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

Câblage - Prise audio
Câblage - Prise audio
Câblage - Prise audio
Câblage - Prise audio
Câblage - Prise audio
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

Câblage - Alimentation à la planche à pain
Câblage - Alimentation à la planche à pain
Câblage - Alimentation à la planche à pain
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

Câblage - Lignes de données
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

LED en option
LED en option
LED en option
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

Code!
Code!
Code!
Code!

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

Essaye-le!
Essaye-le!
Essaye-le!
Essaye-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

Utilisation de vos propres fichiers MIDI - Programme de conversion
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

Conversion de fichiers MIDI
Conversion de fichiers MIDI
Conversion de fichiers MIDI
Conversion de fichiers MIDI
Conversion de fichiers MIDI
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

Utilisation de votre fichier MIDI converti
Utilisation de votre fichier MIDI converti
Utilisation de votre fichier MIDI converti
Utilisation de votre fichier MIDI converti
Utilisation de votre fichier MIDI converti
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

Ailette!
Ailette!

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é: