MIDI tipka

Napiši odgovor

Potrditvena koda
Vtipkaj kodo, ki jo vidiš na sliki. Vse črke so male, ničle ni.
Smeški
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o [-X [-o<
Več smeškov

BBCode je vključena
[img] je vključen
[url] je vključen
Smeški so vključeni

Preglej temo
   

Razširi pogled Preglej temo: MIDI tipka

MIDI tipka

Napisal/-a Milenko » Če Apr 02, 2020 8:43 pm

Vikend projekt:Izdelava MIDI MISW-01 tipke/testerja. Moja komanda je CC27,na kanalu 2.

Včasih pri DAW-u potrebujemo tipko s katero bomo vključili ali izključili nekatere funkcije.Ker ima večina naprav MIDI vhod/izhod enostavno to rešimo z MIDI tipko.
Sami si bomo programirali uC,zadošča mali 8 bitni atmega328 in arduino IDE.Ker bomo tipko uporabljali prižigali s stopalom je dobro,da je v kovinskem ohišju.
-naprej bomo izdelali vezje na ploščico
-programiramo Arduino (sam sem uporabil nano verzijo),naloženo moramo imeti MIDI.h knjižnico

Koda: Izberi vse

#include <MIDI.h>

// Button variables
int buttonVal = 0; // value read from button
int buttonPlay = 3;     // pin D3 Predvajaj
int ledPin = 13; // ledika
 
 // Created and binds the MIDI interface to the default hardware Serial port
 MIDI_CREATE_DEFAULT_INSTANCE();

 void setup()
 {
     MIDI.begin(MIDI_CHANNEL_OMNI);  // Listen to all incoming messages
     //postavitev tipke
     pinMode(buttonPlay, INPUT);
     digitalWrite(buttonPlay,HIGH);

     // initialize the LED pin as an output:
     pinMode(ledPin, OUTPUT);
     
 }

 void loop()
 {     
     // Read the state of the button
     buttonVal = digitalRead(buttonPlay);

     // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonVal == LOW) {
    // play&turn LED on:
    play();
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
  }

     
     // Read incoming messages
     //MIDI.read();
 }

 void play()
{
  // Send CC 27 with velocity 127 & 0 on channel 2
     MIDI.sendControlChange(27, 127, 2); 
     delay (2000);
     //MIDI.sendControlChange(27, 0, 2); 
     
}
-preizkusimo ga lahko s programom MIDI-O X http://www.midiox.com/
-če vse deluje ok,sledi vgradnja v ohišje
-lahko si izdelamo tudi vezje na tiv ploščico: http://www.audiologs.com/MIDI-tester/DE ... tester.zip
-uporabimo masivno tipko, zaradi robustnosti mora vzdržati večje pritiske
-za tipko lahko izdelamo tudi uporo, da se ob uporabi ne zlomi
-ko smo vse sestavili še zalijemo z vročim lepilom
-uporabimo lahko 9V/300mA adpater,ali kakšen podoben,vezje ni velik potrošnik

Sam sem uporabil komando CC27 vrednost 127 na drugem kanalu:

MIDI.sendControlChange(27, 127, 2);

MIDI komando lahko spremenite glede na vaše zahteve,ena tipka ima lahko tudi dve funkciji,daljši pritisk pritisk tipke je lahko druga komanda.
Vezje lahko vgradite tudi v drugo ohišje,kaj vam leži doma.

seznam MIDI kontrolerjev:

http://www.audiologs.com/MIDI-tester/MI ... rs_AL.html

več fotk:

tukaj

Na vrh