KeyboardAndMouseControl

Bu örnek, Fare ve Klavye kitaplıklarının birlikte kullanımını gösterir. Beş anlık anahtar, imleciniz için yön düğmeleri olarak işlev görür. Bir düğmeye basıldığında, ekranınızdaki imleç hareket eder ve yönle ilişkili harfe karşılık gelen bir tuşa basma bilgisayara gönderilir. Leonardo, Micro veya Due programlandıktan ve kablo bağlandıktan sonra, sonuçları görmek için favori metin düzenleyicinizi açın.

Not: Fare ve Klavye kitaplığı işlevlerini kullandığınızda, Arduino bilgisayarınızın imlecini devralır! Bu işlevle bir çizim çalıştırırken bilgisayarınızın kontrolünü kaybetmemenizi sağlamak için Mouse.move () öğesini çağırmadan önce bir kontrol cihazı ayarladığınızdan emin olun.

Gerekli Donanım

  • Arduino Leonardo, Micro veya Arduino Due kartı
  • 5 buton
  • 5 10k ohm dirençler
  • bağlantı telleri
  • breadboard

Yazılım Gerekli

  • Herhangi bir metin düzenleyici

Devre

Butonların bir ucunu tahtadaki 2, 3, 4, 5 ve 6 pimlerine takın. Diğer ucu + 5V'ye takın. Dirençleri anahtarlar için toprağa referans sağlayarak aşağı çekerek kullanın. Onları tahtaya toprağa bağlayan pimden takın.

Kartınızı programladıktan sonra, USB kablosunu çıkarın ve bir metin düzenleyici açın. Kartınızı bilgisayarınıza bağlayın ve imleci hareket ettirirken belgeye yazmak için düğmelere basın.

Şematik

Kod


/*
  KeyboardAndMouseControl

  Controls the mouse from five pushbuttons on an Arduino Leonardo, Micro or Due.

  Hardware:
  - five pushbuttons attached to D2, D3, D4, D5, D6

  The mouse movement is always relative. This sketch reads four pushbuttons, and
  uses them to set the movement of the mouse.

  WARNING: When you use the Mouse.move() command, the Arduino takes over your
  mouse! Make sure you have control before you use the mouse commands.

  created 15 Mar 2012
  modified 27 Mar 2012
  by Tom Igoe

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/KeyboardAndMouseControl
*/

#include "Keyboard.h"
#include "Mouse.h"

// set pin numbers for the five buttons:
const int upButton = 2;
const int downButton = 3;
const int leftButton = 4;
const int rightButton = 5;
const int mouseButton = 6;

void setup() { // initialize the buttons' inputs:
  pinMode(upButton, INPUT);
  pinMode(downButton, INPUT);
  pinMode(leftButton, INPUT);
  pinMode(rightButton, INPUT);
  pinMode(mouseButton, INPUT);

  Serial.begin(9600);
  // initialize mouse control:
  Mouse.begin();
  Keyboard.begin();
}

void loop() {
  // use serial input to control the mouse:
  if (Serial.available() > 0) {
    char inChar = Serial.read();

    switch (inChar) {
      case 'u':
        // move mouse up
        Mouse.move(0, -40);
        break;
      case 'd':
        // move mouse down
        Mouse.move(0, 40);
        break;
      case 'l':
        // move mouse left
        Mouse.move(-40, 0);
        break;
      case 'r':
        // move mouse right
        Mouse.move(40, 0);
        break;
      case 'm':
        // perform mouse left click
        Mouse.click(MOUSE_LEFT);
        break;
    }
  }

  // use the pushbuttons to control the keyboard:
  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');
  }

}

See Also