Arduino:Примеры/KeyboardAndMouseControl
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Управление мышью и клавиатурой[1]
Этот пример демонстрирует совместное использование библиотек для мышки и клавиатуры. В нем четыре кнопки действуют в качестве устройств для управления курсором, а пятая отвечает за левый клик мыши. То есть, если кнопка нажата, информация об этом будет отправлена на компьютер, и курсор на экране начнет двигаться. После того, как разберетесь с программированием и подключением Arduino, откройте свой любимый текстовый редактор, чтобы увидеть результаты.
Необходимое оборудование
- Плата Arduino Leonardo или Arduino Due - 1 шт.;
- Макетная плата Breadboard - 1 шт.;
- Кнопка - 5 шт.;
- Резистор на 10 кОм - 5шт.;
Необходимое ПО
- Любой текстовый редактор;
Цепь
Подключите кнопки одним концом к 2, 3, 4, 5 и 6 контактам на Arduino, а вторым запитайте через контакт с 5 вольтами. Резисторы будут соединять кнопки с «землей», тем самым выполняя функцию стягивания. Подсоедините их одним концом к 2, 3, 4, 5 и 6 контактам на Arduino, а другим – к «земле».
Запрограммировав Arduino, подключите USB-кабель и откройте текстовый редактор. Затем нажимайте на кнопки, чтобы управлять курсором и вместе с тем печатать в документе определенные символы.
Схема
Код
/*
Управление клавиатурой и мышкой
Использует пять кнопок, подключенных к Arduino (Leonardo или Micro), чтобы управлять курсором на экране компьютера.
Необходимое оборудование:
* Пять кнопок, подключенных к пяти цифровым контактам: 2-ому, 3-ему, 4-ому, 5-ому и 6-ому
Этот скетч считывает значения от четырех кнопок, используя их для перемещения курсора,
а пятая играет роль левой кнопки мыши.
Внимание! При использовании команды Mouse.move() Arduino берет на себя роль мыши!
Поэтому перед началом использования Arduino убедитесь, что сделали все необходимое (например, открыли текстовый редактор).
Создан 15 марта 2012,
модифицирован 27 марта 2012 Томом Иго (Tom Igoe).
Этот код не защищен авторским правом.
*/
// Задаем номера контактов для пяти кнопок:
const int upButton = 2;
const int downButton = 3;
const int leftButton = 4;
const int rightButton = 5;
const int mouseButton = 6;
void setup() { // делаем контакты для кнопок выходными:
pinMode(upButton, INPUT);
pinMode(downButton, INPUT);
pinMode(leftButton, INPUT);
pinMode(rightButton, INPUT);
pinMode(mouseButton, INPUT);
Serial.begin(9600);
// Инициализируем управление мышью и клавиатурой:
Mouse.begin();
Keyboard.begin();
}
void loop() {
// Используем входные данные для управления мышью:
if (Serial.available() > 0) {
char inChar = Serial.read();
switch (inChar) {
case 'u':
// Двигаем мышью вверх:
Mouse.move(0, -40);
break;
case 'd':
// Двигаем мышью вниз:
Mouse.move(0, 40);
break;
case 'l':
// Двигаем мышью влево:
Mouse.move(-40, 0);
break;
case 'r':
// Двигаем мышью вправо:
Mouse.move(40, 0);
break;
case 'm':
// Делаем левый клик мышью:
Mouse.click(MOUSE_LEFT);
break;
}
}
// Используем кнопки для управления клавиатурой:
if (digitalRead(upButton) == HIGH) {
Keyboard.write('u');
}
if (digitalRead(downButton) == HIGH) {
Keyboard.write('d');
}
if (digitalRead(leftButton) == HIGH) {
Keyboard.write('l');
}
if (digitalRead(rightButton) == HIGH) {
Keyboard.write('r');
}
if (digitalRead(mouseButton) == HIGH) {
Keyboard.write('m');
}
}
См.также
Внешние ссылки
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