การทำให้บอร์ด Arduino เป็นคีย์บอร์ดสำหรับนำไปใช้งานต่างๆ เช่น การทำเป็นตัวใส่รหัส Login ต่างๆ หรือแม้กระทั่งบอทเกมส์สำหรับมือถือและคอมพิวเตอร์
โค้ดตัวอย่าง
char ctrlKey = KEY_LEFT_CTRL;
void setup()
{
// ใช้ pin 2 เป็น input สำหรับเปิด-ปิด การทำงาน โดยการต่อกับ GND
pinMode(2, INPUT_PULLUP);
// initialize control over the keyboard:
Keyboard.begin();
}
void loop()
{
while (digitalRead(2) == HIGH)
{
// do nothing until pin 2 goes low
delay(500);
}
// Keyboard.press(ctrlKey);
Keyboard.press(0x80); // ใช้กับคีย์พิเศษเช่น CTRL, SHIFT, HOME
delay(100);
Keyboard.write('n'); // ใช้สำหรับคีย์ทั่วไปเช่น ตัวอักษร และอักขระต่างๆ
delay(1000);
}
วิธีการทำ
Step 1 : copy โค้ดด้านบนมาวางไว้ใน arduino ide ดังรูป (ใช้ Arduino Ide 1.6.5)
Step 2 : เลือกบอร์ดที่จะใช้งานเป็น Arduino Leonardo (แต่ในที่นี่ใช่บอร์ด Arduino Pro Micro แทน) เลือก Port ให้ตรงกันกับบอร์ด ***เลือกบอร์ดที่จะใช้งานเป็น Arduino Leonardo เหมือนเดิม
Step 3 : Upload โปรแกรมไปยังบอร์ด
คีย์ตัวอักษร และอักขระต่างๆ
Binary | Oct | Dec | Hex | Glyph |
010 0000 | 40 | 32 | 20 | |
010 0001 | 41 | 33 | 21 | ! |
010 0010 | 42 | 34 | 22 | |
010 0011 | 43 | 35 | 23 | # |
010 0100 | 44 | 36 | 24 | $ |
010 0101 | 45 | 37 | 25 | % |
010 0110 | 46 | 38 | 26 | & |
010 0111 | 47 | 39 | 27 | ' |
010 1000 | 50 | 40 | 28 | ( |
010 1001 | 51 | 41 | 29 | ) |
010 1010 | 52 | 42 | 2A | * |
010 1011 | 53 | 43 | 2B | + |
010 1100 | 54 | 44 | 2C | , |
010 1101 | 55 | 45 | 2D | - |
010 1110 | 56 | 46 | 2E | . |
010 1111 | 57 | 47 | 2F | / |
011 0000 | 60 | 48 | 30 | 0 |
011 0001 | 61 | 49 | 31 | 1 |
011 0010 | 62 | 50 | 32 | 2 |
011 0011 | 63 | 51 | 33 | 3 |
011 0100 | 64 | 52 | 34 | 4 |
011 0101 | 65 | 53 | 35 | 5 |
011 0110 | 66 | 54 | 36 | 6 |
011 0111 | 67 | 55 | 37 | 7 |
011 1000 | 70 | 56 | 38 | 8 |
011 1001 | 71 | 57 | 39 | 9 |
011 1010 | 72 | 58 | 3A | : |
011 1011 | 73 | 59 | 3B | ; |
011 1100 | 74 | 60 | 3C | < |
011 1101 | 75 | 61 | 3D | = |
011 1110 | 76 | 62 | 3E | > |
011 1111 | 77 | 63 | 3F | ? |
100 0000 | 100 | 64 | 40 | @ |
100 0001 | 101 | 65 | 41 | A |
100 0010 | 102 | 66 | 42 | B |
100 0011 | 103 | 67 | 43 | C |
100 0100 | 104 | 68 | 44 | D |
100 0101 | 105 | 69 | 45 | E |
100 0110 | 106 | 70 | 46 | F |
100 0111 | 107 | 71 | 47 | G |
100 1000 | 110 | 72 | 48 | H |
100 1001 | 111 | 73 | 49 | I |
100 1010 | 112 | 74 | 4A | J |
100 1011 | 113 | 75 | 4B | K |
100 1100 | 114 | 76 | 4C | L |
100 1101 | 115 | 77 | 4D | M |
100 1110 | 116 | 78 | 4E | N |
100 1111 | 117 | 79 | 4F | O |
101 0000 | 120 | 80 | 50 | P |
101 0001 | 121 | 81 | 51 | Q |
101 0010 | 122 | 82 | 52 | R |
101 0011 | 123 | 83 | 53 | S |
101 0100 | 124 | 84 | 54 | T |
101 0101 | 125 | 85 | 55 | U |
101 0110 | 126 | 86 | 56 | V |
101 0111 | 127 | 87 | 57 | W |
101 1000 | 130 | 88 | 58 | X |
101 1001 | 131 | 89 | 59 | Y |
101 1010 | 132 | 90 | 5A | Z |
101 1011 | 133 | 91 | 5B | [ |
101 1100 | 134 | 92 | 5C | \ |
101 1101 | 135 | 93 | 5D | ] |
101 1110 | 136 | 94 | 5E | ^ |
101 1111 | 137 | 95 | 5F | _ |
110 0000 | 140 | 96 | 60 | ` |
110 0001 | 141 | 97 | 61 | a |
110 0010 | 142 | 98 | 62 | b |
110 0011 | 143 | 99 | 63 | c |
110 0100 | 144 | 100 | 64 | d |
110 0101 | 145 | 101 | 65 | e |
110 0110 | 146 | 102 | 66 | f |
110 0111 | 147 | 103 | 67 | g |
110 1000 | 150 | 104 | 68 | h |
110 1001 | 151 | 105 | 69 | i |
110 1010 | 152 | 106 | 6A | j |
110 1011 | 153 | 107 | 6B | k |
110 1100 | 154 | 108 | 6C | l |
110 1101 | 155 | 109 | 6D | m |
110 1110 | 156 | 110 | 6E | n |
110 1111 | 157 | 111 | 6F | o |
111 0000 | 160 | 112 | 70 | p |
111 0001 | 161 | 113 | 71 | q |
111 0010 | 162 | 114 | 72 | r |
111 0011 | 163 | 115 | 73 | s |
111 0100 | 164 | 116 | 74 | t |
111 0101 | 165 | 117 | 75 | u |
111 0110 | 166 | 118 | 76 | v |
111 0111 | 167 | 119 | 77 | w |
111 1000 | 170 | 120 | 78 | x |
111 1001 | 171 | 121 | 79 | y |
111 1010 | 172 | 122 | 7A | z |
111 1011 | 173 | 123 | 7B | { |
111 1100 | 174 | 124 | 7C | | |
111 1101 | 175 | 125 | 7D | } |
111 1110 | 176 | 126 | 7E | ~ |
Key | Hexadecimal value | Decimal value |
KEY_LEFT_CTRL | 0x80 | 128 |
KEY_LEFT_SHIFT | 0x81 | 129 |
KEY_LEFT_ALT | 0x82 | 130 |
KEY_LEFT_GUI | 0x83 | 131 |
KEY_RIGHT_CTRL | 0x84 | 132 |
KEY_RIGHT_SHIFT | 0x85 | 133 |
KEY_RIGHT_ALT | 0x86 | 134 |
KEY_RIGHT_GUI | 0x87 | 135 |
KEY_UP_ARROW | 0xDA | 218 |
KEY_DOWN_ARROW | 0xD9 | 217 |
KEY_LEFT_ARROW | 0xD8 | 216 |
KEY_RIGHT_ARROW | 0xD7 | 215 |
KEY_BACKSPACE | 0xB2 | 178 |
KEY_TAB | 0xB3 | 179 |
KEY_RETURN | 0xB0 | 176 |
KEY_ESC | 0xB1 | 177 |
KEY_INSERT | 0xD1 | 209 |
KEY_DELETE | 0xD4 | 212 |
KEY_PAGE_UP | 0xD3 | 211 |
KEY_PAGE_DOWN | 0xD6 | 214 |
KEY_HOME | 0xD2 | 210 |
KEY_END | 0xD5 | 213 |
KEY_CAPS_LOCK | 0xC1 | 193 |
KEY_F1 | 0xC2 | 194 |
KEY_F2 | 0xC3 | 195 |
KEY_F3 | 0xC4 | 196 |
KEY_F4 | 0xC5 | 197 |
KEY_F5 | 0xC6 | 198 |
KEY_F6 | 0xC7 | 199 |
KEY_F7 | 0xC8 | 200 |
KEY_F8 | 0xC9 | 201 |
KEY_F9 | 0xCA | 202 |
KEY_F10 | 0xCB | 203 |
KEY_F11 | 0xCC | 204 |
KEY_F12 | 0xCD | 205 |
ฟังก์ชันเพิ่มเติม : https://www.arduino.cc/en/Reference/KeyboardPress
ที่มา : https://en.wikipedia.org/wiki/ASCII
หน้าที่เข้าชม | 7,125,486 ครั้ง |
ผู้ชมทั้งหมด | 2,822,384 ครั้ง |
เปิดร้าน | 15 ก.ย. 2557 |
ร้านค้าอัพเดท | 6 ก.ย. 2568 |