CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·주식한당 ·아이포니앙 ·MaClien ·일본산당 ·방탄소년당 ·개발한당 ·자전거당 ·안드로메당 ·이륜차당 ·소셜게임한당 ·육아당 ·AI당 ·나스당 ·소시당 ·가상화폐당 ·디아블로당 ·골프당 ·클다방 ·야구당 ·걸그룹당 ·젬워한당 ·리눅서당 ·영화본당 ·사과시계당 ·캠핑간당 ·패셔니앙 ·맛있겠당 ·IoT당 ·키보드당 ·라즈베리파이당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·보드게임당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·콘솔한당 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·전기자전거당 ·e북본당 ·갖고다닌당 ·이브한당 ·물고기당 ·도시어부당 ·FM한당 ·포뮬러당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·KARA당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·MTG한당 ·소리당 ·노키앙 ·적는당 ·방송한당 ·바다건너당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·품앱이당 ·리듬탄당 ·노젓는당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·퐁당퐁당 ·테니스친당 ·테스트당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·WOW당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[점검] 잠시후 서비스 점검을 위해 약 30분간 접속이 차단됩니다. (금일 18:15 ~ 18:45)

팁과강좌

취미/음식 PCB떠서 키보드 만들어 보기 (회로도) (2) 13

7
2021-08-12 09:52:24 수정일 : 2021-08-13 08:16:45 73.♡.253.152
skqlffpfk

1편 : https://www.clien.net/service/board/lecture/16405159?od=T31&po=0&category=0&groupCd=CLIEN



31.jpg


제가 주문한 보드의 회로도는 이와 같다고 합니다. 사실 확실하진 않아요. 알리익스프레스 물건에 대해서는 믿음이 없으니까요. 그래도 일단 중요한건 소켓이 몇 칸 짜리인지이므로 그것만 확인하겠습니다. 17칸짜리 핀헤더 소켓이면 되겠네요. 왼쪽 아래에 JP3과 JP4가 17칸짜리 핀헤더입니다.



핀헤더 심볼을 추가합니다. a를 누르고 ‘conn’이라고 검색하면 종류가 엄청 많이 나옵니다. 현시점에서 뭐가 맞는건지 저도 모르겠습니다. 일단 위에 있는 보드 회로도와 같은 모양인 심볼을 찾아서 넣겠습니다. 뭔가 아닌것 같으면 나중에 바꾸면 될 테니까요.


32.png


이름이 Conn_01x17입니다. 옆에 나오는 그림은 보드 회로도에 나온 핀헤더 심볼과 완전히 같진 않은데 그래도 제일 비슷합니다. 일단 이거로 하죠. 17개짜리 두 개를 배치합니다.


33.png


회로도에서 와이어 라인이 이쁘게 보이게 하기 위해서 눕혔습니다. 그리고 보드 회로도랑 같은 핀 순서가 되게 하려고 r과 y 단축키로 적당히 심볼을 배치했습니다.


이제, 키보드 스위치 매트릭스에 col과 row를 각각 어느 핀에 연결할 지 조사해야 합니다.


34.jpg


이 그림은 그냥 구글링해서 찾은 건데, 알리익스프레스에서 파는 STM32 Black Pill 보드는 핀아웃이 모두 동일한 것으로 보입니다. 그래서 아무거나 참고해서 써도 될것 같아요. 중요한 것은 USB 신호 핀이 PA11과 PA12입니다. 이 두 핀은 USB로 써야 하므로 키보드 스위치에 연결하면 안됩니다. 그리고 PA9와 PA10은 TX1, RX1이라고 써 있는데 아마도 UART입출력으로 보입니다. 디버깅하려면 UART도 써야 하므로 PA9, PA10도 쓰면 안됩니다.



키보드 스위치 매트릭스를 보면 왼쪽 파트는 col이 7개고 row가 5개입니다. 일단 핀 12개를 써야 합니다. 보아하니 위 그림에서 오른쪽 PA0부터 PA7과 그 위에 PB0, PB1, PB10, PB11을 쭉 쓰면 될것 같네요.



35.png


확대해서 캡춰하니 화질이 않좋네요. 아무튼 PA0부터 시작하는 핀은 JP4에 12번부터 역방향으로 1번핀까지 12개입니다. 여기에 연결하겠습니다.


36.png


위 그림처럼 와이어를 연결합니다. 레이블을 써서 더 깔끔하게 그리는 방법도 있는것 같은데, 나중에 PCB로 그릴 때를 상상하면서 이렇게 하면 될랑가 싶어 선으로 연결해 봤습니다. Row 라인 5개는 PA0부터 PA4에 연결했습니다. 핀 번호로는 12번부터 8번입니다. 그리고 나머지 1번핀부터 7번핀은 Col라인 7개에 연결했습니다.



여기까지하면 왼쪽 파트 회로도 완성입니다. 별거 없네요. 이제 고려할 것은 오른쪽 파트와 연결을 어떻게 할지입니다. 지금 세 가지 정도 방식이 머릿속에 떠오르네요.


첫 번째 방법은 완전히 분리해서 오른쪽 파트에도 컨트롤러를 별도로 달아서 그쪽에서는 그쪽이 알아서 처리하는 것입니다. 어차피 컴퓨터에 키보드 여러개 붙을 수 있으니까요. 그러면 컴퓨터에는 키보드가 두 개가 붙어 있는 걸로 인식됩니다. 각 키보드가 반쪽짜리로 동작하는 것이지요. 이 방식도 나쁘지 않아 보입니다. 다만 컨트롤러를 두 개 써야 하고 펌웨어도 각각 코딩해서 넣어야 하겠네요. 장점은 왼쪽, 오른쪽 파트의 PCB가 완전히 분리된다는 것입니다. 깔끔해지죠.



두 번째 방법은 왼쪽 파트의 와이어를 어떤식으로든 연장해서 오른쪽 파트로 전달하는 것입니다. Row 라인 5개를 오른쪽 파트로 전달하고 오른쪽 파트에서 오는 Col 라인을 받아서 컨트롤러에 연결하면 됩니다.



세 번째 방법도 왼쪽 파트와 오른쪽 파트를 연결하는 것인데, 두 번째 방법과 다르게 오른쪽 파트에도 컨트롤러를 두고 간단한 펌웨어를 넣어서 시리얼 신호로 오른쪽 파트의 입력 결과를 왼쪽 파트에 있는 컨트롤러로 전달하는 것입니다. 두 번째 방법보다 왼쪽 파트와 오른쪽 파트를 연결하는 와이어링이 간단해지겠네요.



저는 두 번째 방법을 선택하겠습니다. 이리저리 생각해봐도 제일 쉽습니다. 일단 Row라인 5개를 보내야 합니다. 어떻게 보내는게 제일 편할까 생각하다가 그냥 소켓에 와이어 납땜해서 뭉쳐서 보내기로 결정했습니다.


37.png


뭔지 모르겠는데 Conn_01x05_Female이라는 것도 있습니다. 이거도 한 번 써 봅니다. 아까 쓴거랑 뭔가 다른지는 나중에 PCB 나와보면 알겠지요.


38.png


이 그림을 보니 뭔가 Col과 Row가 반대로 된것 같아 보이는데… 사실 중요하지 않습니다. 그냥 회로도 상에 가로, 세로를 기준으로 col과 row라고 부르겠습니다. 아무튼 그래서 row 라인 5개를 Conn_01x05에 연결했습니다.



오른쪽 파트에서는 col라인이 몇 개가 오는지 세어 보죠.


39._re.png


두 번째 줄이 9개로 오른쪽 파트에서 넘어오는 col 라인 수는 9개입니다.


40.png


이 그림을 다시 보면 여기서 핀 9개를 쓸 수 있을 것 같네요. PB3부터 PB7까지와 PB12부터 PB15까지 핀이 딱 9개입니다. 핀 번호는 3번부터 7번까지 5개와 14번부터 17번까지 4개입니다.



먼저 Conn_01_09_Female을 추가합니다. 아까 5개짜리 추가한것과 같은 과정으로 추가하면 됩니다. 그런 다음 이번에는 레이블을 붙여 보겠습니다. 와이어를 그리니까 공간이 안나와서 예쁘게 안그려지더라구요.


41.png


레이블은 Ctrl+H 단축키로 추가합니다.


42.png


Ctrl+H 단축키를 누르면 위와 같은 창이 나옵니다. 이름과 방향, shape를 이리저리 바꿔가면서 원하는 모양을 만드세요. 넣어보고 원하는 모양이 아니면 지운 다음 다시 넣으면 됩니다.



레이블을 핀 헤더 소켓에 연결하겠습니다.


43.png

이러고 나니, 아까전에 ROW도 이렇게 레이블로 할껄 하는 생각이 드네요......


아무튼,

대략 이와 같은 모양으로 연결합니다. 레이블이 제대로 될지 모르겠네요. 이 글을 쓰고 있는 시점에서 저도 해 본적이 없거든요..



여기까지해서 키보드 매트릭스의 연결이 모두 끝났습니다. 아직 만들지 않은 미지의 오른쪽 파트와의 연결까지 고려해서 회로도를 그렸습니다.



마지막으로 핀 세 개만 더 연결해야 겠네요. UART 선입니다. 디버깅할 때랑 펌웨어 다운로드 할 때 쓰는데 미리 핀을 뽑아 놓으면 편하니까요.


44.png


UART의 TX1과 RX1이 각각 PA9와 PA10이고 핀 번호는 11번과 12번입니다. UART 통신하려면 호스트와 RX, TX, GND만 연결하면 되므로 GND는 1번핀에서 가져오고 11번, 12번핀 RX, TX를 연결합니다.


45.png


완성한 왼쪽 파트 회로도입니다. 제대로 맞게 했는지는 확신이 없네요. 아무튼 이 회로도를 기반으로 해서 PCB를 만들 것입니다.


다음편에서는 PCB를 디자인 하겠습니다.


3편 : https://www.clien.net/service/board/lecture/16408035?od=T31&po=0&category=0&groupCd=CLIEN

skqlffpfk 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [13]
루이레드
IP 14.♡.234.90
08-12 2021-08-12 10:09:38
·
제가 뭘 본건지 모르겠는데 대단하시네요 ㄷㄷㄷ
skqlffpfk
IP 73.♡.253.152
08-12 2021-08-12 12:38:23
·
@루이레드님 감사합니다 :)
밀리
IP 107.♡.186.254
08-12 2021-08-12 10:25:01 / 수정일: 2021-08-12 10:26:03
·
와 대단하십니다 ㅎㅎ

예전에 키보드매니아 랑 OTD에서 사람들이 모여서 자작 키보드 개발하고 그랬는데요

마이컴에 키보드용 펌 만들고 pcb 단체로 떠서 키보드나 키패드 만들고 그랫네요.

요새는 오픈소스로 gmk? 같은 좋은 것도 공개되고

자작 키보드 만들기 더 좋아진것 같습니다 ㅎㅎ
skqlffpfk
IP 73.♡.253.152
08-12 2021-08-12 12:38:10
·
@밀리님 참고는 하는데 저는 전부다 제가 만들 예정입니다. 펌웨어도요.
amos
IP 39.♡.139.111
08-12 2021-08-12 10:29:01 / 수정일: 2021-08-12 10:32:03
·
이렇게 물리적으로 분리한 기기를 만들 땐 양쪽의 데이터를 전달할 때 지나치게 많은 선을 필요로 하면 좋지 않습니다. 한쪽에 74HC195 등과 같은 시프터를 2개 정도 써서 그쪽을 전담해 처리하고 실제 선은 3개 정도만 연결하면 분리 된 기기 간의 배선을 좀 더 단순화시킬 수 있습니다. 내친 김에 나머지 한쪽도 시프터로 처리하면 실제 MCU에선 GPIO 3개 정도만 필요로 하게 되고, 양쪽을 별도로 처리하기 위한 펌웨어도 필요 없죠. (시프터는 몇개를 연결하든 체인 방식으로 연결되기에 3개의 선만을 필요로 합니다.)
skqlffpfk
IP 73.♡.253.152
08-12 2021-08-12 12:37:17
·
@지천무하님 조언 감사합니다. 다음에 또 만들일 있으면 써 봐야겠네요. ㅎㅎ
RaphKay
IP 118.♡.128.241
08-12 2021-08-12 10:34:02
·
대단한 열정은 박수를 드립니다.
다만 ... 키보드에 한해서는 내가 만들때 보단 기성품이 더 좋을때도 있습니다.
아니면 기성품을 개선하는 정도도 ...
skqlffpfk
IP 73.♡.253.152
08-12 2021-08-12 12:37:38
·
@견족자K님 아니요. 기성품이 언제나 늘 항상 더 좋습니다!
HotCrispy
IP 211.♡.136.76
08-12 2021-08-12 11:53:42
·
ㄷㄷ 빌게이츠세요?
skqlffpfk
IP 73.♡.253.152
08-12 2021-08-12 12:38:58
·
@HotCrispy님 빌게이츠 재산의 천분의 일 정도만 있었으면 좋겠습니다.
Hes
IP 115.♡.198.66
08-12 2021-08-12 12:15:07
·
정말 좋은 강좌네요. pc와 sw적으로 어떻게 연결되는지 까지 강좌에서 다뤄 주시면 좋을 것 같습니다.
skqlffpfk
IP 73.♡.253.152
08-12 2021-08-12 12:39:21
·
@Hes님 다룰 예정입니다. ㅎㅎ 일단 PCB가 제대로 된다면요...
삭제 되었습니다.
skqlffpfk
IP 73.♡.253.152
08-12 2021-08-12 16:19:10
·
@plaintext님 저도 PCB 떠 보는게 처음이라 잘 될지 모르겠습니다..
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB / 업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.