Arduino:Примеры/KeyboardMessage: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<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">»)
 
Нет описания правки
 
(не показано 11 промежуточных версий 1 участника)
Строка 3: Строка 3:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


==Клавиатурное сообщение <ref>[http://www.arduino.cc/en/Tutorial/KeyboardMessage Arduino - Keyboard Message]</ref>==
=Клавиатурное сообщение <ref>[http://www.arduino.cc/en/Tutorial/KeyboardMessage Arduino - Keyboard Message]</ref>=


В этом примере нажатие кнопки отсылает на компьютер текстовое сообщение – оно отправляется в качестве входных клавиатурных данных. Эта строка сообщает о количестве нажатий на кнопку. Закончив с программированием и подключением '''Arduino''', откройте любимый текстовый редактор, чтобы увидеть результаты.
В этом примере нажатие кнопки отсылает на компьютер текстовое сообщение – оно отправляется в качестве входных клавиатурных данных. Эта строка сообщает о количестве нажатий на кнопку. Закончив с программированием и подключением [[Arduino]], откройте любимый [[текстовый редактор]], чтобы увидеть результаты.


'''Внимание!''' При использовании команды Keyboard.print() '''Arduino''' перехватит роль клавиатуры на себя. Поэтому, перед тем как вызывать эту команду, убедитесь, что вы все настроили правильно, чтобы внезапно не потерять контроль над компьютером при использовании этого скетча. Он специально устроен таким образом, что работает только при нажатии кнопки.  
{{Внимание1|При использовании команды [[Arduino:Справочник языка Arduino/Библиотеки/Keyboard/Keyboard.print()|Keyboard.print()]] [[Arduino]] перехватит роль клавиатуры на себя. Поэтому, перед тем как вызывать эту команду, убедитесь, что вы все настроили правильно, чтобы внезапно не потерять контроль над компьютером при использовании этого скетча. Он специально устроен таким образом, что работает только при нажатии кнопки.}}


==Необходимое оборудование==
==Необходимое оборудование==


* Плата '''Arduino Leonardo, Arduino Micro или Arduino Due''';
* Плата [[Arduino Leonardo]], [[Arduino Micro]] или [[Arduino Due]] - 1 шт.
* Однако кнопка
* Кнопка - 1 шт.
* Один резистор на '''10 кОм''';
* [[Резистор]] на [[10 кОм]] - 1 шт.


==Необходимое ПО==
==Необходимое ПО==


* Любой текстовый редактор;
* Любой [[текстовый редактор]];


==Цепь==
==Цепь==


Одну ногу кнопки подсоедините к '''4-ому''' цифровому контакту '''Arduino''', а другую к питанию, т.е. к '''5-вольтовому контакту'''. Резистор будет выполнять функцию стягивания – подключите его к 4-ому контакту и «земле».
Одну ногу кнопки подсоедините к 4-ому цифровому контакту [[Arduino]], а другую к питанию, т.е. к 5-вольтовому контакту. [[Резистор]] будет выполнять функцию стягивания – подключите его к 4-ому контакту и «земле».
Запрограммировав '''Arduino''', подсоедините '''USB-кабель''' и откройте текстовый редактор. Теперь нажимайте на кнопку, чтобы в текстовом документе появилось отсылаемое вами сообщение.
Запрограммировав [[Arduino]], подсоедините [[USB-кабель]] и откройте [[текстовый редактор]]. Теперь нажимайте на кнопку, чтобы в текстовом документе появилось отсылаемое вами сообщение.


[[File:KeyboardMessage3_bb.png|650px]]
[[File:KeyboardMessage3_bb.png|thumb|center|800px|'''Рис. 1.''' Плата Arduino и кнопка.|alt=Рис. 1. Плата Arduino и кнопка.]]


==Схема==
==Схема==


[[File:KeyboardMessage3_schem.png|650px]]
[[File:KeyboardMessage3_schem.png|thumb|center|800px|'''Рис. 2.''' Схема соединения платы Arduino и кнопки.|alt=Рис. 2. Схема соединения платы Arduino и кнопки.]]


==Код==
==Код==


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
/*  
/*  
  Тест для отправки клавиатурного сообщения  
  Тест для отправки клавиатурного сообщения  
Строка 82: Строка 82:
</syntaxhighlight>
</syntaxhighlight>


== См.также==
= См.также=


# Keyboard.write()
# Keyboard.write()
Строка 88: Строка 88:
# Keyboard.println()
# Keyboard.println()


==Внешние ссылки==
=Внешние ссылки=


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Пример]]
[[Категория:Пример]]
[[Категория:Примеры]]
[[Категория:Примеры]]
[[Категория:Пример программирования Arduino]]
[[Категория:Пример программирования Arduino]]
[[Категория:Примеры программирования Arduino]]
[[Категория:Примеры программирования Arduino]]

Текущая версия от 18:19, 14 мая 2023

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Клавиатурное сообщение [1]

В этом примере нажатие кнопки отсылает на компьютер текстовое сообщение – оно отправляется в качестве входных клавиатурных данных. Эта строка сообщает о количестве нажатий на кнопку. Закончив с программированием и подключением Arduino, откройте любимый текстовый редактор, чтобы увидеть результаты.

Внимание!

При использовании команды Keyboard.print() Arduino перехватит роль клавиатуры на себя. Поэтому, перед тем как вызывать эту команду, убедитесь, что вы все настроили правильно, чтобы внезапно не потерять контроль над компьютером при использовании этого скетча. Он специально устроен таким образом, что работает только при нажатии кнопки.

Необходимое оборудование

Необходимое ПО

Цепь

Одну ногу кнопки подсоедините к 4-ому цифровому контакту Arduino, а другую к питанию, т.е. к 5-вольтовому контакту. Резистор будет выполнять функцию стягивания – подключите его к 4-ому контакту и «земле». Запрограммировав Arduino, подсоедините USB-кабель и откройте текстовый редактор. Теперь нажимайте на кнопку, чтобы в текстовом документе появилось отсылаемое вами сообщение.

Рис. 1. Плата Arduino и кнопка.
Рис. 1. Плата Arduino и кнопка.

Схема

Рис. 2. Схема соединения платы Arduino и кнопки.
Рис. 2. Схема соединения платы Arduino и кнопки.

Код

/* 
 Тест для отправки клавиатурного сообщения 
 
 Для Arduino Leonardo и Arduino Micro.
 
 При нажатии кнопки отсылает текстовую строку.
 Цепь:
 * Кнопка подсоединена к 4-ому цифровому и 5-вольтовому контактам
 * 10000-омовый резистор подсоединен к 4-ому контакту и «земле» 
 
 Создан 24 октября 2011,
 модифицирован 27 марта 2012 Томом Иго (Tom Igoe),
 еще раз модифицирован 11 ноября 2013 Скоттом Фитцджеральдом (Scott Fitzgerald).
 
 Этот код не защищен авторским правом.
 
 http://www.arduino.cc/en/Tutorial/KeyboardMessage
 */

const int buttonPin = 4;          // входной контакт для кнопки 
int previousButtonState = HIGH;   // переменная для проверки состояния кнопки 
int counter = 0;                  // переменная для счетчика нажатий на кнопку

void setup() {
  // Делаем контакт pushButton входным:
  pinMode(buttonPin, INPUT);
  // Инициализируем управление клавиатурой:
  Keyboard.begin();
}

void loop() {
  // Считываем данные с кнопки:
  int buttonState = digitalRead(buttonPin);
  // Если состояние кнопки поменялось,
  if ((buttonState != previousButtonState)
      // и в данный момент она нажата,
      && (buttonState == HIGH)) {
    // увеличиваем счетчик нажатий на 1:
    counter++;
    // Выводим сообщение:
    Keyboard.print("You pressed the button "); // то есть "Вы нажали на кнопку "
    Keyboard.print(counter);
    Keyboard.println(" times."); // то есть «столько-то " раз."»
  }
  // Сохраняем информацию о текущем состоянии кнопки для сравнения при проходе через следующий цикл:
  previousButtonState = buttonState;
}

См.также

  1. Keyboard.write()
  2. Keyboard.print()
  3. Keyboard.println()

Внешние ссылки