Satura rādītājs:

HX1 -DM - Upcycled Arduino DUE darbināms bungu automāts (izgatavots ar mirušu mašīnu MK2): 4 soļi
HX1 -DM - Upcycled Arduino DUE darbināms bungu automāts (izgatavots ar mirušu mašīnu MK2): 4 soļi

Video: HX1 -DM - Upcycled Arduino DUE darbināms bungu automāts (izgatavots ar mirušu mašīnu MK2): 4 soļi

Video: HX1 -DM - Upcycled Arduino DUE darbināms bungu automāts (izgatavots ar mirušu mašīnu MK2): 4 soļi
Video: q3d quickfit extruder 2024, Novembris
Anonim
Image
Image
Remonts
Remonts

Specifikācijas

  • Hibrīds Midi kontrolieris / bungu iekārta: ar Arduino DUE darbināms!
  • 16 ātruma sensori ar ļoti zemu latentumu 1> ms
  • 8 pogas, kuras lietotājs var piešķirt jebkurai komandai Midi #CC
  • 16 kanālu iebūvēts sekvencētājs (nav nepieciešams dators !!)
  • MIDI ieejas/izejas/caur funkcionalitāti (var izmantot kā USB midi saskarni!)
  • Daļējs MIDI pulksteņa un MTC atbalsts (darbs pie MMC un DAW vadības)

Šis noteikti ir viens no sarežģītākajiem projektiem, pie kuriem esmu strādājis, runājot par 17 izejas maiņu reģistriem, 6 ievades maiņu reģistriem, 2x 16 kanālu multipleksoriem, kas strādā pie shēmas plates. Man nav ne jausmas, kas ir kas un kur, kā arī nekad neesmu sajaucis ar maiņu reģistriem / multipleksoriem pirms ……

Tas sākās kā impulsa izpirkšana eBay, es patiešām gribēju Native Instruments Maschine, jo man vienmēr patika bungu spilventiņi, salīdzinot ar tiem, kas bija man piederošajā MPC studijā, tāpēc, kad eBay ieraudzīju kļūdainu par 40 sterliņu mārciņām, es domāju Es mēģinātu to labot ar sliktāko scenāriju: "Ja es nevaru to labot, man ir Arduino DUE un daži UNO guļ, es vienmēr varētu uzlauzt"

Man vienalga ļoti patīk tie bungu spilventiņi !!!!

Piegādes

1 x bojāta vietējo instrumentu mašīna MK2

1 x Arduino termiņš.

17 x SN74HC595 - 8 bitu izejas maiņu reģistri

6 x SN74HC165 - 8 bitu ievades maiņu reģistri

2 x 74HC4067 - 16 kanālu multipleksori.

2 x 3,2 collu 256x64 OLED displeji.

daži plakani vadi (derēs vecais disketes kabelis)

1. solis: remonts

EBay pārdevējs bija pietiekami laipns, lai aprakstā sniegtu priekšstatu par gaidāmo, un bija noņēmis USB portu. Plātnei bija pārspriegums un tā neieslēdzās. Norādiet multimetru…. Šķita, ka tāfelei ir īss.. "Es pirms tam esmu salabojis neskaitāmas mātesplates ar šortiem. Tātad, cik grūti tas var būt!?!" Izrādījās, ka tas bija pārspriegums (un, iespējams, daļēji tā dēļa dizains), bija izņēmis gandrīz KATRU tāfeles sastāvdaļa, ieskaitot galveno CPU. Šī tāfele bija patiešām sliktā veidā!

Es turpināju raustīt un bāzt ar savu multimetru, nedaudz izpētīju komponentus un sapratu, ko katrs dara, kā arī NI lieliski paveica darbu, lai padarītu lietas diezgan acīmredzamas, izmantojot dažādus testa punktus ap mātesplati.

2. solis: uzlaušana

Hack
Hack
Hack
Hack
Hack
Hack

Zinot, ka man vajadzēs nomainīt visu, kas ir galvenais procesors (kas nebūs vajadzīgs), es pievērsos eBay. Par laimi, viss nepieciešamais bija lēts, tāpēc to pasūtīšana bija jautra. ?

17 x SN74HC595 - 8 bitu izejas maiņu reģistri

17 izvades nobīdes reģistri tiek izmantoti, lai kontrolētu bungu spilventiņa daudzkrāsainās gaismas diodes un visas pogu gaismas diodes (precīzi-136!). Tās ir patiešām viegli lietojamas, un tās ātri atrada bibliotēku, izmantojot Arduino IDE, lai ietaupītu sevi… tie ir savīti kopā ķēdēs.

6 x SN74HC165 - 8 bitu ievades maiņu reģistrs

Šie ievades nobīdes reģistri ir lieliski piemēroti vairākām ieejām 1 kanālā. Kopumā ir 48 pogas.

2 x 74HC4067 - 16 kanālu multipleksori

Mums ir palikuši 16 spilventiņi un 8 pogas, kas arī ir analogās. Man bija vieglāk tos izmantot, jo uz tāfeles bija 8 kanāli, un man bija problēmas atrast, kur savienot datu tapas.. cue spageti junction….

2 x 3,2 collu 256x64 OLED displeji

Tam ir jābūt dažiem ekrāniem !!! Es nevarēju atrast nekādu informāciju oriģinālajos LCD ekrānos, kas tika piegādāti NI mašīnā, un es nevarēju uztraukties, tērējot vairāk laika mēģinājumiem, tāpēc es nolēmu pasūtīt kādu no Ķīnas … Lai to izdarītu, es izmantoju UG8x8 bibliotēku. Jaunie ekrāni bija nedaudz mazāki nekā oriģināli, tāpēc es vienkārši izslēdzu “sliktos gabalus”.

1 x Arduino termiņš

Man tas kādu laiku gulēja, gaidot projektu, kas būtu pietiekami cienīgs visai spēkam !! Man radās problēma. Šķiet, ka dažos šo dēļu pārskatījumos ir atiestatīšanas problēma, kas nozīmēja, ka man reizēm bija jānospiež atiestatīšanas poga, lai pēc skices augšupielādes viss tiktu palaists. To varēja viegli novērst ar 10K rezistoru (par to ir ieraksts Arduino forumā).

3. darbība: kods

Es biju patiesi pārsteigts par to, cik liels atbalsts ir Arduino kopienā, koda piemēru un bibliotēku atrašana dažādām sastāvdaļām bija patiešām vienkārša un vienkārša.

USB midi palaišana un palaišana bija vienkārša un aizņēma dažas minūtes. Gaismas diodes aizņēma kādu laiku, un man bija jāizveido skice, kas pakāpeniski iestatīja katru tapu AUGSTU 1 sekundes intervālos un pierakstīja piezīmi.. Es izveidoju masīvu, kurā bija PIN numuri, lai atvieglotu visu kodēšanu.

Es izveidoju 2 bibliotēkas, lai runātu ar multipleksoriem, viena apstrādā analogos spilventiņus, bet otra - pogas. Atkal tas bija patiešām vienkārši. Es viņiem pievienoju, lūdzu, izmantojiet rediģēšanu utt.

Es gribēju, lai būtu sekvenceris un iespēja ierakstīt bez datora, es atradu informāciju par to, kā pārvērst BPM uz ms, un atradu lielisku Arduino DUE taimera bibliotēku.

Izmantojot taimera bibliotēku, es varēju iestatīt lasīšanas ievadi un lietas intervālos:

Pads @ 1ms - es atklāju, ka tas nodrošina vislabāko līdzsvaru starp atbildes / atlēcienu artefaktiem.

Pogas @ 40ms - es izmantoju rindu bibliotēku, tāpēc neviena prese netika palaista garām.

Apstrāde tiek veikta galvenajā cilpā, jūs nevarat darīt pārāk daudz, ja esat pārtraukumā, jo tas bloķēs Arduino.

Midi stuff @BPM (ms) - secībai, vēlamajā BPM tiek izsaukta funkcija, kas atjaunina, kas atskaņo ETC, un palielina sitienu skaitītāju.

4. solis. Secinājums

Secinājums
Secinājums

Neesmu pārliecināts, ko esmu šeit uztaisījis, bet esmu diezgan lepns, ka spilventiņi lieliski reaģē, man nācās izklaidēties ar laiku, lai panāktu pareizo līdzsvaru ar reaģēšanas un atkāpšanās problēmām. Secība darbojas lieliski, un, kad es izdomāju DAW atbalstu, es varu pilnībā integrēt šo lietu savā darbplūsmā un varu pievienot lietas kontrolierim, kuru es vienmēr esmu vēlējies! Šis bija patiešām jautrs projekts, pie kura strādāt, un lielisks vingrinājums lai saprastu C, izprastu reverso inženieriju un to, kā darbojas multipleksori, maiņu reģistri un MIDI secība. Es turpinu uzlabot galveno kodu un kādu dienu to varētu izlaist kā atvērtā pirmkoda ritma dizainers.

PADOMI:

Es atklāju, kā mainīt DUE USB nosaukumu, rediģējot vienu no galvenes failiem mapē Arduino/SAM.

MIDI-OX ir lielisks rīks Midi funkcionalitātes pārbaudei

SAITES:

www.usb.org/sites/default/files/midi10.pdf - USB MIDI Spechttps://midi.teragonaudio.com/tech/miditech.htm https://guitargearfinder.com/guides/convert-ms -mi… Daži dati par to, kā pārvērst BPM uz ms

travis-ci.com/SMFSW/Queue - Pogas ievadēm, lai nepalaistu garām nevienu nospiešanu!

github.com/olikraus/u8g2/wiki/u8x8referenc… - UG8 lib LED/LCD ekrāniem

github.com/ivanseidel/DueTimer/releases - Arduino DUE Timing lib

www.pjrc.com/teensy/td_libs_Encoder.html - Lielās pogas kodētājs Lib

shiftregister.simsso.de/ - ShiftIn Register lib - Izveidoja Henriks Heine, 2016. gada 24. jūlijs

forum.arduino.cc/index.php?topic=57636.0 - MIDI laika kods

Ieteicams: