Подключаем к Arduino клавиатуру PS/2
В данной статье рассматривается, как добавить к Arduino 106 кнопок ввода, а именно подключить к Arduino клавиатуру PS/2.
Что нам понадобится:
- Arduino (Uno);
- клавиатура PS/2;
- разъем PS/2 (мама).
Шаг 1: подключение клавиатуры
Ниже приведена распиновка разъема. От клавиатуры приходит 4 провода, их подключение к Arduino показано ниже:
- 5В – выход Arduino 5V
- Земля – Arduino GND
- Тактовый сигнал – вывод 3 Arduino
- Данные – вывод 8 Arduino
Шаг 2: код
Сначала добавьте в Arduino IDE библиотеку PS2Keyboard.
#include <PS2Keyboard.h>
const int DataPin = 8;
const int IRQpin = 3;
PS2Keyboard keyboard;
void setup()
{
delay(1000);
keyboard.begin(DataPin, IRQpin);
Serial.begin(9600);
Serial.println("Keyboard Test:");
}
void loop()
{
if (keyboard.available())
{
// прочитать следующую клавишу
char c = keyboard.read();
// проверить на некоторые специальные клавиши
if (c == PS2_ENTER)
{
Serial.println();
}
else if (c == PS2_TAB)
{
Serial.print("[Tab]");
}
else if (c == PS2_ESC)
{
Serial.print("[ESC]");
}
else if (c == PS2_PAGEDOWN)
{
Serial.print("[PgDn]");
}
else if (c == PS2_PAGEUP)
{
Serial.print("[PgUp]");
}
else if (c == PS2_LEFTARROW)
{
Serial.print("[Left]");
}
else if (c == PS2_RIGHTARROW)
{
Serial.print("[Right]");
}
else if (c == PS2_UPARROW)
{
Serial.print("[Up]");
}
else if (c == PS2_DOWNARROW)
{
Serial.print("[Down]");
}
else if (c == PS2_DELETE)
{
Serial.print("[Del]");
}
else
{
// иначе просто печатать все обычные символы
Serial.print(c);
}
}
}
Шаг 3: тестирование
Итак, мы закончили написание кода. Загрузите его в Arduino и оставьте Arduino, подключенной к компьютеру. Затем откройте монитор последовательного порта в Arduino IDE и нажмите несколько клавиш на клавиатуре, подключенной к Arduino, и вы увидите, что она напечатает то, что вы набираете на этой клавиатуре. Вот и всё!