Матричная клавиатура (трехзначные кейсы)

Здравствуйте, нужна помощь в доработке скетча матричной клавиатуры.
Я уже сделал МИДИ контроллер на клавиатуре (с дисплеем) для управления DAW, где каждая клавиша МК отправляет свое миди сообщение.
Очень нужен контроллер для смены пресетов на Цифровом Пианино, для этого мне нужно вводить трехзначные цифры и в “кейсах” отправлять требуемые PC команды.
Пример скетча (обрезан для простоты).

#include <MIDI.h>

MIDI_CREATE_DEFAULT_INSTANCE();

#include <Keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the kpd
byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the kpd
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup()
{
  Serial.begin(31250);
  MIDI.begin (MIDI_CHANNEL_OMNI);
}

void loop()
{

  char key = kpd.getKey();

  if (key) // Check for a valid key.

  {

    switch (key)

    {

      case '1':
        MIDI.sendControlChange(20, 127, 1);
        break;

      case '2':
        MIDI.sendControlChange(21, 127, 1);
        break;

      case '3':
        MIDI.sendControlChange(22, 127, 1);
        break;

    }

  }

}

Нужно что бы после ввода третьего числа, сразу (без подтверждения) срабатывал кейс введенного числа.
Так как количество пресетов ограничено, было бы идеально при вводе числа >256 делать сброс.
P.S. Я уже сделал контроллер на джойстике, но он оказался жутко неудобным (хотя и симпатичным), на МК было бы идеально.
Заранее благодарен.

Уточню что кейсы будут под номерами от “000”, до “256”.

Мы на вашей фене не ботаем …

1 лайк

Самоутвердился убогий…

А не слишком ли борзо для третьего сообщения на форуме?

5 лайков

Вы сейчас отправляете команду сразу после нажатия каждой кнопки. А для трехзначных чисел заведите счетчик и “накопительную” переменную для “складирования” нажатых кнопок. Считайте и запоминайте нажатые кнопки, как только насчитаете три - отправляйте команду, а счетчик сбрасывайте.

Еще один неудачник - смойся, недоделанный.
Тошнит от таких персонажей, то ли член у вас короткий, то ли зарплата маленькая, вот и самоутверждаетесь.

Спасибо, но строчка кода будет покороче, если умеете - напишите пожалуйста.

Деточка, ты что здесь забыло?

Рот прикрыл - воняет.

Создание, ты всерьез думаешь, что тебе здесь кто-то чем-то теперь поможет? Ну удачи :wink:

Тему снес в ЧЧ

Чмошник с правами крысеныша.

надо уносить в недоступный для них раздел, денька через три вернуть, либо остынет , либо свалит.

Оно нам здесь нужно, даже остывшее? ))

3 лайка

Что мне остывать, я то адекватный, а вот у вас все гнило до тошноты, а вы этого не замечаете. Я очень грамотно и кратко спросил, не хочешь - не отвечай, нахрена умничать - не по мужски…
Токсичный форум до безобразия.
И я не свалю а отгорожусь от чмошников - варитесь в блевоте дальше - но бабы вам все равно не дадут и член не вырастет, продолжайте передергивать и наслаждаться своим мнимым “величием”.

Мой хрустальный шар вычислил дырявого с первого сообщения !!!

2 лайка

Это ты тут своим дырявым очком давно светишь, проткнутый дегенерат.

Ой, поскромнее был бы… Ты здесь кто? Зато КАК вякаешь! Ужас.