완료 보고는 여기에...


www.kbdmania.net/xe/index.php?mid=freeboard&document_srl=8618569


---


아무도 관심 없으시겠지만... 혹시 저 스스로 나중에 다시 읽어볼까 하여 기록을 남깁니다 ㅋㅋ


우선 레이아웃. 64키입니다.


feaabf6d2fc9433c18ba2cf96eb0d4a2.png

그래도 스페이스바가 두 칸은 되어야 할 것 같아서 한영/한자 키를 펑션 처리하여 하나의 키로 쓰기로 했습니다.

키캡은 구매 가능한 가격 범위 내에서 열심히 찾아봤지만 모디키가 1x1 사이즈인 키캡은 전혀 없을 것이고, 각인을 자가로 새기는 것도 다양한 부담과 어려움이 있을 것 같아서 그냥 글자 자리와 모디 자리를 구분하여 2색 무각으로 쓰면 어느정도 알아볼 것 같아서 무각으로 하려합니다.

도색...은 프라모델을 약간 해봤지만 손으로 만지는 물건은 도색하지 말자 주의가 된 관계로 다이론 염색을 하려고 합니다. 검정색 키캡에 밝은색 염색은 안될테니 흰색 키캡에 회색 염색을 하려고 했는데 흰색 무각 키캡은 팔질 않더군요. 무각 키캡 한벌 다 파는데 검정색이 아닌건 레오폴드 네이비밖에 없어서 이것을 사서 글자키를 검정색으로 염색하려합니다.


3f527eb531a2e6488f1555906a14843f.JPG


하여 레오폴드 네이비 키캡과 체리 MX 청축 스위치가 오늘 배달왔습니다. 하우징이랑 기판을 짜야하니 우선 버니어 캘리퍼스로 실측을 해봅니다. 문제는 체리 스위치가 아무래도 전자부품이다보니 원래 단위가 미터릭이 아니라 임페리얼인 것 같은데요, 체리사 홈페이지에 있는 데이터 시트의 값이랑 약간 다른 것 같습니다. 실측 결과는 다음과 같습니다. (오차 1/20 mm)


37f3fe67cecc8494b80e6fdb1b93db64.jpg

그리고 체리 MX 스위치의 접점은 흔히 빵판이나 만능기판으로 쓰는 2.54mm 피치가 아니라 1.27mm 피치로 되어있어서, 키보드에 필요한 100*300mm짜리 판떼기가 안나오더군요. 사실 다리 핀을 접으면 2.54mm에도 꼽히긴 꼽힐텐데... 일단 한 번 만능기판 쓰지 않고 아크릴로 적당히 파서 와이어링을 해보려고 합니다. 아크릴로 실패하면 2.54mm 100*300 만능기판에다가 해볼 생각입니다.

f5663248e1df427a12120de4c4a911fd.png

아크릴은 이렇게 보강판 5T, 기판 2T, (+ 기판 회로 뒤에 너저분한 와이어링과 저항을 가릴 EVA폼 5T), 바닥 5T로 키보드 전체두께 총 17T 예상해봅니다. 아크릴판을 몇 겹 더 넣으면 깔끔할텐데 우선 실패할 수도 있기 때문에 최대한 판 수를 줄여서 해보렵니다.


여기 2T짜리 기판 부분에 스위치를 낑구고 그냥 전선과 저항을 납땜할건데요, 이거 잘 될지 의문입니다. 아크릴 레이저 가공으로 판재가 아무리 2T로 얇다지만 지름 1밀리짜리 구멍은 못 뚫을 것이라, 다리가 꼽히는 구멍이 2*2mm의 사각형으로 큼직하게 뚫었는데, 지금 아얘 전선을 스위치에 먼저 땜하고 끼워넣어버릴지 고민입니다.


그다음에 키 와이어링인데요...


46eff5599432fc78cf2dcf3eb7b5b950.png

일단 아두이노에서 아날로그 입력을 받을 수 있는 핀이 공식적으로 우노/레오나르도 기본보드에서 총 6개(A0~A5)가 있잖습니까. 근데 심심해서 디지털핀에도 실험을 해봤더니 신기하게 D8, D9, D10 3개 핀은 아날로그 입력을 받을 수가 있습니다. 왠지 모르겠는데 되네요... 지금 그래서 아날로그 8개 핀을 써서 각각 6~7개씩의 키를 할당하여 54개의 키를 처리할 생각이구요...

핀 하나에 물려진 키들 사이에는 동시키입력을 구현하기가 너무나도 어렵기 때문에 불가능 처리, 하지만 쉬프트, 펑션, 컨트롤, 알트, 윈도우, 네방향키의 경우 동시입력이 빈번히 일어날 것 같아서 얘네는 각각 디지털핀에 1:1로 물릴 생각입니다. 그리고 WASD+QE 키도 동시입력이 빈번히 일어날 것으로 예상되어, 이 여섯 개는 서로 겹치지 않는 아날로그 핀에 물릴 계획입니다. 이거 좀 괜찮지 않나요 ㅋㅋ

77b501c5f374c3acf5f40a5b6771bf37.JPG

해서 핀 하나에 키 7개를 물려야하므로 서로 값이 다른 저항 최소 6종류가 있어야 각 키 구분이 가능하니까, 약간 넉넉하게 8종류를 구입해봤습니다. DA값이 아주 정확하게 오차없이 들어오면 상관이 없는데 분명 오차가 있을 것이기 때문에 간격을 넉넉히 띄울 심산으로... INPUT_PULLUP 으로 입력핀 - 저항 - 그라운드 순서로 저항값별 DA를 받아보니까

실험 결과 (아두이노 레오나르도, 분해능 10비트, 제 경우 한정이므로 여러분의 경우와 값이 좀 다를 수 있음)

직결 = 16~18
560 = 35~36
1k = 49~50
3.3k = 116~118
6.8k = 205~206
12k = 313~314
27k = 524~526
56k = 739~741
100k = 892~894
156k 이상 및 무접점 = 1021 ~ 1023

로 각 값간 차이가 100 정도 나는, 우연히도 훌륭한 저항 분포를 찾은 것 같습니다. 3.3k~100k간 6단계의 저항을 쓰려합니다.

오늘은 여기까지 진행했습니다. 내일 모레 아크릴 하우징이 배달오면 스위치 장착과 땜질이 과연 가능할지... 가 관건입니다. 거기가서 망하면 일이 커지는데 고민입니다.