Arduino - Clavier série

Cet exemple écoute un octet provenant du port série. Lorsqu'elle est reçue, la carte renvoie une frappe à l'ordinateur. La frappe envoyée est supérieure de un à ce qui est reçu, donc si vous envoyez un "a" depuis le moniteur série, vous recevrez un "b" de la carte connectée à l'ordinateur. Un "1" renverra un "2" et ainsi de suite.

Warning - Lorsque vous utilisez le Keyboard.print()commande, la carte Leonardo, Micro ou Due prend le contrôle du clavier de votre ordinateur. Pour vous assurer de ne pas perdre le contrôle de votre ordinateur lors de l'exécution d'un croquis avec cette fonction, configurez un système de contrôle fiable avant d'appeler Keyboard.print (). Ce schéma est conçu pour envoyer une commande clavier uniquement après que la carte a reçu un octet sur le port série.

Composants requis

Vous aurez besoin des composants suivants -

  • 1 × carte Arduino Leonardo, Micro ou Due

Procédure

Connectez simplement votre carte à l'ordinateur à l'aide d'un câble USB.

Esquisser

Ouvrez le logiciel Arduino IDE sur votre ordinateur. Le codage en langage Arduino contrôlera votre circuit. Ouvrez un nouveau fichier d'esquisse en cliquant sur Nouveau.

Notes- Vous devez inclure la bibliothèque de clavier dans votre fichier de bibliothèque Arduino. Copiez et collez le fichier de bibliothèque de clavier dans le fichier avec le nom «bibliothèques» surligné en jaune.

Code Arduino

/*
   Keyboard test
   For the Arduino Leonardo, Micro or Due Reads
      a byte from the serial port, sends a keystroke back. 
   The sent keystroke is one higher than what's received, e.g. if you send a, you get b, send
      A you get B, and so forth.
   The circuit:
   * none
*/

#include "Keyboard.h"

void setup() {
   // open the serial port:
   Serial.begin(9600);
   // initialize control over the keyboard:
   Keyboard.begin();
}

void loop() {
   // check for incoming serial data:
   if (Serial.available() > 0) {
      // read incoming serial data:
      char inChar = Serial.read();
      // Type the next ASCII value from what you received:
      Keyboard.write(inChar + 1);
   }
}

Code à noter

Une fois programmé, ouvrez votre moniteur série et envoyez un octet. La carte répondra par une touche, soit un chiffre plus haut.

Résultat

La carte répondra avec une frappe qui est un nombre plus élevé sur le moniteur série Arduino IDE lorsque vous envoyez un octet.