Website

Midi shield: beide potmeters werken

Sunday, December 16, 2012
Midi shield: beide potmeters werkenLike0

Zie hier het resultaat:

[youtube clip_id=Q2t1RKGtsfY]

De sketch stuurt nu voor beide meters continu midi data door. Het is natuurlijk beter om alleen data door te sturen indien er daadwerkelijk aan de knop gedraaid wordt. Dat komt nog.

Interessant is dat pitch en modulatie heel anders werken in MIDI.
Voor pitch zeg je “doe mij maar pitch (0xE0), 0, waarde.

Voor modulatie zeg je “doe mij maar een controller (0xb0), namelijk de modulatie coarse (0x01, fine is 0x33) en wel met de volgende waarde. Het duurde even voor ik daar achter was, maar deze link gaf mij het antwoord:

http://home.roadrunner.com/~jgglatt/tech/midispec/ctllist.htm

Voor geïnteresseerden, hier de geüpdatet sketch, gebruikt in de Youtube video:

// SparkFun MIDI Shield and MIDI Breakout test code
// Defines bare-bones routines for sending and receiving MIDI data
// Written 02/16/10
// Modified by Lucas van Tol @ 16-12-2012

// defines for MIDI Shield components only
#define KNOB1  0                        // Definieer draaiknop 1
#define KNOB2  1                        // Definieer draaiknop 2

#define BUTTON1  2                      // Definieer drukknop 1
#define BUTTON2  3                      // Definieer drukknop 2
#define BUTTON3  4                      // Definieer drukknop 3

#define STAT1  7                        // Definieer STAT1 als led output op shield
#define STAT2  6                        // Definieer STAT2 als led output op shield

byte note1;                              // Definieer midi note
byte note2;                              // Definieer midi note
byte velocity;                          // Definieer midi velocity
int pot1;                                // Definieer potentiometer (pin A0)
int pot2;

void setup() {

pinMode(STAT1,OUTPUT);              // Pin 7 is vanaf nu een output.
pinMode(STAT2,OUTPUT);              // Pin 6 is vanaf nu een output.

pinMode(BUTTON1,INPUT);              // Drukknop 1 op pin 2 is nu een input.
pinMode(BUTTON2,INPUT);              // Drukknop 2 op pin 3 is nu een input.
pinMode(BUTTON3,INPUT);              // Drukknop 3 op pin 4 is nu een input.

digitalWrite(BUTTON1,HIGH);          // Schrijf de waarde HIGH naar drukknop 1
digitalWrite(BUTTON2,HIGH);          // Schrijf de waarde HIGH naar drukknop 2
digitalWrite(BUTTON3,HIGH);          // Schrijf de waarde HIGH naar drukknop 3

for(int i = 0;i < 10;i++)             // Knipper MIDI Shield LED’s tijdens het opstarten
{
digitalWrite(STAT1,HIGH);          // HIGH betekent: LED UIT
digitalWrite(STAT2,LOW);           // LOW betekent: LED AAN
delay(100);
digitalWrite(STAT1,LOW);
digitalWrite(STAT2,HIGH);
delay(100);
}
digitalWrite(STAT1,HIGH);             // Zet uiteindelijk beide LEDjes uit
digitalWrite(STAT2,HIGH);

Serial.begin(31250);                  // Baudrate voor MIDI moet 31250 zijn
}

void loop () {

//*************** MIDI OUT ***************//

pot1 = analogRead(0);                                        // pot = analoge waarde uitlezing van pin 0   (tussen 0 – 1023)
note1 = 127-(pot1/8);                                         // mappen naar 0-127 en draairichting knop omdraaien

Midi_Send(0xE0,note1,note1);                                // Stuur midi commando
delay(15);

pot2 = analogRead(1);
note2 = 127-(pot2/8);                                         // mappen naar 0-127 en draairichting knop omdraaien

Midi_Send(0xB0,0x01,note2);                                // 0xB0=Stuur Controller, 0x01=Modulation coarse (0x33 is fine)
delay(15);

}

void Midi_Send(byte cmd, byte data1, byte data2) {
Serial.print(cmd, BYTE);
Serial.print(data1, BYTE);
Serial.print(data2, BYTE);
}

char button(char button_num)
{
return (!(digitalRead(button_num)));
}

 

 

 

 

0

Leave a Reply

Your email address will not be published.

Follow @ Guerrilla Games
  • Aloy and some of her allies

Art 🎨 by @travismcouch

#FanArtFriday #HorizonZeroDawn
  • Aloy and Talanah, ready to take on Redmaw!

Aloy cosplay by @veera.cosplay
Talanah cosplay by @jgmycroft
Photography by @cyrenscosmedia

#horizonzerodawn #cosplay #horizoncosplay #aloy #aloycosplay #talanahcosplay
  • The detail on this Watcher is amazing! #FanArtFriday #HorizonZeroDawn 🎨 by SilverScythe89 on DeviantArt
  • If you saw our anniversary post on the PlayStation Blog, you might have already spotted this impressive Shield-Weaver cosplay by @keyvei – she even made a Banuk figurine! 📸 by @nerina_phototography

#horizonzerodawn #cosplay #aloy #aloycosplay #shieldweaver #banuk
  • Choro Choi from our concept art team created this beautiful scene of Aloy and her friends to celebrate #InternationalWomensDay 💜

You can download it as a theme for your PS4, the link is in our bio
  • Happy International Women's Day from our team at Guerrilla!

#IWD2019 #InternationalWomensDay
  • Today we're celebrating the second anniversary of Horizon Zero Dawn, with cupcakes and a colourful cake from our friends at @pubg 🎂

Thank you all for the continued support ♥
  • Marius (@steponabrick) dropped by the studio yesterday to deliver his amazing builds of the Corruptor, Shell-Walker, Sawtooth and a little Watcher!

They will get a nice spot in @hermenhulst's office, thank you Marius!

#horizonzerodawn