Arduino:Примеры/KeyboardAndMouseControl: различия между версиями
Myagkij (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">») |
Нет описания правки |
||
(не показано 10 промежуточных версий 1 участника) | |||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Управление мышью и клавиатурой<ref>[http://www.arduino.cc/en/Tutorial/KeyboardAndMouseControl Arduino - Keyboard and Mouse Control]</ref>= | |||
Этот пример демонстрирует совместное использование библиотек для мышки и клавиатуры. В нем четыре кнопки действуют в качестве устройств для управления | Этот пример демонстрирует совместное использование библиотек для мышки и клавиатуры. В нем четыре кнопки действуют в качестве устройств для управления [[курсор]]ом, а пятая отвечает за левый клик мыши. То есть, если кнопка нажата, информация об этом будет отправлена на [[компьютер]], и курсор на экране начнет двигаться. После того, как разберетесь с программированием и подключением [[Arduino]], откройте свой любимый [[текстовый редактор]], чтобы увидеть результаты. | ||
{{Внимание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]], а другим – к «земле». | ||
[[File:KeyboardMouseControl_bb.png]] | Запрограммировав [[Arduino]], подключите [[USB-кабель]] и откройте [[текстовый редактор]]. Затем нажимайте на кнопки, чтобы управлять курсором и вместе с тем печатать в документе определенные символы. | ||
[[File:KeyboardMouseControl_bb.png|center|frame|'''Рис. 1.''' Схема соединения платы Arduino и 5 кнопок.|alt=Рис. 1. Схема соединения платы Arduino и 5 кнопок.]] | |||
== Схема == | == Схема == | ||
[[File:KeyboardMouseControl_schem.png]] | [[File:KeyboardMouseControl_schem.png|center|frame|'''Рис. 2.''' Схема соединения платы Arduino и 5 кнопок.|alt=Рис. 2. Схема соединения платы Arduino и 5 кнопок.]] | ||
==Код== | ==Код== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS> | ||
/* | /* | ||
Управление клавиатурой и мышкой | Управление клавиатурой и мышкой | ||
Строка 124: | Строка 125: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
= См.также= | |||
# [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.write()|Keyboard.write()]] | |||
# [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.print()|Keyboard.print()]] | |||
# [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.println()|Keyboard.println()]] | |||
=Внешние ссылки= | |||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Arduino}} | |||
[[Категория:Пример]] | [[Категория:Пример]] | ||
[[Категория:Примеры]] | [[Категория:Примеры]] | ||
[[Категория:Пример программирования Arduino]] | [[Категория:Пример программирования Arduino]] | ||
[[Категория:Примеры программирования Arduino]] | [[Категория:Примеры программирования Arduino]] |
Текущая версия от 11:20, 8 июля 2023
Содержание | Знакомство с 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-кабель и откройте текстовый редактор. Затем нажимайте на кнопки, чтобы управлять курсором и вместе с тем печатать в документе определенные символы.
![Рис. 1. Схема соединения платы Arduino и 5 кнопок.](/ruwiki/images/6/6c/KeyboardMouseControl_bb.png)
Схема
![Рис. 2. Схема соединения платы Arduino и 5 кнопок.](/ruwiki/images/5/59/KeyboardMouseControl_schem.png)
Код
/*
Управление клавиатурой и мышкой
Использует пять кнопок, подключенных к 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