Inhoudsopgave:

Midi Record/Play/Overdub met 5-pins aansluitingen - Ajarnpa
Midi Record/Play/Overdub met 5-pins aansluitingen - Ajarnpa

Video: Midi Record/Play/Overdub met 5-pins aansluitingen - Ajarnpa

Video: Midi Record/Play/Overdub met 5-pins aansluitingen - Ajarnpa
Video: FL Studio: How to record in MIDI 2024, November
Anonim
Midi opnemen/afspelen/overdub met 5-pins aansluitingen
Midi opnemen/afspelen/overdub met 5-pins aansluitingen

* Gebruikt een ATMega-1284-chip die draait op 8 MHz, met 4 k Bytes RAM en 4 kBytes eeprom

* Gebruikt de oude DIN 5-pins connectoren

* Maakt opnemen en afspelen mogelijk, evenals overdub: opnemen samen met iets dat u eerder hebt opgenomen.

* Volledig menu

* Mogelijkheid om een bestand een naam te geven en op te slaan in eeprom

* Bewerkbare tempo's en maatsoorten

* Rudimentaire kwantisatie

Nut* Proof of concept: misschien vind je dit project een uitdaging.

Wat houdt deze tutorial in:

* Onderdelen lijst

* Projectrapport (bijgevoegd aan dit paneel)

Bevat veel informatie die u moet weten over het project

* Link naar de C-code op GitHub

github.com/sugarvillela/ATMega1284

* Stapsgewijze instructies voor het bouwen van het project en het aanpassen van de code

Stap 1: Onderdelenlijst

Onderdelen lijst
Onderdelen lijst

Sommige onderdelen kreeg ik op school met korting. Sommige heb ik in een winkel gekocht en te veel betaald. Als je tijd hebt, kun je dit allemaal online krijgen.

1 Breadboard, elk model, ongeveer even groot als die op de introductiefoto, $ 20

1 microprocessor, model ATMega1284, $ 5

Dit is een veelzijdige chip met geweldige functies. Vind hier de datasheet:

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

1 5-volt voeding

1 ATMEL-IJS

Dit is de interface tussen uw computer en de microprocessor. Je hebt ook wat code-editing software (een IDE) en een compiler nodig die C kan cross-compileren naar de architectuur van de ATMega-chip. Atmel zorgt voor een omgeving, Atmel Studio, die aan deze eisen voldoet. Download het hier:

1 Opto-coupler, model 6N138 of gelijkwaardig, $ 5

Dit is voor de invoer; de midi-standaard vereist dat apparaten van elkaar worden geïsoleerd om aardlussen te voorkomen. Ik gebruikte de NEC-equivalente chip met identieke pin-out-opstelling. Zie de foto hierboven voor info of google gewoon '6n138 pinout'. Als je een model met verschillende pintoewijzingen gebruikt, zoek dan (voorzichtig) de bijbehorende pins op.

2 LCD-schermen, model 1602A1, $ 3 per stuk

Ik heb 2*16 schermen gebruikt, wat betekent dat ze 2 rijen hebben van elk 16 tekens breed. De code is speciaal hiervoor geschreven, dus probeer dezelfde te gebruiken. Aansluitingen zijn: 8 datalijnen en 2 stuurlijnen. U kunt de datalijnen tussen de twee schermen delen, maar u hebt voor elk 2 controlelijnen nodig, voor een totaal van 4 controlelijnen. Mijn project gebruikt bus C voor LCD-datalijnen en de bovenste nibble van bus D voor stuurlijnen. Als u de uwe anders bedraden, wijzigt u de uitgangsbussen in uw code.

1 luidspreker

Voor metronoomuitgang; elke spreker zal doen. Je voedt het 3-5 volt blokgolven, dus het hoeft niet mooi te klinken. U kunt ook een externe versterker aansluiten.

1 condensator, om de blokgolfuitgang naar de luidspreker te verzachten

2 5-pins DIN-connectoren, mannelijk of vrouwelijk

Ik heb mannelijke kabels gebruikt en ze op het bord aangesloten. Gebruik voor een elegantere oplossing vrouwelijke connectoren en sluit mannelijke kabels aan op andere apparaten. (Vergeet niet dat de pinnummers achterwaarts zijn, afhankelijk van de manier waarop u naar de connector kijkt!)

Weerstanden, 180-330 Ohm, 1k-10kOhm

Mogelijk moet u experimenteren met weerstandswaarden om de opto-coupler de invoer snel genoeg te laten volgen

LED's

Het ontwerp vereist een diode over de opto-isolator-ingang, maar een LED is voldoende. Gebruik een LED voor de metronoom, om op tijd te knipperen met de piepende luidspreker. Houd meer LED's bij de hand voor het debuggen van output als je ze nodig hebt.

Draden, veel draden

20-22 gauge, massieve draden, lang, kort en klein.

Stap 2: C-code

Ga naar github om de code te krijgen:

* Zorg ervoor dat u de code leest en begrijpt, want het kan zijn dat u deze moet aanpassen aan andere hardware.

* Het projectrapport op het intropaneel bevat gedetailleerde beschrijvingen van de softwaremodules en hun interactie.

* Geen copy-paste. Interactie met de code; experiment; herschrijven. Je kunt het waarschijnlijk verbeteren.

Stap 3: Eerste bedrading (raadpleeg de projectfoto voor begeleiding)

Initiële bedrading (raadpleeg de projectfoto voor richtlijnen)
Initiële bedrading (raadpleeg de projectfoto voor richtlijnen)
Initiële bedrading (raadpleeg de projectfoto voor richtlijnen)
Initiële bedrading (raadpleeg de projectfoto voor richtlijnen)

Opmerkingen over de projectfoto voordat we beginnen

Op de foto is de opto-coupler de laatste chip aan de rechterkant, en de processor is de grote chip aan de linkerkant.

Je ziet twee andere chips ertussen met een aantal weerstanden aangesloten. Negeer ze alstublieft. Dat zijn schuifregisters, die in dit project niet worden gebruikt. Als je ooit zin hebt om een LED-array toe te voegen, zul je ontdekken waar ze voor dienen.

Het ronde zwarte ding is de speaker (een piëzozoemer).

De knoppen zijn linksboven. Dat is vrij ver van bus A rechtsonder op de chip.

Het LCD-scherm aan de linkerkant is LCD 0. Het scherm aan de rechterkant is LCD 1.

In deze instructies ga ik ervan uit dat u het exacte gespecificeerde onderdeel gebruikt (overal waar een modelnummer wordt gegeven in de onderdelenlijst).

Sluit de voeding aan

Het breadboard heeft stroomrails rond de randen en tussen secties. Gebruik korte draden om ze allemaal met elkaar te verbinden, en om ze op de voeding aan te sluiten. Nu heb je overal op het bord toegang tot positive en ground.

Chips

Installeer de ATMega-chip, zorg ervoor dat u de pinnen niet buigt (een goede waarschuwing voor elke chip) en zorg ervoor dat deze er helemaal in zit.

Installeer de opto-coupler naast de processor.

Sluit de voedingsrails aan op de juiste pinnen op de processor en de opto-coupler.

LCD's

Lees het meegeleverde bestand LCDhookup.pdf (hieronder) voor hulp bij het aansluiten van een LCD.

Elk scherm heeft twee stroomaansluitingen en drie aardaansluitingen.

Pin 3 is een helderheidsregeling die, indien verkeerd ingesteld, de scherminhoud onzichtbaar maakt. Als je een potmeter bij de hand hebt, gebruik deze dan om de stuurspanning in te stellen. Je kunt ook vaste weerstanden proberen om de spanning ongeveer 1/2 van VCC te krijgen.

Pins 4 en 6 op LCD 0 verbinden met D4 en D5 op de processor. Deze worden gebruikt om het scherm in te schakelen en te resetten.

Pins 4 en 6 op LCD 1 verbinden met D6 en D7 op de processor.

Pins 7-17 op beide LCD's verbinden met C0-C7 op de processor. Dit is een gedeelde databus. Elk scherm negeert de gegevens totdat er een stuursignaal binnenkomt op pin 4 en 6.

Lees: LCD-info en meer informatie om te helpen begrijpen hoe de LCD-schermen werken.

Toetsen

Sluit de vier knoppen aan op A2-A4 op de processor. (Ik liet A1 open voor input van de A/D-converter, maar gebruikte het niet.)

Op elk type logische chip zweeft een niet-aangesloten ingang hoog, wat betekent dat de processor een 1 op die ingang ziet. Om dit te regelen, moet u pinnen via een weerstand met aarde verbinden. Ik heb de knoppen op aarde aangesloten (via de weerstand) als ze niet worden ingedrukt en hoog als ze worden ingedrukt. Gebruik hiervoor een willekeurige weerstand van 330 tot 1k.

Als alternatief, en misschien energiezuiniger, kunt u de knoppen bedraden om hoog te zijn wanneer ze niet worden ingedrukt en laag wanneer ze worden ingedrukt. U moet de code (buttonBus.c) wijzigen om te zoeken naar ~PINA in plaats van PINA.

Aanbevolen: