Как подключить клавиатуру Luxorparts к Arduino?
Я только что купил 12-значную клавиатуру от Luxorparts, и в комплекте нет никаких схем, показывающих, как она подключается. Как мне понять, как подключить ее к моему Arduino?
@Klepto, 👍1
1 ответ
Лучший ответ:
Вот руководство, которое мне помогло: Учебник по клавиатуре, которое покажет вам, как разобраться, как подключена клавиатура. Я следовал ему и выяснил, что для этой конкретной клавиатуры (клавиатуры Luxorparts) настройка следующая:
(Слева направо на контактах клавиатуры, а также на строках и столбцах)
Контакт 1: Не подключен
Pin2: Подключен ко 2-му столбцу
Pin3: Подключен к 1-му ряду
Pin4: Подключен к 1-му столбцу
Pin5: Подключен к 4-му ряду
Pin6: Подключен к 3-му столбцу
Pin7: Подключен к 3-му ряду
Pin8: Подключен ко 2-му ряду
Pin9: Не подключен
Я изменил пример кода по ссылке выше, чтобы отразить эту конкретную клавиатуру:
#include <Keypad.h>
const byte ROW0 = 3;
const byte ROW1 = 8;
const byte ROW2 = 7;
const byte ROW3 = 5;
const byte COL0 = 4;
const byte COL1 = 2;
const byte COL2 = 6;
const byte ROWS = 4; // Четыре строки
const byte COLS = 3; // Три столбца
// Определить раскладку клавиш
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
// Подключите клавиатуру ROW0, ROW1, ROW2 и ROW3 к этим контактам Arduino.
byte rowPins[ROWS] = { ROW0, ROW1, ROW2, ROW3 };
// Подключите клавиатуру COL0, COL1 и COL2 к этим контактам Arduino.
byte colPins[COLS] = { COL0, COL1, COL2 };
// Создаем клавиатуру
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
#define ledpin 13
void setup()
{
pinMode(ledpin,OUTPUT);
digitalWrite(ledpin, HIGH);
Serial.begin(9600);
}
void loop()
{
char key = kpd.getKey();
if(key) // Проверка допустимости ключа.
{
switch (key)
{
case '*':
digitalWrite(ledpin, LOW);
break;
case '#':
digitalWrite(ledpin, HIGH);
break;
default:
Serial.println(key);
}
}
}
Чтобы запустить это, просто подключите каждый вывод клавиатуры по порядку к Arduino, так чтобы второй вывод клавиатуры подключился ко второму цифровому выводу на Arduino и так далее.
Я задал этот вопрос после того, как уже нашел ответ, в надежде помочь кому-нибудь еще, кто купит эту конкретную клавиатуру.
- Альтернатива пайке для соединения плат
- Использовать выводы PWM в качестве обычных цифровых входов/выходов?
- Какое назначение контактного конденсатора ввода-вывода на микроконтроллере AVR?
- Как можно ограничить чувствительность емкостных сенсоров?
- Почему контакт должен быть установлен как вход, если он может считывать ввод, когда он установлен как выход?
- Невозможно использовать аналоговые контакты в качестве цифровых входов
- Простое чтение и запись на дискету.
- Использование вывода светодиода для ввода