PS2 клавиатура к Ардуино

25-02-2020, 12:05 0 комментариев
Подключить PS/2 клавиатуру к Arduino совсем не сложно, но порой просто жизненно необходимо. Пытаетесь ввести данные в микроконтроллер? Не хотите «заморачиваться» с паянием кнопок? Увлекаетесь геймингом и заодно конструированием? В этих и других ситуациях на помощь вам придет компьютерная клавиатура и наша простая пошаговая инструкция по ее подключению.

Для работы нам понадобится следующее «железо»:
  • плата расширения Arduino Uno (как пример, можно и другие);
  • клавиатура PS/2;
  • разъем PS/2 Female (мама).
Для первого шага рекомендуем использовать нижеприведенные распиновку коннектора PS2 и схему подключения:

Второй этап – скачивание и добавление специализированной библиотеки PS2Keyboard для создания пользовательского объекта, приема ∕ считывания ∕ проверки и обработки нажатий. Ее желательно закидывать в папку Libraries> 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);
    }
  }
}
Теперь следует протестировать функциональность подключенного устройства - открываем Serial Monitor в Ардуино IDE, нажимаем клавиши на клавиатуре. Если все сделано правильно, на экране выведется все написанное. Готово!

При желании можно подключить к нашей схеме дисплей ∕ светодиоды и проводить тесты другого плана (но тут вам понадобится докупить аппарат с интерфейсом I2C, инсталлировать еще одну библиотеку, а также запастись временем и терпением для настройки всего проекта).

Наш гайд получился супер-лаконичным по той простой причине, что подключение PS/2 клавиатуры к Arduino считается базовым уроком для новичков, а потому проблем возникнуть не должно. На этом пока всё. Хороших вам проектов!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

Модуль энкодер KY-040 является электромеханическим устройством, а точнее - датчиком угла поворота и вращения оси различных девайсов. Непосредственно сам прибор...

Сегодня рассматриваем подключение VL53L0X к Ардуино, а также основные особенности этого устройства. Датчик выбран нами для обзора не случайно – он вполне...

Оставить комментарий