Mouse Controller

Controlador del ratón

Due tiene la capacidad de actuar como un host USB para periféricos como ratones conectados al puerto serie USB. Este ejemplo demuestra el uso de la biblioteca MouseController

Hardware Necesario

  • 1 Placa Arduino Due
  • 1 Ratón USB

Código

/*
 Ejemplo de Mouse Controller

 Muestra la salida de un ratón USB conectado ael puerto USB nativo en una placa Arduino Due.

 creado 8 Octubre 2012
 por Cristian Maglie

 http://arduino.cc/en/Tutorial/MouseController

 Este código es de dominio público.
 */


// Necesita la biblioteca de control del ratón
#include <MouseController.h>

// iniializa el Controlador USB
USBHost usb;

// Conecta el controlador del ratón a USB
MouseController mouse(usb);

// variables para los estados de los botones del ratón
boolean leftButton = false;
boolean middleButton = false;
boolean rightButton = false;

// Esta función intercepta los movimientos del ratón
void mouseMoved() {
 
 Serial.print("Movimiento: ");
 
 Serial.print(mouse.getXChange());
 
 Serial.print(", ");
 
 Serial.println(mouse.getYChange());
}

// Esta función intercepta los movimientos del ratón mientras hay un botón pulsado

  void mouseDragged() {
 
 Serial.print("ARRASTRE: ");
 
 Serial.print(mouse.getXChange());
 
 Serial.print(", ");
 
 Serial.println(mouse.getYChange());
}

// Esta función intercepta el botón pulsado del ratón
void mousePressed() {
 
 Serial.print("Pulsado: ");
 
 if (mouse.getButton(LEFT_BUTTON)){
   
 Serial.print("Izquierdo");
    leftButton
 = true;
 
 }
 
 if (mouse.getButton(MIDDLE_BUTTON)){
   
 Serial.print("Mesdio");
    middleButton
 = true;
 
 }
 
 if (mouse.getButton(RIGHT_BUTTON)){
   
 Serial.print("Derecho");
   
 Serial.println();
    rightButton
 = true;
 
 }
}

// Esta función intercepta el botón soltado de ratón
void mouseReleased() {
 
 Serial.print("Soltado: ");
 
 if (!mouse.getButton(LEFT_BUTTON) && left==true) {
   
 Serial.print("Izquierdo");
    leftButton
 = false;
 
 }
 
 if (!mouse.getButton(MIDDLE_BUTTON) && middle==true) {
   
 Serial.print("Medio");
    middleButton
 = false;
 
 }
 
 if (!mouse.getButton(RIGHT_BUTTON) && right==true) {
   
 Serial.print("Derecho");
    rightButton
 = false;
 
 }
 
 Serial.println();
}

void setup()
{
 
 Serial.begin(9600);
 
 Serial.println("Programa iniciado");
 
 delay(200);
}

void loop()
{
 
 // Tareas USB
  usb.Task
();
}

No hay comentarios:

Publicar un comentario