Arduino - Bàn phím nối tiếp

Ví dụ này lắng nghe một byte đến từ cổng nối tiếp. Khi nhận được, hội đồng quản trị sẽ gửi một tổ hợp phím trở lại máy tính. Tổ hợp phím đã gửi cao hơn một phím so với tổ hợp phím nhận được, vì vậy nếu bạn gửi "a" từ màn hình nối tiếp, bạn sẽ nhận được "b" từ bảng kết nối với máy tính. "1" sẽ trả về "2", v.v.

Warning - Khi bạn sử dụng Keyboard.print()lệnh, bảng Leonardo, Micro hoặc Due tiếp quản bàn phím máy tính của bạn. Để đảm bảo bạn không mất quyền kiểm soát máy tính của mình trong khi chạy bản phác thảo với chức năng này, hãy thiết lập một hệ thống điều khiển đáng tin cậy trước khi bạn gọi Keyboard.print (). Bản phác thảo này được thiết kế để chỉ gửi lệnh Bàn phím sau khi bảng đã nhận được một byte qua cổng nối tiếp.

Thành phần bắt buộc

Bạn sẽ cần các thành phần sau:

  • 1 × Arduino Leonardo, Micro hoặc bảng Do

Thủ tục

Chỉ cần kết nối bo mạch của bạn với máy tính bằng cáp USB.

Phác thảo

Mở phần mềm Arduino IDE trên máy tính của bạn. Mã hóa bằng ngôn ngữ Arduino sẽ điều khiển mạch của bạn. Mở một tệp phác thảo mới bằng cách nhấp vào Mới.

Notes- Bạn phải bao gồm thư viện bàn phím trong tệp thư viện Arduino của mình. Sao chép và dán tệp thư viện bàn phím vào bên trong tệp có tên 'thư viện' được đánh dấu bằng màu vàng.

Mã 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);
   }
}

Mã cần lưu ý

Sau khi được lập trình, hãy mở màn hình nối tiếp của bạn và gửi một byte. Bảng sẽ trả lời bằng một tổ hợp phím, tức là cao hơn một số.

Kết quả

Bo mạch sẽ trả lời bằng một tổ hợp phím cao hơn một số trên màn hình nối tiếp Arduino IDE khi bạn gửi một byte.