Table des matières:
- Fournitures
- Étape 1: Préparation du mini-blindage hôte USB pour piloter un périphérique Midi 5V
- Étape 2: connectez le mini-blindage USB à votre Arduino Nano
- Étape 3: Chips n'importe qui ? Ajout de SN76489 avec 4MHz Osc. et 595 registre à décalage
- Étape 4: Ajoutez simplement du code - Ajout des bibliothèques, compilation et téléchargement du code
- Étape 5: Connectez un amplificateur et un haut-parleur, connectez votre clavier USB Midi et testez
- Étape 6: Complétez le circuit avec un régulateur de tension 5 V, un connecteur 12 V, un interrupteur marche/arrêt et une LED d'alimentation
- Étape 7: Enfermez dans une boîte, peignez et profitez de votre nouveau synthé
Vidéo: Construisons un synthétiseur MIDI USB SN76489 avec Arduino Nano : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Vous avez toujours voulu construire votre propre synthétiseur basé sur de vieux morceaux des années 80 ? Jouer des airs polyphoniques simples qui ressemblent à ces vieux jeux vidéo Sega Master System et Megadrive ?
J'ai donc commandé quelques puces SN76489 sur ebay et une interface hôte midi et j'ai essayé. Eh bien, ce n'était pas une promenade dans le parc pour moi, mais j'ai apprécié chaque instant.
J'ai d'abord appris à interfacer directement le SN76489 et à faire du bruit avec. Il y avait des éléments déroutants à cela, mais, avec l'aide du blog Oddbloke Geek et de quelques autres exemples, ainsi que le document de spécification de la puce, j'ai pu développer une bibliothèque arduino simple.
Ensuite, j'ai dû apprendre à interfacer un clavier midi avec un mini-blindage hôte USB. Ce n'était pas si difficile, car il existe de la documentation disponible et de bonnes bibliothèques existent avec des exemples clairs.
Une fois que j'ai compris comment contrôler la puce et comment interfacer mon clavier midi USB, il ne me restait plus qu'à écrire un code qui encapsulerait tout cela et me permettrait d'utiliser le clavier pour contrôler la puce.
En cours de route, j'ai appris que les sons avec une fréquence inférieure à celles que j'ai essayé de générer pour les notes midi 0x2f ne sonnaient pas correctement, j'ai donc décidé de l'utiliser pour permettre d'envoyer du bruit au générateur de bruit pour toutes les notes midi entre 0x28 et 0x2f et permet également de jouer des notes avec une touche arabe orientale pour tout ce qui est inférieur à midi 0x28.
Avec le recul, c'était très amusant et très intéressant à construire.
J'espère que vous le trouverez aussi amusant et intéressant que moi et que si vous en construisez un vous-même, vous auriez la gentillesse de partager quelques photos de celui-ci.
Si vous avez aimé ce projet, veuillez voter pour lui ci-dessous pour aider à gagner le concours auquel il participe
Fournitures
J'ai ajouté des liens vers du matériel que vous pouvez acheter pour ce projet, cependant, vous pouvez trouver de nombreux articles disponibles que vous pouvez récupérer sur de vieux appareils électroniques.
Ces liens sont des liens d'affiliation, donc, si vous achetez après avoir cliqué dessus, je reçois une petite partie (pas de fortune) et vous obtenez un produit qui convient à ce projet. Il n'y a pas de frais ni de frais supplémentaires pour les utiliser, cependant, vous pouvez trouver des articles similaires qui peuvent les remplacer assez facilement.
ebay.us/svA4z4 | 1 x tableau de performance
ebay.us/ZyEFNp | 1 x arduino nano
ebay.us/t1zy0v | 1 x mini-blindage USB
ebay.to/2QrHl1C | 1 x puce sonore SN76489
ebay.us/aaaj8p | 1 x registre à décalage 595
ebay.us/DSvTHO | 1 x oscillateur à cristal de 4MHz
ebay.us/XQeM0Q | 1 régulateur de tension 5V 7805
ebay.us/6R6Fpf | 1 x dissipateur thermique pour le régulateur de tension
ebay.us/xkLbn4 | 3 condensateurs 10uF
ebay.us/pnm2BH | fils
ebay.us/PMbUfY | 1 x LED rouge pour l'alimentation
ebay.us/zokHtc | 1 résistance de 220 ohms pour limiter le flux de courant LED
ebay.us/qjbesJ | 1 x connecteur d'alimentation pour alimentation 12v
ebay.us/cS0wwv | 1 x interrupteur marche/arrêt
une boîte adaptée (j'ai construit la mienne à partir d'un vieux tiroir qui reposait dans mon rangement depuis des années)
Étape 1: Préparation du mini-blindage hôte USB pour piloter un périphérique Midi 5V
Étant donné que le mini-blindage hôte USB fonctionne sur 3,3 V et que les claviers midi USB que j'utilise nécessitent 5 V, il est nécessaire d'ajuster la tension de sortie du blindage en coupant la ligne 3,3 V qui va à la sortie USB Vcc, nous pouvons donc le connecter plus tard à 5V.
Il existe de nombreux tutoriels sur la façon de le faire et cela s'est avéré assez simple:
Il suffit de couper la ligne entre la résistance 2k2 et la ligne Vcc (voir image ci-jointe). J'ai utilisé un tournevis pour gratter cette ligne et testé si cela fonctionnait avec un compteur de continuité.
Étape 2: connectez le mini-blindage USB à votre Arduino Nano
Heureusement, il y a beaucoup d'informations sur la façon de le faire, donc, en recherchant "Arduino Nano et mini bouclier hôte USB", j'ai atterri sur ce fil
Il décrivait comment connecter le shield USB mini v2.0 et après l'avoir suivi, je suis allé directement de l'avant pour tester quelques exemples USB midi.
Câblage:
Bouclier hôte Arduino
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V ---------------1
3.3V ------------9
GND -----------3
RST ------------4
Dans ce fil, il a également été mentionné qu'ils ont coupé le fil 3,3 V afin que l'USB puisse obtenir 5 V de VBUS.
Cette description et les images ci-jointes proviennent de ce fil.
BTW, il y a une erreur sur l'impression sur cette carte, donc c'était un peu déroutant, cependant, vous pouvez voir mes commentaires à ce sujet (tyrkelko) et d'où je l'ai appris.
Étape 3: Chips n'importe qui ? Ajout de SN76489 avec 4MHz Osc. et 595 registre à décalage
Il était maintenant temps d'ajouter la puce qui produit ce son incroyable.
J'ai déjà développé une bibliothèque pour interfacer arduino avec cette puce et n'avais qu'à suivre mes instructions.
La bibliothèque est publiée dans github sous GPLv3 (ma première version open source).
github.com/tyrkelko/sn76489
La connexion de 76489 et 595 était comme dans l'image ci-jointe qui est capturée à partir du fichier readme.txt de la bibliothèque
Le Write Enable on Low (NotWE) de 76489 était connecté à la broche 3 du nano et peut être modifié dans le code.
#define PIN_NotWE 3
Le 595 a été connecté au nano comme suit et peut également être ajusté en modifiant les numéros de broche:
#définir PIN_SER 7
#define PIN_LATCH 6
#define PIN_CLK 5
L'oscillateur que j'ai utilisé était un oscillateur à cristal de 4 MHz avec 4 pattes.
Il a été configuré dans le code comme suit et vous pouvez ajuster sa valeur à n'importe quelle fréquence d'oscillateur entre 500 kHz et 4 MHz:
#définir la FRÉQUENCE 4000000.0
La connexion de l'oscillateur que j'ai utilisé était la suivante:
broche 1 - non connectée
broche 7 - masse
broche 8 - connecté à 76489 broche 14 - horloge osc
Étape 4: Ajoutez simplement du code - Ajout des bibliothèques, compilation et téléchargement du code
Les bibliothèques utilisées dans ce projet doivent être ajoutées à l'IDE Arduino comme suit:
Ouvrez l'IDE Arduino
Téléchargez les bibliothèques suivantes dans le dossier des bibliothèques de votre IDE (j'espère les voir bientôt dans le menu « Gérer les bibliothèques… » dans le menu « Outils » de l'IDE:
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Utilisez le code du projet github suivant:
github.com/tyrkelko/usb_midi_tone
Téléchargez usb_midi_tone.ino, compilez et téléchargez sur votre Arduino nano.
Étape 5: Connectez un amplificateur et un haut-parleur, connectez votre clavier USB Midi et testez
Il est maintenant temps de tester tout fonctionne.
Pour ce faire, nous avons besoin de:
1. Un amplificateur et un haut-parleur
2. Un clavier midi USB
Connectez la broche 7 du SN76489, sortie audio, à l'entrée audio de l'amplificateur.
Allumez l'amplificateur, puis allumez l'arduino nano. Vous devriez maintenant entendre le son du test de mise sous tension pendant une fraction de seconde.
Connectez le clavier midi USB et testez.
Si tout fonctionne correctement, vous devriez pouvoir jouer 3 tons simultanément, et également jouer 8 types de bruit et même quelques quarts de ton de 24 EDO-Scale.
Si cela ne fonctionne pas, passez en revue les étapes pour voir ce qui a pu mal se passer.
Si vous pensez que cela résulte d'instructions peu claires, veuillez m'envoyer une note afin que je mette à jour les instructions pour y remédier.
Étape 6: Complétez le circuit avec un régulateur de tension 5 V, un connecteur 12 V, un interrupteur marche/arrêt et une LED d'alimentation
Dans cette étape, vous devriez être en mesure de boucler le circuit après l'avoir testé pour qu'il fonctionne correctement.
1. Ajoutez un régulateur de puissance avec LM7805 et deux condensateurs 10 uF et 0,1 uF. Il existe de nombreux tutoriels à ce sujet, vous pouvez utiliser les instructions suivantes pour y parvenir -
2. Ajoutez un connecteur d'alimentation 12V avec le Vcc passant par un interrupteur marche/arrêt
3. Ajoutez une LED avec une résistance de courant de limitation pour indiquer quand l'appareil est sous tension.
Étape 7: Enfermez dans une boîte, peignez et profitez de votre nouveau synthé
Une fois que les circuits sont testés et fonctionnent à votre guise, il ne reste plus grand chose à faire à part construire un joli boîtier, peignez-le avec des couleurs impressionnantes et jouez de la musique.
J'espère que vous avez apprécié la lecture de cette instructable et qu'elle vous a inspiré à construire votre propre synthé ou à vous lancer dans un autre projet sur lequel vous travaillez.
Veuillez commenter ci-dessous pour toute question et si vous avez construit quelque chose de similaire sur la base de ce tutoriel, ce serait formidable si vous partagiez ce que vous avez fait dans la section "J'ai fait ça!" zone ou dans la section commentaires.
Conseillé:
Synthétiseur d'eau avec MakeyMakey et Scratch : 6 étapes (avec photos)
Synthétiseur d'eau avec MakeyMakey et Scratch : Utiliser MakeyMakey pour transformer différents matériaux en interrupteurs ou boutons et ainsi déclencher des mouvements ou des sons sur l'ordinateur est une affaire fascinante. On apprend quel matériau conduit l'impulsion de courant faible et peut inventer et expérimenter avec i
Construisons (synthé analogique) : 5 étapes
Construisons (synthé analogique) : dans cette série, je vais vous montrer comment construire un synthétiseur analogique modulaire de base en utilisant à la fois des composants analogiques et numériques. Lien vers le schéma et les composants : https://drive.google.com/open?id= 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
Synthétiseur Arduino MIDI Chiptune : 7 étapes (avec photos)
Synthétiseur Arduino MIDI Chiptune : Revivez le plaisir de la musique des premiers jeux informatiques avec un authentique synthétiseur chiptune 8 bits, que vous pouvez contrôler via MIDI dans le confort de n'importe quel logiciel DAW moderne. Ce circuit simple utilise un Arduino pour piloter un AY-3- 8910 générateurs de sons programmables
Synthétiseur de musique basé sur DE0-Nano-SoC : 5 étapes (avec images)
Synthétiseur de musique basé sur DE0-Nano-SoC : Music SynthesizerCe synthétiseur de musique est assez simple : il suffit de souffler, de chanter, voire de jouer de la musique devant le micro, et le son sera modulé et envoyé via le haut-parleur. Son spectre apparaîtra également sur l'écran LCD. Le
Synthétiseur Micro Midi : 5 étapes (avec photos)
Synthétiseur Micro Midi : cette instructable démontre l'utilisation de la puce VLSI VS1053b Audio et Midi DSP dans son mode Midi en temps réel. Dans ce mode, il agit comme un synthétiseur Midi GM (General Midi) polyphonique à 64 voix. Un micro autonome Arduino Uno contrôle un écran OLED