Помогите написать код, который будет считывать значения с матричной клавиатуры, и когда наберется 7 значений они отправлялись в сериал. Я пробовал разными способами, результат один- не ждет, пока я введу все 7 символов, а шлет в сериал всякий мусор непрерывно. Вот одна из попыток : Код (C++): #include <Keypad.h> char num[6]; int i = 0; const byte ROWS = 4; const byte COLS = 3; char keys[ROWS][COLS] = { {'1','2','3'}, {'4','5','6'}, {'7','8','9'}, {'#','0','*'} }; byte rowPins[ROWS] = {5, 4, 3, 2}; byte colPins[COLS] = {8, 7, 6}; Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup(){ pinMode(13,OUTPUT); Serial.begin(9600); digitalWrite(13,LOW); } void loop(){ char key = keypad.getKey(); if (key){ num[i]=key; i++;} for(i = 0;i<=6;i++){ Serial.print(num[i]); } }
Перед циклом поставьте Код (C++): if(i>5) { После - Код (C++): i=0; а переменную в цикле - замените на j.