Chế tạo keyboard với Arduino Pro Micro

I. Giới thiệu

Pro Micro là 1 Board Arduino độc đáo với chức năng HID (Human Interface Device) có thể giả lập chuột và bàn phím. Bài này tui sẽ hướng dẫn các bạn làm 1 keyboard độc đáo bằng Arduino Pro Micro

II. Chuẩn bị

III. Kết nối

Bạn chỉ việc nối button vào board Arduino Pro Micro qua điện trở 10k thôi:

IV. Chương trình

Giới thiệu về lệnh

Để làm được project này, chúng ta cần tìm hiểu các lệnh của thư viện Keyboard.h. Thư viện này chỉ sử dụng cho những board hỗ trợ HID USB thôi nhá...Như Lenardo hay Pro Micro...Không cần Add thư viện hay gì hết,,,bạn cứ dùng lệnh bình thường...vì nó đã được tích hợp sẵn r

  • Keyboard.write(char): Lệnh này gửi ký tự đến cổng USB theo bảng mã ASCII...VD: Keyboard.write('z'), thỳ máy tính sẽ nhận được ký tự 'z' từ keyboard...Lưu ý phải có ngoặc '' bao quanh cái ký tự cần gửi
  • Keyboard.print(string): Lệnh này cho phép keyboard gửi 1 chuỗi ký tự đến máy tính...VD: Keyboard.print("Cộng đồng Arduino Việt Nam")...Sau khi gửi lệnh này, máy tính sẽ nhận được chuỗi "Cộng đồng Arduino Việt Nam".
  • Keyboard.println(string): Cũng giống như Keyboard.print()....nhưng sau khi gửi lệnh, máy tính sẽ nhận thêm phím [ENTER] khi kết thúc chuỗi
  • Keyboard.press(byte): Lệnh này cho phép gửi tín hiệu của nhấn các phím tương ứng như: Alt, Ctrl,...
  • Keyboard.release(byte): Sau khi thực hiện lệnh này, thì sẽ hủy nhấn phím (tức là không giữ cái phím đấy nữa)

Ví dụ về Code

Gửi một ký tự

int buttonPin = 2;  // Set chân button là chân số 2

void setup()
{
  pinMode(buttonPin, INPUT);  
  
}

void loop()
{
  if (digitalRead(buttonPin) == 1)  // Nếu button được nhấn
  {
    Keyboard.write('z');  // Gửi ký tự 'z' đến máy tính qua cổngS
    delay(1000);  
  }
}

Nhấn tổ hợp phím

#define KEY_RIGHT_SHIFT    0x85
#define KEY_RIGHT_ALT  0x86
#define KEY_RIGHT_GUI  0x87

#define KEY_UP_ARROW   0xDA
#define KEY_DOWN_ARROW 0xD9
#define KEY_LEFT_ARROW 0xD8
#define KEY_RIGHT_ARROW    0xD7
#define KEY_BACKSPACE  0xB2
#define KEY_TAB        0xB3
#define KEY_RETURN 0xB0
#define KEY_ESC        0xB1
#define KEY_INSERT 0xD1
#define KEY_DELETE 0xD4
#define KEY_PAGE_UP    0xD3
#define KEY_PAGE_DOWN  0xD6
#define KEY_HOME   0xD2
#define KEY_END        0xD5
#define KEY_CAPS_LOCK  0xC1
#define KEY_F1     0xC2
#define KEY_F2     0xC3
#define KEY_F3     0xC4
#define KEY_F4     0xC5
#define KEY_F5     0xC6
#define KEY_F6     0xC7
#define KEY_F7     0xC8
#define KEY_F8     0xC9
#define KEY_F9     0xCA
#define KEY_F10        0xCB
#define KEY_F11        0xCC
#define KEY_F12        0xCD
// đầu tiên phải define các giá trị của phím tương ứng
void setup()
{
pinMode(9, INPUT);
}
void loop()
{
if(digitalRead(9)==HIGH)
{
 Keyboard.press(KEY_LEFT_ALT);//Lưu ý Keyboard.press là giữ phím 
 Keyboard.write(KEY_F4);//Keyboard.write() là ấn phím, không phải giữ phím
 Keyboard.release(KEY_LEFT_ALT);//Nhả phím Alt ra
 //Thực hiện ấn lần lượt các phím Alt+F4...
 }
 
}

IV. Lời kết

Tương tự như vậy, các bạn có thể tạo ra được 1 keyboard hoàn chỉnh cho riêng mình...Không có j là khó khăn phải không ạ?? Chúc các bạn thành công, nếu thấy hay thỳ Rate Node cho mình nhé!!!

 

 

 

 

 

 

lên
27 thành viên đã đánh giá bài viết này hữu ích.
Bài liên quan
Các dự án được truyền cảm hứng

Xe điều khiển bằng tay game Dual Shock3 thông qua Bluetooth

Vừa bắt đầu với arduino được hơn 1 tuần, có tham khảo qua các nguồn từ "trung ương đến địa phương", nắm được 1 số kiến thức cơ bản nên mình bắt đầu thực hiện 1 sản phẩm để đúc kết kinh nghiệm. Trong số đó thì xe điều khiển là dễ nhất. Kết hợp với cái tay game ps3 nằm lăn lóc ở góc nhà. Thế là có 1 chiếc xe điều khiển từ xa. Bắt đầu nhé.

lên
17 thành viên đã đánh giá bài viết này hữu ích.

Làm xe điều khiển từ xa bằng Bluetooth - Điều khiển bằng Android với App Inventor

Mình rất thích điện tử nhưng không học về ngành điện tử. Rất may là có Adruino, rồi có cộng đồng Adruino Việt Nam, đặc biệt là sự nhiệt tình của tất cả các bạn trong cộng đồng, mình đã làm được 1 chiếc xe điều khiển từ xa. Cho con chơi là lí do phụ thôi, còn tìm hiểu, học tập là chính. Hôm nay chia sẻ cùng các bạn, cùng gửi lời cảm ơn đến tất cả các bạn trong cộng đồng. Có bạn thì giúp đỡ trực tiếp, có bạn thì viết bài, rồi có bạn thì bình luận, nêu câu hỏi. Tất cả đều có giá trị đối với mình.

Ngại viết bài nên mình đăng dưới dạng ảnh.

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Joystick - Nút nhấn đa hướng

Hôm nay, mình sẽ hướng dẫn các bạn sử dụng Joystick....Các bạn hãy để ý những nút di chuyển đa hướng trên những tay game PS, đó chính là Joystick, nó thường được ứng dụng trong tay game, tay điều khiển robot, cần gạt,....Vậy làm thế nào để sử dụng nó???

lên
26 thành viên đã đánh giá bài viết này hữu ích.

Kết nối Raspberry và máy tính qua cổng Serial

Trong bài chia sẻ này, mình sẽ chia sẻ cách kết nối, điều khiển Raspberry Pi 2 qua cổng Serial. Ưu điểm của cách kết nối này là có thể đồng thời cấp nguồn cho Pi của bạn và không cần bàn phím, chuột hay màn hình kết nối và làm việc với Pi. Bạn sẽ cần cài đặt phần mềm mô phỏng thiết bị đầu cuối ( ở đây là Putty) nếu bạn sử dụng Windows, ngoài ra còn cần cài đặt Driver cần thiết. Raspberry Pi được tích hợp sẵn cổng giao tiếp nối tiếp Serial cho phép các thiết bị kết nối tới giao diện điều khiển dòng lệnh, đăng nhập và làm việc như một User. Chúng ta cũng nên tìm hiểu một cách tương tự để kết nối với Pi qua mạng nội bộ sử dụng SSH theo bài viết sau của bác raspi: tại đây

lên
10 thành viên đã đánh giá bài viết này hữu ích.