Table des matières:

Midi Record/Play/Overdub avec connexions à 5 broches : 3 étapes
Midi Record/Play/Overdub avec connexions à 5 broches : 3 étapes

Vidéo: Midi Record/Play/Overdub avec connexions à 5 broches : 3 étapes

Vidéo: Midi Record/Play/Overdub avec connexions à 5 broches : 3 étapes
Vidéo: Comment utiliser un clavier maitre midi et cv ? [ Arturia Keystep Pro ] 2024, Novembre
Anonim
Midi Record/Play/Overdub avec connexions à 5 broches
Midi Record/Play/Overdub avec connexions à 5 broches

* Utilise une puce ATMega-1284 fonctionnant à 8 MHz, avec 4 Ko de RAM et 4 Ko d'eeprom

* Utilise les anciens connecteurs DIN 5 broches

* Permet l'enregistrement et la lecture, ainsi que l'overdub: enregistrer avec quelque chose que vous avez enregistré auparavant.

* Menu entier

* Capacité de nommer et de stocker un fichier dans l'eeprom

* Tempos et signatures rythmiques modifiables

* Quantification rudimentaire

Utilité* Preuve de concept: vous pourriez trouver ce projet difficile.

Ce que comprend ce tutoriel:

* Liste des pièces

* Rapport de projet (joint à ce panneau)

Contient beaucoup d'informations que vous devez savoir sur le projet

* Lien vers le code C sur GitHub

github.com/sugarvillela/ATMega1284

* Instructions pas à pas pour construire le projet et adapter le code

Étape 1: Liste des pièces

Liste des pièces
Liste des pièces

Certaines pièces que j'ai eues à l'école à prix réduit. Certains que j'ai achetés dans un magasin et payés trop cher. Si vous avez le temps, obtenez tout cela en ligne.

1 Planche à pain, n'importe quel modèle, à peu près de la même taille que celle de la photo d'introduction, 20 $

1 microprocesseur, modèle ATMega1284, 5 $

Il s'agit d'une puce polyvalente avec d'excellentes fonctionnalités. Retrouvez la fiche technique ici:

ww1.microchip.com/downloads/en/devicedoc/atmel-42718-atmega1284_datasheet.pdf

1 bloc d'alimentation de 5 volts

1 ATMEL-GLACE

C'est l'interface entre votre ordinateur et le microprocesseur. Vous avez également besoin d'un logiciel d'édition de code (un IDE) et d'un compilateur capable de compiler le C avec l'architecture de la puce ATMega. Atmel fournit un environnement, Atmel Studio, qui répond à ces exigences. Téléchargez-le ici:

1 Opto-coupleur, modèle 6N138 ou équivalent, 5$

C'est pour l'entrée; la norme midi exige que les appareils soient isolés les uns des autres pour éviter les boucles de masse. J'ai utilisé la puce équivalente NEC avec une disposition de brochage identique. Voir la photo ci-dessus pour plus d'informations ou simplement google '6n138 brochage'. Si vous utilisez un modèle avec différentes affectations de broches, recherchez les broches correspondantes (soigneusement).

2 écrans LCD, modèle 1602A1, 3 $ chacun

J'ai utilisé des écrans 2*16, ce qui signifie qu'ils ont 2 lignes de 16 caractères chacune. Le code est écrit spécifiquement pour ceux-ci, alors essayez d'utiliser les mêmes. Les connexions sont: 8 lignes de données et 2 lignes de contrôle. Vous pouvez partager les lignes de données entre les deux écrans, mais vous avez besoin de 2 lignes de contrôle pour chacun, pour un total de 4 lignes de contrôle. Mon projet utilise le bus C pour les lignes de données LCD et le quartet supérieur du bus D pour les lignes de contrôle. Si vous câblez le vôtre différemment, modifiez les bus de sortie dans votre code.

1 haut-parleur

Pour la sortie du métronome; n'importe quel orateur fera l'affaire. Vous lui fournirez des ondes carrées de 3 à 5 volts, il n'a donc pas besoin d'être joli. Vous pouvez également vous connecter à un amplificateur externe.

1 condensateur, pour adoucir la sortie d'onde carrée vers le haut-parleur

2 connecteurs DIN 5 broches, mâle ou femelle

J'ai utilisé des câbles mâles et les ai câblés à la carte. Pour une solution plus élégante, utilisez des connecteurs femelles et connectez des câbles mâles à d'autres appareils. (Rappelez-vous que les numéros de broche sont à l'envers selon la façon dont vous regardez le connecteur !)

Résistances, 180-330 Ohm, 1k-10kOhm

Vous devrez peut-être expérimenter avec des valeurs de résistance pour que l'optocoupleur suive l'entrée assez rapidement

LED

La conception nécessite une diode sur l'entrée de l'opto-isolateur, mais une LED fera l'affaire. Utilisez une LED pour le métronome, pour clignoter en même temps que le haut-parleur bip. Ayez plus de LED à portée de main pour le débogage de sortie si vous en avez besoin.

Des fils, beaucoup de fils

Calibre 20-22, fils solides, longs, courts et minuscules.

Étape 2: Code C

Allez sur github pour obtenir le code:

* Assurez-vous de lire et de comprendre le code car vous devrez peut-être le modifier pour l'adapter à un matériel différent.

* Le rapport de projet sur le panneau d'introduction contient des descriptions détaillées des modules logiciels et comment ils interagissent.

* Pas de copier-coller. Interagir avec le code; expérience; récrire. Vous pouvez probablement l'améliorer.

Étape 3: Câblage initial (reportez-vous à la photo du projet pour obtenir des conseils)

Câblage initial (reportez-vous à la photo du projet pour obtenir des conseils)
Câblage initial (reportez-vous à la photo du projet pour obtenir des conseils)
Câblage initial (reportez-vous à la photo du projet pour obtenir des conseils)
Câblage initial (reportez-vous à la photo du projet pour obtenir des conseils)

Notes sur la photo du projet avant de commencer

Sur la photo, l'opto-coupleur est la dernière puce à droite et le processeur est la grosse puce à gauche.

Vous remarquerez deux autres puces entre les deux avec un tas de résistances connectées. Ignorez-les s'il vous plaît. Ce sont des registres à décalage, qui ne sont pas utilisés dans ce projet. Si jamais vous avez envie d'ajouter un réseau de LED, vous découvrirez à quoi ils servent.

Le truc noir rond est le haut-parleur (un buzzer piézo).

Les boutons sont en haut à gauche. C'est assez loin du bus A en bas à droite de la puce.

L'écran LCD de gauche est LCD 0. Celui de droite est LCD 1.

Dans ces instructions, je suppose que vous utilisez la pièce exacte spécifiée (là où un numéro de modèle est indiqué dans la liste des pièces).

Câbler l'alimentation

La planche à pain a des rails d'alimentation sur les bords et entre les sections. Utilisez des fils courts pour les relier tous ensemble et pour les connecter à l'alimentation électrique. Vous pouvez désormais accéder au positif et à la terre de n'importe où sur la carte.

Chips

Installez la puce ATMega, en faisant attention à ne pas plier les broches (une bonne précaution pour toute puce) et en vous assurant qu'elle est bien en place.

Installez l'optocoupleur à côté du processeur.

Câblez les rails d'alimentation aux broches appropriées sur le processeur et l'opto-coupleur.

LCD

Lisez le fichier inclus LCDhookup.pdf (ci-dessous) pour vous aider à connecter un écran LCD.

Chaque écran a deux connexions d'alimentation et trois connexions de terre.

La broche 3 est un contrôle de luminosité qui, s'il est mal réglé, rendra le contenu de l'écran invisible. Si vous avez un potentiomètre à portée de main, utilisez-le pour régler la tension de commande. Vous pouvez également essayer des résistances fixes, pour obtenir une tension d'environ 1/2 de VCC.

Les broches 4 et 6 de l'écran LCD 0 se connectent à D4 et D5 sur le processeur. Ceux-ci sont utilisés pour activer et réinitialiser l'écran.

Les broches 4 et 6 de l'écran LCD 1 se connectent à D6 et D7 sur le processeur.

Les broches 7-17 sur les deux écrans LCD se connectent à C0-C7 sur le processeur. Il s'agit d'un bus de données partagé. Chaque écran ignorera les données jusqu'à ce qu'un signal de contrôle arrive sur les broches 4 et 6.

Lisez: Informations sur l'écran LCD et plus d'informations pour vous aider à comprendre le fonctionnement des écrans LCD.

Boutons

Connectez les quatre boutons à A2-A4 sur le processeur. (J'ai laissé A1 ouvert pour l'entrée du convertisseur A/N, mais je ne l'ai pas utilisé.)

Sur tout type de puce logique, une entrée non connectée flotte haut, ce qui signifie que le processeur verra un 1 sur cette entrée. Pour contrôler cela, vous devez connecter les broches à la terre via une résistance. J'ai câblé les boutons pour qu'ils soient à la terre (à travers la résistance) lorsqu'ils ne sont pas enfoncés, et élevés lorsqu'ils sont enfoncés. Utilisez n'importe quelle résistance de 330 à 1k à cet effet.

Alternativement, et peut-être plus économe en énergie, vous pouvez câbler les boutons pour qu'ils soient élevés lorsqu'ils ne sont pas enfoncés et faibles lorsqu'ils sont enfoncés. Vous devrez changer le code (boutonBus.c) pour rechercher ~PINA au lieu de PINA.

Conseillé: