MIDI oraz toggle switch - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: MIDI oraz toggle switch (/watek-midi-oraz-toggle-switch) |
MIDI oraz toggle switch - drakston - 27-11-2017 witam Zaznaczam że jestem bardzo początkującym adeptem programowania Potrzebuję stworzyć teoretycznie prosty program który ma jedno wyjście z arduino ustawiać w stan logicznego 0 lub 1 , na zasadzie toggle za pomoca zwykłego switcha monostabilnego oraz komunikatów midi. kod zwykłego przełączania stanu wyjścia za pomocą jednego przycisku mam napisane i rozumiem Kod: int inPin = 5; Obsługę samego midi również opanowałem, przy otrzymaniu komunikatu program change 1 na kanale 1, ustawiam wyjscie w stan "1", gdy otrzymam komunikat program change 2 na kanale 1 - ustawiam stan wyjścia na "0" Kod: byte commandByte; Problem mam teraz jak napisać program który łączy midi i zwykłęgo switcha monostabilnego. Ma to działać tak: Odpalamy program i na starcie stan wyjścia = 1 jeśli nacisnę przycisk - stan wyjścia = 0 jeśli ponownie nacisnę - stan wyjścia = 1 teraz jeśli przyjdzie komunikat midi program change 1 - stan wyjścia = 1 czyli dalej taki jaki był jeśli nacisnę przycisk - stan wyjścia = 0 jeśli przyjdzie ponownie komunikat midi program change 1 - stan wyjścia = 1 jeśli przyjdzie komunikat midi program change 2 - stan wyjścia = 0 jeśli teraz nacisnę przycisk - stan wyjścia = 1 po prostu działanie na zasadzie toggle... Mam nadzieję że zrozumiale napisałem Próbuje coś sensownego sklecić ale albo błedy wywala albo nie działa. Można prosić kogoś o pomoć? albo nakierowanie jak to zrobić... pozdrawiam RE: MIDI oraz toggle switch - drakston - 07-12-2017 witam Popracowałem trochę nad tym i udało się Kod: int in = 5; //pin z klawiszem 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 ? |