Innholdsfortegnelse:
Video: Midi Record/Play/Overdub med 5-pinners tilkoblinger: 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
* Bruker en ATMega-1284-brikke som kjører på 8 MHz, med 4 k Bytes RAM og 4 kBytes eeprom
* Bruker de gamle DIN 5-pinners kontaktene
* Tillater innspilling og avspilling, samt overdubbing: innspilling sammen med noe du har spilt inn før.
* Full meny
* Evne til å navngi og lagre en fil i eeprom
* Redigerbare tempoer og tidssignaturer
* Rudimentær kvantisering
Nyttig* Bevis for konsept: du kan synes dette prosjektet er utfordrende.
Hva denne opplæringen inkluderer:
* Deleliste
* Prosjektrapport (vedlagt dette panelet)
Inneholder mye informasjon du trenger å vite om prosjektet
* Lenke til C -koden på GitHub
github.com/sugarvillela/ATMega1284
* Trinn-for-trinn instruksjoner for å bygge prosjektet og tilpasse koden
Trinn 1: Deleliste
Noen deler fikk jeg på skolen med rabatt. Noen fikk jeg i en butikk og betalte for mye. Hvis du har tid, kan du få alt dette online.
1 brødbrett, hvilken som helst modell, omtrent samme størrelse som det på introduksjonsbildet, $ 20
1 mikroprosessor, modell ATMega1284, $ 5
Dette er en allsidig chip med flotte funksjoner. Finn databladet her:
ww1.microchip.com/downloads/en/devicedoc/atmel-42718-atmega1284_datasheet.pdf
1 5-volts strømforsyning
1 ATMEL-IS
Dette er grensesnittet mellom datamaskinen og mikroprosessoren. Du trenger også noen kodebehandlingsprogramvare (en IDE) og en kompilator som kan krysskompilere C til arkitekturen til ATMega-brikken. Atmel tilbyr et miljø, Atmel Studio som oppfyller disse kravene. Last den ned her:
1 optokobling, modell 6N138 eller tilsvarende, $ 5
Dette er for input; midi -standarden krever at enheter isoleres fra hverandre for å forhindre jordsløyfer. Jeg brukte NEC-tilsvarende brikke med identisk pin-out-arrangement. Se bildet ovenfor for informasjon eller bare google '6n138 pinout'. Hvis du bruker en modell med forskjellige pinnetildelinger, finner du de tilsvarende pinnene (nøye).
2 LCD -skjermer, modell 1602A1, $ 3 hver
Jeg brukte 2*16 skjermer, noe som betyr at de har 2 rader, hver 16 tegn bred. Koden er skrevet spesielt for disse, så prøv å bruke de samme. Tilkoblinger er: 8 datalinjer og 2 kontrollinjer. Du kan dele datalinjene mellom de to skjermene, men du trenger to kontrollinjer for hver, totalt 4 kontrolllinjer. Mitt prosjekt bruker buss C for LCD -datalinjer og den øvre nibble av buss D for kontrollinjer. Hvis du kobler din annerledes, endrer du utgangsbussene i koden din.
1 høyttaler
For metronomutgang; enhver høyttaler vil gjøre. Du vil mate den 3-5 volt firkantbølger, så det trenger ikke å høres pent ut. Du kan også koble til en ekstern forsterker.
1 kondensator, for å myke ut firkantbølgen til høyttaleren
2 5-pinners DIN-kontakter, hann eller hunn
Jeg brukte mannlige kabler og koblet dem til brettet. For en mer elegant løsning, bruk hunnkontakter og koble hannkabler til andre enheter. (Husk pin -tallene er bakover, avhengig av hvilken måte du ser på kontakten!)
Motstander, 180-330 Ohm, 1k-10kOhm
Du må kanskje eksperimentere med motstandsverdier for å få optokobleren til å spore inngangen raskt nok
Lysdioder
Designet krever en diode på tvers av opto-isolatorinngangen, men en LED vil gjøre det. Bruk en LED for metronom for å blinke i takt med pipelyden. Ha flere lysdioder tilgjengelig for feilsøkingsutgang hvis du trenger dem.
Ledninger, mange ledninger
20-22 gauge, solide ledninger, lange, korte og bittesmå.
Trinn 2: C -kode
Gå til github for å få koden:
* Sørg for at du leser og forstår koden fordi du kanskje må endre den for å passe til annen maskinvare.
* Prosjektrapporten på intropanelet inneholder detaljerte beskrivelser av programvaremodulene og hvordan de samhandler.
* Ingen kopi-lim inn. Samhandle med koden; eksperiment; omskrive. Du kan sannsynligvis forbedre det.
Trinn 3: Første ledninger (se prosjektfotoet for veiledning)
Notater om prosjektbildet før vi starter
På bildet er optokobleren den siste brikken til høyre, og prosessoren er den store brikken til venstre.
Du vil legge merke til to andre sjetonger i mellom med en haug motstander tilkoblet. Ignorer dem, vær så snill. Det er skiftregistre som ikke brukes i dette prosjektet. Hvis du noen gang har lyst til å legge til et LED -utvalg, vil du finne ut hva de er til for.
Den runde svarte tingen er høyttaleren (en piezo -summer).
Knappene er øverst til venstre. Det er ganske langt fra buss A nederst til høyre på brikken.
LCD -skjermen til venstre er LCD 0. Den til høyre er LCD 1.
I disse instruksjonene antar jeg at du bruker den eksakte delen som er spesifisert (uansett hvor et modellnummer er oppgitt i delelisten).
Koble til strømforsyningen
Brettbrettet har strømskinner rundt kantene og mellom seksjoner. Bruk korte ledninger for å koble dem sammen og koble dem til strømforsyningen. Nå kan du få tilgang til positiv og bakken fra hvor som helst på brettet.
Chips
Installer ATMega Chip, vær forsiktig så du ikke bøyer pinnene (en god forsiktighet for brikker) og sørg for at den sitter helt inn.
Installer optokobleren ved siden av prosessoren.
Koble strømforsyningsskinnene til de riktige pinnene på prosessoren og optokobleren.
LCD -skjermer
Les den medfølgende filen LCDhookup.pdf (nedenfor) for å få hjelp til å koble til en LCD.
Hver skjerm har to strømtilkoblinger og tre jordforbindelser.
Pin 3 er en lysstyrkekontroll som, hvis den er satt feil, vil gjøre skjerminnholdet usynlig. Hvis du har et potensiometer til stede, kan du bruke dette til å justere kontrollspenningen. Du kan også prøve faste motstander for å få spenningen omtrent 1/2 av VCC.
Pins 4 og 6 på LCD 0 kobles til D4 og D5 på prosessoren. Disse brukes til å aktivere og tilbakestille skjermen.
Pins 4 og 6 på LCD 1 kobles til D6 og D7 på prosessoren.
Pins 7-17 på begge LCD-skjermene kobles til C0-C7 på prosessoren. Dette er en delt databuss. Hver skjerm ignorerer dataene til et kontrollsignal kommer inn på pinne 4 og 6.
Les: LCD -informasjon og mer informasjon for å forstå hvordan LCD -skjermene fungerer.
Knapper
Koble de fire knappene til A2-A4 på prosessoren. (Jeg lot A1 stå åpen for A/D -omformerinngang, men brukte den ikke.)
På hvilken som helst type logikkbrikke flyter en ikke -koblet inngang høyt, noe som betyr at prosessoren vil se en 1 på den inngangen. For å kontrollere dette må du koble pins til jord via en motstand. Jeg koblet knappene til å være på bakken (gjennom motstanden) når den ikke ble trykket, og høy når den ble trykket. Bruk hvilken som helst motstand 330 til 1k til dette formålet.
Alternativt, og kanskje mer energieffektivt, kan du koble knappene til å være høye når den ikke trykkes ned og lav når den trykkes. Du må endre koden (buttonBus.c) for å se etter ~ PINA i stedet for PINA.
Anbefalt:
DIY MIDI CONTROLLER USB Plug & Play (UPGRADE NEOPIXEL RING): 12 trinn
DIY MIDI CONTROLLER USB Plug & Play (UPGRADE NEOPIXEL RING): Lidenskapelig MAO og elektronisk musikk, men også å se at det var mulig å lage et personlig Midi -grensesnitt jeg laget mine6 Potensiometre og 12 knapper (av / på), men for å gjøre stedet vanskeligere at det allerede var jeg skulle ønske å legge til visuell indikasjon
Campus -tilkoblinger: 8 trinn
Campus Connections: Problem Statement Slutten av semesteret er ofte en stressende årstid for studentene ved Indiana University da de bekymrer seg over avsluttende eksamener og karakterer. Indiana University tilbyr allerede noen strategier for å lindre stress som Balance at Kelley
Detaljer og tilkoblinger til I2C LCD -adapter: 5 trinn
Detaljer og tilkoblinger til I2C LCD-adapter: I2C lcd-adapter er en enhet som inneholder en mikrokontroller PCF8574-brikke. Denne mikrokontrolleren er en I/O-ekspander, som kommuniserer med andre mikrokontroller-brikker med totrådskommunikasjonsprotokoll. Ved hjelp av denne adapteren kan hvem som helst kontrollere en 16x2
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: 7 trinn (med bilder)
MIDI 5V LED Strip Light Controller for Spielatron eller annen MIDI Synth: Denne kontrolleren blinker trefargede LED stripelys for 50mS per note. Blå for G5 til D#6, rød for E6 til B6 og grønn for C7 til G7. Kontrolleren er en ALSA MIDI -enhet, slik at MIDI -programvare kan mates ut til lysdiodene samtidig som en MIDI -synthenhet
DIY Soft-felt Record Tallerken-matte: 4 trinn
DIY Soft-felt Record Platter-mat: Jeg liker å lytte til vinyl på min "mass-fi" Sanyo-konsollstereo. Det er egentlig ikke så ille stereoanlegg, mange funksjoner, men platespilleren, som andre billige, mangler. I stedet for å ha en fin solid KLUNK når du banker på den, den tynne plastfatet