Talaan ng mga Nilalaman:

Midi Record / Play / Overdub Sa Mga Koneksyon na 5-Pin: 3 Mga Hakbang
Midi Record / Play / Overdub Sa Mga Koneksyon na 5-Pin: 3 Mga Hakbang

Video: Midi Record / Play / Overdub Sa Mga Koneksyon na 5-Pin: 3 Mga Hakbang

Video: Midi Record / Play / Overdub Sa Mga Koneksyon na 5-Pin: 3 Mga Hakbang
Video: Mixcraft 10 University 101, Lesson 2 - Arming And Recording Tracks 2024, Nobyembre
Anonim
Midi Record / Play / Overdub Sa Mga Koneksyon na 5-Pin
Midi Record / Play / Overdub Sa Mga Koneksyon na 5-Pin

* Gumagamit ng isang ATMega-1284 chip na tumatakbo sa 8 MHz, na may 4 k Bytes ng RAM at 4 kBytes ng eeprom

* Gumagamit ng lumang DIN 5-pin na konektor

* Pinapayagan ang pag-record at pag-playback, pati na rin ang labis na labis: pag-record kasama ang isang bagay na naitala mo dati.

* Buong menu

* Kakayahan ng pagbibigay ng pangalan at pag-iimbak ng isang file sa eeprom

* Maaaring i-edit ang mga tempo at lagda ng oras

* Panimulang dami ng dami

Kapaki-pakinabang * Katunayan ng konsepto: maaari mong hamon ang proyektong ito na mapaghamong.

Ano ang kasama sa tutorial na ito:

* Listahan ng mga bahagi

* Ulat sa Proyekto (Nakalakip sa panel na ito)

Naglalaman ng maraming impormasyon na kailangan mong malaman tungkol sa proyekto

* Mag-link sa C code sa GitHub

github.com/sugarvillela/ATMega1284

* Mga sunud-sunod na tagubilin para sa pagbuo ng proyekto at pag-angkop ng code

Hakbang 1: Listahan ng Mga Bahagi

Listahan ng Mga Bahagi
Listahan ng Mga Bahagi

Ang ilang mga bahagi na nakuha ko sa paaralan sa isang diskwento. Ang ilan ay nakakuha ako sa isang tindahan at nagbayad ng sobra. Kung mayroon kang oras, makuha ang lahat ng ito sa online.

1 Breadboard, anumang modelo, halos pareho ang laki sa nasa pambungad na larawan, $ 20

1 Microprocessor, modelo ng ATMega1284, $ 5

Ito ay isang maraming nalalaman chip na may mahusay na mga tampok. Hanapin ang sheet ng data dito:

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

1 5-Volt Power Supply

1 ATMEL-ICE

Ito ang interface sa pagitan ng iyong computer at ng microprocessor. Kailangan mo rin ng ilang software sa pag-edit ng code (isang IDE) at isang tagatala na maaaring mag-cross-compile ng C sa arkitektura ng ATMega chip. Nagbibigay ang Atmel ng isang kapaligiran, Atmel Studio na nakakatugon sa mga kinakailangang ito. I-download ito dito:

1 Opto-coupler, modelo 6N138 o katumbas, $ 5

Ito ay para sa input; hinihiling ng pamantayang midi na ang mga aparato ay ihiwalay sa bawat isa upang maiwasan ang mga ground loop. Ginamit ko ang katumbas na chip ng NEC na may magkatulad na pag-aayos ng pin-out. Tingnan ang larawan sa itaas para sa impormasyon o mag-google '6n138 pinout' lamang. Kung gumagamit ka ng isang modelo na may iba't ibang mga takdang-aralin sa pin, hanapin ang kaukulang mga pin (maingat).

2 LCD Screens, Model 1602A1, $ 3 bawat isa

Gumamit ako ng 2 * 16 na ipinapakita, nangangahulugang mayroon silang 2 mga hilera, bawat lapad ng 16 na character. Partikular na nakasulat ang code para sa mga ito, kaya subukang gumamit ng pareho. Ang mga koneksyon ay: 8 mga linya ng data at 2 linya ng kontrol. Maaari mong ibahagi ang mga linya ng data sa pagitan ng dalawang mga screen, ngunit kailangan mo ng 2 mga linya ng kontrol para sa bawat isa, para sa isang kabuuang 4 na mga linya ng kontrol. Gumagamit ang aking proyekto ng bus C para sa mga linya ng data ng LCD at sa itaas na nibble ng bus D para sa mga linya ng kontrol. Kung iba ang kawad mo sa iyo, palitan ang mga output bus sa iyong code.

1 Tagapagsalita

Para sa metronome output; kahit anong tagapagsalita ay gagawin. Pakainin mo ito ng 3-5 volt square square, kaya't hindi ito kailangang maganda ang tunog. Maaari ka ring kumonekta sa isang panlabas na amplifier.

1 Capacitor, upang mapahina ang parisukat na output ng alon sa nagsasalita

2 5-Pin DIN Connectors, lalaki o babae

Gumamit ako ng mga lalaking kable at pinatigas ang mga ito sa pisara. Para sa isang mas matikas na solusyon, gumamit ng mga babaeng konektor at ikonekta ang mga lalaking kable sa iba pang mga aparato. (Tandaan ang mga numero ng pin ay paatras depende sa kung aling paraan ka tumingin sa konektor!)

Mga lumalaban, 180-330 Ohm, 1k-10kOhm

Maaaring kailanganin mong mag-eksperimento sa mga halaga ng risistor upang makuha ang opto-coupler upang subaybayan ang pag-input nang mabilis

Mga LED

Ang disenyo ay tumatawag para sa isang diode sa kabuuan ng opto-isolator input, ngunit isang LED ang gagawin. Gumamit ng isang LED para sa metronome, upang magpikit sa oras gamit ang beeping speaker. Mayroong higit pang mga LED sa kamay para sa pag-debug ng output kung kailangan mo sila.

Mga wire, maraming wires

20-22 gauge, solidong wires, mahaba, maikli at maliit.

Hakbang 2: C Code

Pumunta sa github upang makuha ang code:

* Tiyaking nabasa at naintindihan mo ang code dahil maaaring kailanganin mong baguhin ito upang magkasya sa iba't ibang mga hardware.

* Ang ulat ng proyekto sa panel ng intro ay naglalaman ng detalyadong mga paglalarawan ng mga module ng software at kung paano sila nakikipag-ugnayan.

* Walang copy-paste. Makipag-ugnay sa code; eksperimento; muling pagsusulat. Marahil maaari mong pagbutihin ito.

Hakbang 3: Paunang Kable (Sumangguni sa Larawan ng Proyekto para sa Patnubay)

Paunang Kable (Sumangguni sa Larawan ng Proyekto para sa Patnubay)
Paunang Kable (Sumangguni sa Larawan ng Proyekto para sa Patnubay)
Paunang Kable (Sumangguni sa Larawan ng Proyekto para sa Patnubay)
Paunang Kable (Sumangguni sa Larawan ng Proyekto para sa Patnubay)

Mga tala tungkol sa larawan ng proyekto bago kami magsimula

Sa larawan ang opto-coupler ay ang huling chip sa kanan, at ang processor ay ang malaking chip sa kaliwa.

Mapapansin mo ang dalawang iba pang mga chips sa pagitan ng isang bungkos ng resistors na konektado. Huwag pansinin ang mga ito mangyaring. Iyon ang mga shift register, na hindi ginagamit sa proyektong ito. Kung nais mong magdagdag ng isang LED array, malalaman mo kung para saan sila.

Ang bilog na itim na bagay ay ang nagsasalita (isang piezo buzzer).

Ang mga pindutan ay kaliwa sa itaas. Medyo malayo iyon sa bus A sa kanang-ibabang chip.

Ang LCD screen sa kaliwa ay LCD 0. Ang isa sa kanan ay LCD 1.

Sa mga tagubiling ito, ipagpapalagay ko na gumagamit ka ng eksaktong bahagi na tinukoy (kung saan ang isang numero ng modelo ay ibinibigay sa listahan ng mga bahagi).

Wire ang power supply

Ang breadboard ay may riles ng kapangyarihan sa paligid ng mga gilid at sa pagitan ng mga seksyon. Gumamit ng mga maiikling wire upang maiugnay ang lahat ng mga ito, at upang ikonekta ang mga ito sa suplay ng kuryente. Ngayon ay maaari mong ma-access ang positibo at ground mula sa kahit saan sa board.

Mga Chip

I-install ang ATMega Chip, maging maingat na hindi yumuko ang mga pin (isang mahusay na pag-iingat para sa anumang maliit na tilad) at tiyakin na nakaupo ito.

I-install ang opto-coupler na katabi ng processor.

I-wire ang mga riles ng power supply sa mga naaangkop na mga pin sa processor at opto-coupler.

Mga LCD

Basahin ang kasama na file na LCDhookup.pdf (sa ibaba) para sa tulong sa pagkonekta ng isang LCD.

Ang bawat screen ay may dalawang mga koneksyon sa kuryente at tatlong mga koneksyon sa lupa.

Ang Pin 3 ay isang kontrol sa kaliwanagan na, kung mali ang itinakda, gagawing hindi nakikita ang mga nilalaman ng screen. Kung mayroon kang madaling gamiting potentiometer, gamitin ito upang ayusin ang boltahe ng kontrol. Maaari mo ring subukan ang mga nakapirming resistors, upang makuha ang boltahe tungkol sa 1/2 ng VCC.

Ang mga pin 4 at 6 sa LCD 0 ay kumonekta sa D4 at D5 sa processor. Ginagamit ang mga ito upang paganahin at i-reset ang screen.

Ang mga pin 4 at 6 sa LCD 1 ay kumonekta sa D6 at D7 sa processor.

Ang mga pin na 7-17 sa parehong mga LCD ay kumonekta sa C0-C7 sa processor. Ito ay isang nakabahaging data bus. Hindi papansinin ng bawat screen ang data hanggang sa dumating ang isang signal ng kontrol sa pin 4 at 6.

Basahin: Impormasyon sa LCD at higit pang impormasyon upang matulungan na maunawaan kung paano gumagana ang mga LCD screen.

Mga Pindutan

Ikonekta ang apat na mga pindutan sa A2-A4 sa processor. (Iniwan kong bukas ang A1 para sa input ng A / D converter, ngunit hindi ito ginamit.)

Sa anumang uri ng logic chip, ang isang hindi nakakonektang input ay lumutang nang mataas, nangangahulugang makikita ng processor ang isang 1 sa input na iyon. Upang makontrol ito, kailangan mong ikonekta ang mga pin sa lupa sa pamamagitan ng isang risistor. I-wire ko ang mga pindutan na nasa lupa (sa pamamagitan ng risistor) kapag hindi pinindot, at mataas kapag pinindot. Gumamit ng anumang risistor 330 hanggang 1k para sa hangaring ito.

Bilang halili, at marahil mas mahusay sa lakas, maaari mong i-wire ang mga pindutan upang maging mataas kapag hindi pinindot at mababa kapag pinindot. Kakailanganin mong baguhin ang code (buttonBus.c) upang hanapin ang ~ PINA sa halip na PINA.

Inirerekumendang: