반응형
Notice
Recent Posts
Recent Comments
Link
Brise
자작 키보드 - Prototype 본문
반응형
BOM
- Arduino Pro Micro
- 기계식 스위치
- 우드락
키보드로 동작이 가능한지, 스위치 치수를 어느정도로 해야 할 지에 대한 테스트로
프로토타입 키보드를 만들어 보았다.
인터넷에서 가끔씩 보아왔던 Ctrl, Alt, Delete만 있는 키보드를 만들어 보자.
키가 3개밖에 없는 만큼 복잡한 회로는 필요 없으며, 간단하게 vcc와 스위치 그리고 핀 입력을 연결하면 된다.
주요 함수는
Keyboard.begin()
Keyboard.press(char)
Keyboard.release(char)
이다.
기본적으로 아두이노에서는 ASCII 코드에 해당하는 값들을 전송 가능하며
추가적인 키들(e.g. 컨트롤, 알트, F1~12)등은 다음의 주소에서 값들을 확인 가능하다.
(https://www.arduino.cc/en/Reference/KeyboardModifiers)
아두이노로 만든 키보드는 BIOS에서 정상적으로 동작하지 않는데, 이 부분에 대한 보강 방법을 찾아야 할 필요가 있을 것 같다.
코드는 다음과 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #include <stdio.h> #include <stdint.h> #include <Keyboard.h> void setup() { // put your setup code here, to run once: pinMode(5,OUTPUT); pinMode(2, INPUT); pinMode(3, INPUT); pinMode(4, INPUT); Serial.begin(9600); Keyboard.begin(); //while(!Serial); } uint8_t key_map[] = {KEY_LEFT_CTRL, KEY_LEFT_ALT, KEY_DELETE};//{'q', 'w', 'e'};// void loop() { digitalWrite(5, HIGH); uint8_t key_status = 0; for(int i=0; i<3; i++){ key_status += digitalRead(2+i) << i; } for(int j=0; j<3; j++){ if(key_status & (1<<j)){ Keyboard.press(key_map[j]); } else { Keyboard.release(key_map[j]); } } } | cs |
반응형
'DIY > 자작 키보드' 카테고리의 다른 글
[DIY] 기계식 스위치 보강판용과 무보강판용 차이 (0) | 2017.05.26 |
---|---|
[DIY] 커스텀 키보드를 만들기 위한 가이드 모음 (1) | 2017.05.23 |
키보드 자료구조 (0) | 2017.05.22 |
두번쩨 프로토 타입 키보드 완성 (0) | 2017.05.21 |
키보드 케이스 모델 (0) | 2017.05.11 |
키보드 레이아웃 (0) | 2017.04.19 |
시작하며.. (0) | 2017.04.19 |
Comments