Tartalomjegyzék:

Az X-box Rock Band dobjait midi önálló elektronikus dobokká alakíthatja: 4 lépés (képekkel)
Az X-box Rock Band dobjait midi önálló elektronikus dobokká alakíthatja: 4 lépés (képekkel)

Videó: Az X-box Rock Band dobjait midi önálló elektronikus dobokká alakíthatja: 4 lépés (képekkel)

Videó: Az X-box Rock Band dobjait midi önálló elektronikus dobokká alakíthatja: 4 lépés (képekkel)
Videó: Bow Wow Bill and Jay Jack Talk Dog 2024, Július
Anonim

Szerencsém volt, hogy használt x-box dobkészletet kaptam, kissé durva formában van, és nincs lapát, de semmi, amit nem lehet megjavítani. Önálló elektromos dobkészletté alakítom. Az analóg érték leolvasása a piezo szenzorból, és MIDI parancsokká alakítása.

A jelenlegi hardver az RPI-Zero-ból, az mcp3008-ból áll, amely az eredeti piezo szenzorokhoz van csatlakoztatva a beállított dobokon.

Kellékek

MCP3008 + IC aljzat x-box dobkészlet, vagy 5 piezo valamilyen felületre szerelve. rpi zerousb hangkártya rpisimple erősített hangszórók néhány vezeték és PCB. 6 10M ohmos ellenállás és néhány férfi fejléc a piez csatlakozóhoz

1. lépés: Készítse elő a piezo érzékelőt

Image
Image

Először vettem egy részt, és megtaláltam az összes piezo -érzékelőt, kábelezést, és létrehoztam egy táblát 1M ellenállással minden piezo 2 vezetéke között.

A Cymbal érdekes extra áramkörrel bírt. Vettem egy részt, és csak az érzékelőt hagytam. Szeretném, ha egyszer kiderülne, mi az áramkör kimenete, A tesztelés és a munka ezen része az arduino uno -n történt.

2. lépés: Írjon be néhány kódot

Kicsit javítottam az x-dobozt, javítva az összes törött alkatrészt. Eltávolították a széteső betéteket.

És végül kaptam egy kódot, amely elég jól működik a gyerekem számára - még nem tökéletes.

Az eredeti kód, amelyet használni akartam, és az, amely segített az enyém kidolgozásában, ez ahttps://github.com/evankale/ArduinoMidiDrums

de amikor dolgoztam rajta, rájöttem, hogy a küldését követően azonnal leállítja a midi jegyzetet. ami rendben van, ha számítógépen játszik, erre a kódra való, de nem olyan nagyszerű, ha valóban midi hangot szeretne játszani.

A kódot letöltheti a mellékelt fájlból - vegye figyelembe, hogy 4 van.

Hozzáadtam egy igazi klassz funkciót is, amely lehetővé teszi, hogy kiválassza az egyes billentyűzetek jegyzeteit, sőt elmenti a beállításokat az EEPROM -ban.

és a videóban említett 3 szoftver a loopbe1, a szőrtelen midi soros híd és a VMPK

A következő nagy lépés az, hogy egy málna pi -n dolgozzon.

3. lépés: Működtesse a Raspberry Pi -t

Image
Image

Miután majdnem feladtam a projektet, néhány helyen ismét megkérdeztem, és egy olyan cikkhez irányítottam, amely a helyes utat választotta nekem, ami folyékony.

Jó néhány órát töltök, hogy működjön, és végül sikerült. A fő probléma az volt, hogy midi dolgozzon az Rpi -n. Ehhez a nagyszerű bemutató segítségével telepítettem a fluidsynth -t

sandsoftwaresound.net/qsynth-fluidsynth-ras…

Beállítom az Arduino -t, hogy soros parancsokat küldjön, majd hallgatom őket a python serial segítségével a málnán, és elküldöm a midinek a fluidsynth -en keresztül.

Még egy megfelelő sf2 fájlt is sikerült letöltenem a dobokhoz.

Amint láthatja, Kesem szereti. Az arduino ugyanazt a kódot használta, és az rpi -hez írtam a mellékelt kódot, nem tudtam csatolni az sf2 fájlokat - de könnyen megtalálhatók a Google segítségével.

4. lépés: Állítsa egyedül

Legyen egyedül
Legyen egyedül
Legyen egyedül
Legyen egyedül

A legnagyobb lépés annak érdekében, hogy önállóan működjön, az arduino eltávolítása volt, és megpróbálta egy kicsit gyorsabban működni. észrevehető rések voltak a "sláger" és a midin lejátszott hang között. Tehát ahhoz, hogy megszabaduljak az arduino -tól, szükségem volt egy analóg alternatívára, és itt jött segítségre az mcp3008. a képeken látható, hogy kitörési táblát készítettem hozzá, a videóban pedig a lépések minden részlete megtalálható. Az mcp3008 a spi -t használja a kommunikációhoz, én pedig összekötöttem a 2 -es és kevés tesztet, az adafruitnak nagyszerű könyvtára van az mcp3008 -hoz a python számára. Ismét utasítások a videóban. Mérete miatt rpi nullát használtam, és hozzáadtam egy külső usb hangkártyát, a hangkimenetet. Egy egyszerű hangszórót használtam beépített erősítővel a hang lejátszásához. Az aktuális kód is csatolva van, és az rpi -n fut saját maga és a szolgáltatásként beállítva, így betöltéskor futni fog. Egy igazán jó funkció, amit hozzáadtam, az volt, hogy csatlakoztatom a dobozon lévő kis reset gombot, és ezzel leállítom a rendszert, mivel képernyő nélkül futok. A jelenlegi kód még nem tökéletes, és továbbra is próbálok javítani, és egyre jobb vagyok, úgyhogy ha van ötlete, hogy még jobban működjön, amikor a midi -ről van szó - szívesen meghallgatnám.

Ajánlott: