Библиотека PS2Keyboard использует одно из двух доступных внешних прерываний для реагирования на ввод с клавиатуры. Как только такой ввод получен, он сохраняется в однобайтовом буфере и доступен для чтения.
Скачать последнюю версию: Teensyduino Installer или Github
Убедитесь, что соединили Clock PIN с цифровым PIN 3 на Arduino. В противном случае прерывания и вся библиотека работать не будут.
#include
#define DATA_PIN 4 PS2Keyboard keyboard;
void setup() {
keyboard.begin(DATA_PIN);
Serial.begin(9600); Serial.println("hi"); delay(1000);
}
void loop() {
if(keyboard.available()) { byte dat = keyboard.read(); byte val = dat - '0';
if(val >= 0 && val <= 9) { Serial.print(val, DEC); } else if(dat == PS2_KC_ENTER) { Serial.println(); } else if(dat == PS2_KC_ESC) { Serial.println("[ESC]"); } }
}