Arduino:Примеры/PS2Keyboard Simple Test
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Отображение символов, введенных на клавиатуре[1]
Этот пример показывает, как при помощи библиотеки PS2Keyboard показывать символы, введенные на клавиатуре. Он считывает нажатия на клавиши, а затем отображает символы, привязанные к этим клавишам, в мониторе порта IDE Arduino. Поддерживаются как обычные, так и некоторые специальные символы, включая ↵ Enter , Tab ⇆ , Delete и т.д.
Код
/* Отображение символов, введенных на клавиатуре
Библиотеке PS2Keyboard теперь нужно, чтобы в begin() были указаны
оба контакта – и для тактового сигнала, и для передачи данных.
keyboard.begin(data_pin, irq_pin);
Контакты, которые можно использовать для тактового сигнала:
Arduino Uno: 2, 3
Arduino Due: все контакты, кроме 13 (к нему подключен светодиод)
Arduino Mega: 2, 3, 18, 19, 20, 21
Teensy 2.0: все контакты, кроме 13 (к нему подключен светодиод)
Teensy 2.0: 5, 6, 7, 8
Teensy 1.0: 0, 1, 2, 3, 4, 6, 7, 16
Teensy++ 2.0: 0, 1, 2, 3, 18, 19, 36, 37
Teensy++ 1.0: 0, 1, 2, 3, 18, 19, 36, 37
Sanguino: 2, 10, 11
Более подробно о библиотеке PS2Keyboard читайте на arduino.cc
http://www.arduino.cc/playground/Main/PS2Keyboard
или на сайте автора библиотеки
http://www.pjrc.com/teensy/td_libs_PS2Keyboard.html
Как и сама библиотека, этот скетч публикуется под лицензией LGPL.
Модифицирован cuninganreset@gmail.com 22 марта 2010 года,
еще раз модифицирован Полом Стоффрегеном (Paul Stoffregen;
paul@pjrc.com) в июне 2010 года.
*/
// подключаем библиотеку PS2Keyboard:
#include <PS2Keyboard.h>
// задаем контакты для тактового сигнала и передачи данных:
const int DataPin = 8;
const int IRQpin = 5;
// создаем экземпляр класса PS2Keyboard:
PS2Keyboard keyboard;
// делаем задержку в 1000 миллисекунд, инициируем библиотеку,
// и запускаем последовательную коммуникацию на скорости 9600:
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);
}
}
}
См.также
Внешние ссылки
развернутьПартнерские ресурсы |
---|
развернутьСправочник языка Arduino |
---|
развернутьБиблиотеки Arduino |
---|
развернутьArduino продукты |
---|
развернутьПримеры Arduino |
---|
Категории:
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino