Billentyűzet Soros

Beolvas egy bájtot a soros portról, és visszaküld egy billentyűleütést.


Utolsó felülvizsgálat: 2022.02.04 16:50


Ez a példa a soros portról érkező bájtokra figyel. Amikor megérkezik, a kártya egy billentyűleütést küld vissza a számítógépnek. Az elküldött billentyűleütés eggyel nagyobb, mint a fogadott, tehát ha "a"-t küld a soros monitorról, akkor "b"-t fog kapni a számítógéphez csatlakoztatott kártyáról. Az "1" egy "2"-t ad vissza, és így tovább.

Megjegyzés: Amikor a Keyboard.print() parancsot használja, a Leonardo, a Micro vagy a Due átveszi a számítógép billentyűzetét! Annak érdekében, hogy ne veszítse el az uralmat a számítógépe felett, miközben vázlatot futtat ezzel a funkcióval, győződjön meg arról, hogy egy megbízható vezérlőrendszert állít be, mielőtt meghívja a Keyboard.print() parancsot. Ezt a vázlatot úgy tervezték, hogy csak azután küldjön el billentyűzet parancsot, miután a kártya kapott egy bájtot a soros porton keresztül.

Hardver szükséglet

  • Arduino Leonardo, Micro, vagy Due kártya

Az áramkör

Csatlakoztassa a kártyát a számítógéphez mikro-USB-kábellel.

A programozás után nyissa meg a soros monitort, és küldjön egy bájtot. A kártya egy számmal magasabb billentyűleütéssel válaszol.

A kód

/*
  Keyboard test

  Arduino Leonardo, Micro vagy Due kártyához

  Beolvas egy bájtot a soros portról, visszaküld egy billentyűleütést.
  Az elküldött billentyűleütés eggyel magasabb, mint a fogadott, pl. ha
  a-t küldesz, b-t kapsz, A-t kapsz B-t, és így tovább. 

  Az áramkör:
  - nincs

  created 21 Oct 2011
  modified 27 Mar 2012
  by Tom Igoe

  Ez a kód nyilvános.

  https://docs.arduino.cc/built-in-examples/usb/KeyboardSerial
*/

#include "Keyboard.h"

void setup() {
  // a soros port megnyitása:
  Serial.begin(9600);
  // inicializálja a billentyűzet vezérlését:
  Keyboard.begin();
}

void loop() {
  // ellenőrizze a bejövő soros adatokat:
  if (Serial.available() > 0) {
    // bejövő soros adatok olvasása:
    char inChar = Serial.read();
    // Írja a kapott érték következő ASCII értékét:
    Keyboard.write(inChar + 1);
  }
}

Tudj meg többet

További alapvető oktatóanyagokat a beépített példák részben talál.

Felfedezheti a nyelvi referenciát is, az Arduino programozási nyelv részletes gyűjteményét.