Код из 5 кнопок

palmer
Offline
Зарегистрирован: 22.05.2016

Есть 5 кнопок они подключены к контролеру.нужно задать им свои цифры или одну последовательность,чтоб например первая кнопка =а,вторая =2,третья =с,четвёртая =5,пятая =d,и нужно просто как то это сделать ,что когда введёшь 2асd5 что то сделается

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Куда введёшь "2асd5"? Что сделается? Ты о чём? Повнятней, плз, исходную постановку задачи.

DimaFIX
Offline
Зарегистрирован: 07.07.2016

Тебе нужен "кодовый замок", что бы только при нажатии определённой последовательности "что-то делалось"?

palmer
Offline
Зарегистрирован: 22.05.2016

Да)то есть 5 кнопок установленных в ряд,но каждой присвоена своя цифра или буква)и нужно чтобы вели определенную последовательность,да суть как у кодового замка)

palmer
Offline
Зарегистрирован: 22.05.2016

DIYMan пишет:

Куда введёшь "2асd5"? Что сделается? Ты о чём? Повнятней, плз, исходную постановку задачи.

 

 

http://arduino.ru/sites/all/modules/vote_up_down/widgets/upanddown/arrow...); background-position: -20px -44px; background-repeat: no-repeat no-repeat;" title="Минусую!">  

0

Да)то есть 5 кнопок установленных в ряд,но каждой присвоена своя цифра или буква)и нужно чтобы вели определенную последовательность,да суть как у кодового замка)на кнопке будет написано чему она равна,2 или а или с и тд)

 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Делаешь в скетче соответствие номеров пинов с кодом кнопки (если у тебя кнопки подключены к разным пинам), в общем, пофиг как они подключены - делаешь соответствие "если нажата такая-то кнопка - значит это символ такой-то". По нажатию каждой кнопки запоминаешь, что ввели. Как только ввели строку нужной длины - анализируешь её и выдаёшь тот или иной итог. Псевдокод:

char buttonCodes[] = {
'a',
'b',
'c',
'd'
};

String strPass;

char num = getPressedButtonNumber();
if(num > -1)
{
  char ch = buttonCodes[num];
  strPass += ch;
}

if(strPass.length() == 4)
{
  if(strPass == "abba")
   Serial.println("ABBA rocks!");
  else
  Serial.println("Unknown group!");
   strPass = "";
}