Arduino - คีย์บอร์ดอนุกรม

ตัวอย่างนี้ฟังไบต์ที่มาจากพอร์ตอนุกรม เมื่อได้รับบอร์ดจะส่งการกดแป้นพิมพ์กลับไปที่คอมพิวเตอร์ การกดแป้นพิมพ์ที่ส่งจะสูงกว่าที่ได้รับดังนั้นหากคุณส่ง "a" จากจอภาพอนุกรมคุณจะได้รับ "b" จากบอร์ดที่เชื่อมต่อกับคอมพิวเตอร์ "1" จะส่งกลับ "2" และอื่น ๆ

Warning - เมื่อคุณใช้ไฟล์ Keyboard.print()คำสั่งบอร์ด Leonardo, Micro หรือ Due จะเข้าควบคุมคีย์บอร์ดของคอมพิวเตอร์ของคุณ เพื่อให้แน่ใจว่าคุณจะไม่สูญเสียการควบคุมคอมพิวเตอร์ของคุณในขณะที่รันร่างด้วยฟังก์ชันนี้ให้ตั้งค่าระบบควบคุมที่เชื่อถือได้ก่อนที่คุณจะเรียก Keyboard.print () ภาพร่างนี้ออกแบบมาเพื่อส่งคำสั่ง Keyboard หลังจากที่บอร์ดได้รับไบต์ผ่านพอร์ตอนุกรมเท่านั้น

ส่วนประกอบที่จำเป็น

คุณจะต้องมีส่วนประกอบต่อไปนี้ -

  • 1 × Arduino Leonardo, Micro หรือ Due board

ขั้นตอน

เพียงเชื่อมต่อบอร์ดของคุณเข้ากับคอมพิวเตอร์โดยใช้สาย USB

ร่าง

เปิดซอฟต์แวร์ Arduino IDE บนคอมพิวเตอร์ของคุณ การเข้ารหัสในภาษา Arduino จะควบคุมวงจรของคุณ เปิดไฟล์ร่างใหม่โดยคลิกใหม่

Notes- คุณต้องรวมไลบรารีปุ่มกดในไฟล์ไลบรารี Arduino ของคุณ คัดลอกและวางไฟล์ไลบรารีปุ่มกดภายในไฟล์โดยเน้นชื่อ 'libraries' ด้วยสีเหลือง

รหัส 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);
   }
}

รหัสที่ควรทราบ

เมื่อตั้งโปรแกรมแล้วให้เปิดจอภาพอนุกรมของคุณแล้วส่งไบต์ บอร์ดจะตอบกลับด้วยการกดแป้นพิมพ์ซึ่งสูงกว่าหนึ่งหมายเลข

ผลลัพธ์

บอร์ดจะตอบกลับด้วยการกดแป้นพิมพ์ที่สูงกว่าหนึ่งหมายเลขบนจอภาพอนุกรม Arduino IDE เมื่อคุณส่งไบต์