ардуино клавиатура 4×4



Автор Dominator задал вопрос в разделе Другие языки и технологии

ARDUINO вопрос по вводу данных с клавиатуры и получил лучший ответ

Ответ от Ev[гуру]
Для ввода с клавиатуры числа с двумя и более разрядами
создайте переменную типа String и на каждое нажатие клавиши
добавляйте к переменной полученный символ.
Потом строку можно преобразовать в число (такая функция есть во всех языках).
Для работы с Ардуино не использую Wiring,
поэтому приведу пример на BASCOM-AVR
'переменные
Dim Key_char As Byte 'номер нажатой клавиши
Dim Key_str As String * 1 'символ нажатой клавиши на клавиатуре
Dim Result As String * 20 'результат нажатий на клавиатуру
Result = ""
'Главный цикл программы
Do
If Key_char <> 16 Then 'если переменная не равна 16, значит была нажата кнопка
Key_str = Lookupstr(key_char, Keyboard_data) 'вытаскиваем символ нажатой клавиши
Result = Result + Key_str 'формируем строку из символов
End If
Lcd Result 'выводим на дисплей результат нажатий
Loop
Keyboard_data:
Data "1" , "4" , "7" , "*" , "2" , "5" , "8" , "0"
Data "3" , "6" , "9" , "#" , "A" , "B" , "C" , "D"

Ответ от Sagittarius[гуру]
Можно переписать например так
int keys[ROWS][COLS] = {
{1,2,3,4},
{5,6,7,8'},
{9,10,11,12},
{13,14,15,0};
При помощи такой клавиатуры вы может ввести любую 16-ричную цифру без преобразования char в int.
Раскладку выбирайте по своему вкусу. Я ноль поставил в нижнем правом углу.
};

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: ARDUINO вопрос по вводу данных с клавиатуры
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*