клавиатура, вывод символов
- Войдите на сайт для отправки комментариев
Пнд, 12/11/2012 - 15:02
Здравствуйте, если можно подскажите. Осваиваю клавиатуру с помощью библиотеки <Keypad.h> и попал в ступор по поводу вывода символов, а именно вот в этом скетче нажимаем клавишу - получаем значение символов, но как вывести к примеру "22" или "78" то есть два или три символа подряд ума не приложу (пробовал через стринг или массив но не получается). Если можно помогите, достаточно просто подсказки или если не трудно просто кусок кода. Спасибо #include <Keypad.h> const byte ROWS = 4; //four rows const byte COLS = 4; //three columns char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup(){ Serial.begin(9600); pinMode(10, OUTPUT); // к десятому выводу подключаем пьезо пищалку } void loop(){ char key = keypad.getKey(); if (key != NO_KEY){ Serial.println(key); digitalWrite(10, HIGH);// в случае нажатия клавиатуры пъезо пищалка пищит delay (5);// время пищалки пъезы digitalWrite(10, LOW);// выключение пъезы } }
Вам нужно собрать строку, для этого нужно определиться как она будет заканчиваться: либо по нажатию кнопки окончания ввода, либо по прохождении времени после последнего нажатия, либо по размеру строки (по количеству нажатий).
Затем объявляете объект String или массив типа char. И просто собираете строку. Вот пример с массивом и с ограничением по колличеству символов:
maksim большое спасибо за помощь