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 Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
Категории:
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino