Arduino:Примеры/KeyboardMessage

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

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


Клавиатурное сообщение [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()

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