Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/KeyboardMessage

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


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

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

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

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

  • Плата Arduino Leonardo, Arduino Micro или Arduino Due;
  • Однако кнопка
  • Один резистор на 10 кОм;

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

  • Любой текстовый редактор;

Цепь

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

KeyboardMessage3 bb.png

Схема

KeyboardMessage3 schem.png

Код

  1. /*
  2.  Тест для отправки клавиатурного сообщения
  3.  
  4.  Для Arduino Leonardo и Arduino Micro.
  5.  
  6.  При нажатии кнопки отсылает текстовую строку.
  7.  Цепь:
  8.  * Кнопка подсоединена к 4-ому цифровому и 5-вольтовому контактам
  9.  * 10000-омовый резистор подсоединен к 4-ому контакту и «земле»
  10.  
  11.  Создан 24 октября 2011,
  12.  модифицирован 27 марта 2012 Томом Иго (Tom Igoe),
  13.  еще раз модифицирован 11 ноября 2013 Скоттом Фитцджеральдом (Scott Fitzgerald).
  14.  
  15.  Этот код не защищен авторским правом.
  16.  
  17.  http://www.arduino.cc/en/Tutorial/KeyboardMessage
  18.  */
  19.  
  20. const int buttonPin = 4;          // входной контакт для кнопки
  21. int previousButtonState = HIGH;   // переменная для проверки состояния кнопки
  22. int counter = 0;                  // переменная для счетчика нажатий на кнопку
  23.  
  24. void setup() {
  25.   // Делаем контакт pushButton входным:
  26.   pinMode(buttonPin, INPUT);
  27.   // Инициализируем управление клавиатурой:
  28.   Keyboard.begin();
  29. }
  30.  
  31. void loop() {
  32.   // Считываем данные с кнопки:
  33.   int buttonState = digitalRead(buttonPin);
  34.   // Если состояние кнопки поменялось,
  35.   if ((buttonState != previousButtonState)
  36.       // и в данный момент она нажата,
  37.       && (buttonState == HIGH)) {
  38.     // увеличиваем счетчик нажатий на 1:
  39.     counter++;
  40.     // Выводим сообщение:
  41.     Keyboard.print("You pressed the button "); // то есть "Вы нажали на кнопку "
  42.     Keyboard.print(counter);
  43.     Keyboard.println(" times."); // то есть «столько-то " раз."»
  44.   }
  45.   // Сохраняем информацию о текущем состоянии кнопки для сравнения при проходе через следующий цикл:
  46.   previousButtonState = buttonState;
  47. }

См.также

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

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

  1. Arduino - Keyboard Message