Contrôler le clavier & souris w / app Android via Arduino (8 / 10 étapes)

Étape 8: L’esquisse de traitement

Le rôle de l’esquisse de traitement doit recevoir les caractères envoyés de l’Arduino (via USB) et agir en conséquence. Par exemple, lorsqu’elle reçoit la lettre « L » (sous le ~ drapeau, que j’ai désigné pour le mode de la souris), il déplace le curseur de souris de l’ordinateur à l’eft de [L] par un certain nombre de pixels. Vous êtes en mesure de contrôler les fonctionnalités de clavier et la souris de l’ordinateur dans le traitement en utilisant la classe Robot de Java.

NOTES :
* Dans la fonction setup(), n’oubliez pas de changer « [0] » dans la ligne "myPort = nouvelle série (ce, Serial.list() [0], 57600);" au nombre approprié, ce qui signifie que quelle que soit port série/USB, vous avez l’Arduino branché. Afin de déterminer ce nombre, exécuter l’esquisse de traitement une fois et vous verrez une liste de la vos ports série dans le panneau sortie. Modifiez le code afin de tenir compte de votre choix.

Le code source :

Import processing.serial.* ;
java.awt.AWTException d’importation ;
java.awt.Robot d’importation ;
import java.awt.event.KeyEvent ;
import java.awt.event.InputEvent ;

Serial myPort ;
Char en = « 0 » ;
Robot robot ;
int x = 720 ;
int y = 450 ;
amt int = 10 ;
isBackspace booléen = false ;
isKeyboard booléen = false ;
isMouse booléen = false ;

void setup()
{
try {}
robot = new Robot() ;
} catch (AWTException e) {}
e.printStackTrace() ;
}
println(Serial.List()) ;
myPort = nouvelle série (ce, Serial.list() [0], 57600) ;
}

void draw()
{

robot.setAutoDelay(40) ;
robot.setAutoWaitForIdle(true) ;

if(myPort.available() > 0)
{

in = myPort.readChar() ;

déterminer le clavier ou la souris
Si (en == ''')
{
isBackspace = true ;
isKeyboard = false ;
isMouse = false ;
}
ElseIf (en == ' ^')
{
isKeyboard = true ;
isBackspace = false ;
isMouse = false ;
}
ElseIf (en == ' ~') {}
isMouse = true ;
isBackspace = false ;
isKeyboard = false ;
}

agir en tant que retour arrière
if(isBackspace)
{
Si (en == « B ») type(KeyEvent.VK_BACK_SPACE) ;
}
agir en tant que clavier
d’autre if(isKeyboard)
{
Switch(in)
{
case « A » :
typeCaps(KeyEvent.VK_A) ;
rupture ;
case « B » :
typeCaps(KeyEvent.VK_B) ;
rupture ;
case « C » :
typeCaps(KeyEvent.VK_C) ;
rupture ;
affaire aurait ":
typeCaps(KeyEvent.VK_D) ;
rupture ;
case « E » :
typeCaps(KeyEvent.VK_E) ;
rupture ;
case « F » :
typeCaps(KeyEvent.VK_F) ;
rupture ;
case « G » :
typeCaps(KeyEvent.VK_G) ;
rupture ;
case « H » :
typeCaps(KeyEvent.VK_H) ;
rupture ;
affaire « I » :
typeCaps(KeyEvent.VK_I) ;
rupture ;
Case « J » :
typeCaps(KeyEvent.VK_J) ;
rupture ;
case « K » :
typeCaps(KeyEvent.VK_K) ;
rupture ;
case « L » :
typeCaps(KeyEvent.VK_L) ;
rupture ;
cas suis ' :
typeCaps(KeyEvent.VK_M) ;
rupture ;
cas ' n ' :
typeCaps(KeyEvent.VK_N) ;
rupture ;
cas ' o ' :
typeCaps(KeyEvent.VK_O) ;
rupture ;
case « P » :
typeCaps(KeyEvent.VK_P) ;
rupture ;
case « Q » :
typeCaps(KeyEvent.VK_Q) ;
rupture ;
case « R » :
typeCaps(KeyEvent.VK_R) ;
rupture ;
de l’affaire ":
typeCaps(KeyEvent.VK_S) ;
rupture ;
affaire ' t » :
typeCaps(KeyEvent.VK_T) ;
rupture ;
case « U » :
typeCaps(KeyEvent.VK_U) ;
rupture ;
case « V » :
typeCaps(KeyEvent.VK_V) ;
rupture ;
case « W » :
typeCaps(KeyEvent.VK_W) ;
rupture ;
case « X » :
typeCaps(KeyEvent.VK_X) ;
rupture ;
affaire « Y » :
typeCaps(KeyEvent.VK_Y) ;
rupture ;
case « Z » :
typeCaps(KeyEvent.VK_Z) ;
rupture ;
case « a » :
type(KeyEvent.VK_A) ;
rupture ;
case « b » :
type(KeyEvent.VK_B) ;
rupture ;
case « c » :
type(KeyEvent.VK_C) ;
rupture ;
affaire aurait ":
type(KeyEvent.VK_D) ;
rupture ;
Case « e » :
type(KeyEvent.VK_E) ;
rupture ;
case « f » :
type(KeyEvent.VK_F) ;
rupture ;
case « g » :
type(KeyEvent.VK_G) ;
rupture ;
case « h » :
type(KeyEvent.VK_H) ;
rupture ;
affaire « i » :
type(KeyEvent.VK_I) ;
rupture ;
case « j » :
type(KeyEvent.VK_J) ;
rupture ;
case « k » :
type(KeyEvent.VK_K) ;
rupture ;
case « l » :
type(KeyEvent.VK_L) ;
rupture ;
cas suis ' :
type(KeyEvent.VK_M) ;
rupture ;
cas ' n ' :
type(KeyEvent.VK_N) ;
rupture ;
cas ' o ' :
type(KeyEvent.VK_O) ;
rupture ;
case « p » :
type(KeyEvent.VK_P) ;
rupture ;
case « q » :
type(KeyEvent.VK_Q) ;
rupture ;
case « r » :
type(KeyEvent.VK_R) ;
rupture ;
de l’affaire ":
type(KeyEvent.VK_S) ;
rupture ;
affaire ' t » :
type(KeyEvent.VK_T) ;
rupture ;
case « u » :
type(KeyEvent.VK_U) ;
rupture ;
case « v » :
type(KeyEvent.VK_V) ;
rupture ;
case « w » :
type(KeyEvent.VK_W) ;
rupture ;
case « x » :
type(KeyEvent.VK_X) ;
rupture ;
affaire « y » :
type(KeyEvent.VK_Y) ;
rupture ;
case « z » :
type(KeyEvent.VK_Z) ;
rupture ;
affaire « 0 » :
type(KeyEvent.VK_0) ;
rupture ;
affaire « 1 » :
type(KeyEvent.VK_1) ;
rupture ;
affaire « 2 » :
type(KeyEvent.VK_2) ;
rupture ;
affaire « 3 » :
type(KeyEvent.VK_3) ;
rupture ;
affaire « 4 » :
type(KeyEvent.VK_4) ;
rupture ;
affaire « 5 » :
type(KeyEvent.VK_5) ;
rupture ;
affaire « 6 » :
type(KeyEvent.VK_6) ;
rupture ;
affaire « 7 » :
type(KeyEvent.VK_7) ;
rupture ;
affaire « 8 » :
type(KeyEvent.VK_8) ;
rupture ;
cas « 9 » :
type(KeyEvent.VK_9) ;
rupture ;
cas ' ' :
type(KeyEvent.VK_SPACE) ;
rupture ;
cas « \n » :
type(KeyEvent.VK_ENTER) ;
rupture ;
cas '.' :
type(KeyEvent.VK_PERIOD) ;
rupture ;
affaire «, » :
type(KeyEvent.VK_COMMA) ;
rupture ;
cas « / » :
type(KeyEvent.VK_SLASH) ;
rupture ;
cas «; » :
type(KeyEvent.VK_SEMICOLON) ;
rupture ;
étude de cas « = » :
type(KeyEvent.VK_EQUALS) ;
rupture ;
cas '-' :
type(KeyEvent.VK_MINUS) ;
rupture ;

par défaut :
rupture ;
}
}
agir comme une souris
d’autre if(isMouse)
{
Switch(in)
{
case « Z » :
robot.mousePress(InputEvent.BUTTON1_MASK) ;
Delay(100) ;
robot.mouseRelease(InputEvent.BUTTON1_MASK) ;
rupture ;
case « X » :
robot.mousePress(InputEvent.BUTTON3_MASK) ;
Delay(100) ;
robot.mouseRelease(InputEvent.BUTTON3_MASK) ;
rupture ;
case « U » :
Si (y > 0) y = amt ;
robot.mouseMove (x, y) ;
rupture ;
affaire aurait ":
Si (y < 900) y += amt ;
robot.mouseMove (x, y) ;
rupture ;
case « L » :
if(x > 0) x-= amt ;
robot.mouseMove (x, y) ;
rupture ;
case « R » :
if(x < 1440) x += amt ;
robot.mouseMove (x, y) ;
rupture ;
case « P » :
Si (amt < 500) amt += 5 ;
rupture ;
cas suis ' :
Si amt (amt > 5)-= 5 ;
ElseIf (amt > 1) amt-= 1 ;
rupture ;

par défaut :
rupture ;
}
}
}
}

type void (int k)
{
robot.keyPress(k) ;
robot.keyRelease(k) ;
}
Sub typeCaps(int k)
{
robot.keyPress(KeyEvent.VK_SHIFT) ;
robot.keyPress(k) ;
robot.keyRelease(k) ;
robot.keyRelease(KeyEvent.VK_SHIFT) ;
}

Articles Liés

Contrôler les lumières RVB de Android avec Arduino & Bluetooth LE (BLE)

Contrôler les lumières RVB de Android avec Arduino & Bluetooth LE (BLE)

j'ai vu beaucoup de projets de Kickstarter mettant en vedette la nouvelle norme Bluetooth 4.0 Low Energy et clones Arduino à venir sur le marché, a permis un certain nombre de Bluetooth LE (BLE) mais nombre de ces projets semblent encore être quelque
Contrôle LED avec téléphone Android via BLE (Bluetooth 4.0), MangoCube App et Arduino UNO

Contrôle LED avec téléphone Android via BLE (Bluetooth 4.0), MangoCube App et Arduino UNO

Ce Instructable montre comment envoyer des données au contrôle LED sur Arduino UNO appareil Android.Vous aurez besoin au moins des éléments suivants ;1. Arduino UNO ou Conseil compatible.2. MangoCube BLE Conseil ( https://www.kickstarter.com/projects
ArduDroid : Un Simple contrôleur de base 2-Way Bluetooth Android pour Arduino RGB led bande

ArduDroid : Un Simple contrôleur de base 2-Way Bluetooth Android pour Arduino RGB led bande

INTRODUCTIONGET IT ON google app de jeu « ardudroid »ARDUDROID (anciennement Andruino) est une simple application Android pour vous aider à contrôler les broches de votre Arduino Uno (ou clone) depuis votre téléphone Android sans fil. C'est une appli
Contrôler votre lecteur de musique de mac avec arduino

Contrôler votre lecteur de musique de mac avec arduino

Contrôler iTunes et Vox les 2 plus populaires lecteurs de musique sur les ordinateurs mac avec un arduinoÉtape 1: Choses nécessairesArduino (j'utilise uno, mais tous doivent faire).Câble USB pour l'arduino.IR recevoir diode.Télécommande universelle I
Comment contrôler le climatiseur a/c à la maison avec Arduino, même de loin !

Comment contrôler le climatiseur a/c à la maison avec Arduino, même de loin !

Arduino permet vraiment de faire beaucoup de choses concernant l'Internet des objets, juste avoir un peu « désir et l'intuition pour créer tout type de projet.Dans ce post nous allons voir comment télécommande contrôle votre conditionneur d'air à la
Contrôler un grand déclencheur linéaire avec Arduino

Contrôler un grand déclencheur linéaire avec Arduino

Ce tutoriel de l'actionneur linéaire Arduino montre comment faire la base commande manuelle d'un grand déclencheur linéaire en utilisant un Arduino et deux boutons. Dans le premier jeu du code, le premier bouton s'étend de l'actionneur et le deuxième
Feetech servos comment contrôler simultanément les 26 pièces par arduino

Feetech servos comment contrôler simultanément les 26 pièces par arduino

J'utilise SCM-1 de contrôle des stupéfiants pour contrôler la connexion série sorte peut contrôler 26 morceaux feetech SCS15 servo à un moment donné.Le Robot de contrôle des stupéfiants (SCM-1) peut également accepter d'instructions d'UART, permettan
Contrôler un climatiseur IR avec Android et Arduino

Contrôler un climatiseur IR avec Android et Arduino

Pour mon premier projet Arduino, j'ai décidé de contrôler mon climatiseur sur internet à l'aide d'Arduino et mon téléphone portable Android partout où j'ai accès à internet. La vidéo est en espagnol mais vous obtiendrez ce que je suis la démonstratio
ArduDroid : Un Simple 2 voies Bluetooth-contrôleur basé sur Android pour Arduino

ArduDroid : Un Simple 2 voies Bluetooth-contrôleur basé sur Android pour Arduino

MISES À JOUR :Le 19 nov. 2031 : avis : la synergie incroyable entre Arduino & Android.30 octobre 2013 : Andruino est maintenant officiellement ARDUDROID et est bientôt disponible sur Google jeu. Ce changement de nom pour éviter un conflit avec une au
Comment contrôler un Arduino contrôlée des bras robotiques de Dobot équipe

Comment contrôler un Arduino contrôlée des bras robotiques de Dobot équipe

On dit toujours, Dobot est une haute précision, plusieurs bras robotisé Bureau de contrôle. Dans le dernier instructables, nous avons montré vous la haute précision et la fonctionnalité de bureau en construisant une découpe laser et soudure Dobot bra
Contrôler votre appareil photo reflex numérique avec l’iPhone et le Module de BLE Arduino

Contrôler votre appareil photo reflex numérique avec l’iPhone et le Module de BLE Arduino

Voici 10 minutes instructable pour contrôler l'appareil photo reflex numérique avec Arduino et iPhone.Étape 1: Liste des piecesUn Arduino UNO ou Mega ou Nano ou etc.J'ai utilisé un HM-10 Bluetooth Low Energy Module, mais je pense que tous les autres
Arduino en vol, un Arduino qui permet de contrôler un hélicoptère

Arduino en vol, un Arduino qui permet de contrôler un hélicoptère

j'ai vu de nombreux hacks pour contrôler un hélicoptère rc avec un arduino, mais j'ai un hélicoptère à l'aide de la radiocommande (non ir led). Avec quelques pièces je vais vous montrer comment construire votre propre ! Lire l'ensemble instructable a
À l’aide de routeur MikroTik Conseil 433 & Arduino pour contrôler deux LEDs

À l’aide de routeur MikroTik Conseil 433 & Arduino pour contrôler deux LEDs

Dans ce tutoriel, je vais expliquer comment contrôler deux voyants utilisant MikroTik routeur Conseil et Arduino.MikroTik 433 est un routeur basé sur le noyau Linux, il contient 3 ports Ethernet et 3 mini PCI port permet de raccorder les cartes sans
Contrôler Unity3d par Arduino

Contrôler Unity3d par Arduino

Salut, j'ai ce tutoriel je vais vous montrer comment facilement contrôler Unity3d ou toute autre technologie .net par Arduino.Si vous voulez faire l'inverse s'il vous plaît vérifier ce Instructable plutôt :https://www.mediafire.com/?f099cf2dba08bih