• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
MIDI oraz toggle switch
#2
witam

Popracowałem trochę nad tym i udało się
Kod:
int in = 5;       //pin z klawiszem
int out = 13;     //dioda na pokladzie arduino

byte commandByte; //odczyt pierwszego bitu (kanal)
byte noteByte;    //odczyt drugiego bitu (rozkaz)
int state = 1;    //stan poczatkowy wyjscia
int reading;      //zmienna czy klawisz nacisniety
int poprzedni = 0; //zmienna zapisujaca stan poprzedni


void setup()
{
Serial.begin(31250);
pinMode(in, INPUT);
pinMode(out, OUTPUT);

}

void loop()
{
reading = digitalRead(in);    
delay(2);                    
 if (reading == 1 && poprzedni == 0)
  {
   if (state == 0)
    state = 1;
   else
    state = 0;
  }
  else if (Serial.available() > 0)
  {
   commandByte = Serial.read();
   noteByte = Serial.read();
   if (commandByte == 192 && noteByte == 127)
    {
     if (state == 0)
      state = 1;
    }
  else if (commandByte == 192 && noteByte == 2)
    {
     if (state == 1)
      state = 0;
    }
  }
digitalWrite(out, state);
poprzedni = reading;

}

działa dokładnie tak jak chciałem, tylko przy szybkim przełączaniu rozkazów midi, nie zawsze zadziała, pomimo że wyśle to nie przełączy, tak jakby arduino za wolne było.

Ma ktoś pomysł co może być problemem ?
 
Odpowiedź
  


Wiadomości w tym wątku
MIDI oraz toggle switch - przez drakston - 27-11-2017, 22:19
RE: MIDI oraz toggle switch - przez drakston - 07-12-2017, 15:46

Skocz do:


Przeglądający: 1 gości