macOS 에서 리산테크 AVR FLASHER 10 사용하기

![img_1](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjh_UQMMViB7Of1FnJHfsB5xeHz97bHSsjJk1JtteJCBYDswq109E_WFqRIsOuYLcGFQ2UXLdkERQHWFspN9JUUzCywiamd4JVcXVp3fPrjd0kMElJ2wlAC6fZlICVxuw6JV3bSRDRQBpITNEQgEWaCBStmQwkSV9yVxjOcZUX_XTVnxlxohNqYlUvRKls/s4000/KakaoTalk_Photo_2025-01-04-00-14-17.jpeg) AVR 프로그래밍에 주로 사용하는 리산테크의 AVR FLASHER 10 제품이다. 총 10개의 서로다른 펌웨어를 저장하여 PC 없이도 타겟 장치의 전원으로 펌웨어 다운로드가 가능하다. 펌웨어 다운로드가 고속으로 이루어지기 때문에 아주 편하다. 최근 윈도우 데스크탑 보다 맥북으로 작업을 하는 상황이 많아지면서 이 장비를 사용하는데에 소프트웨어 지원이 윈도우만 되기때문에 불편함을 격고 있었다. 이것때문에 윈도우 노트북을 장만하는건 말이 안되는거 같고 그렇다고 매번 데스크탑을 켜는것도 불편하고 고민만 하고 있었다. 예전에는 부트캠프를 사용해 윈도우 용 프로그램을 쉽게 사용할수 있었지만 맥북이 애플실리콘을 사용하면서 이런점은 살짝 불편해 졌다고 볼수도있다. 호환성이 많이 좋아졌다고 하지만 예전에 Whisky로 시도했다가 실패한 경험이 있었기 때문에 큰 기대는 하지 않으려고했다. 아직 가상화는 시도해보지 않았는데 UTM 은 좀 쓰기가 불편했고 Parallels 는 과금방식이 전부터 마음에 들지 않았다. 사실 개인 사용 목적으로는 VMWare가 무료이기 때문에 다른 선택지가 없다. ![img_2](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl6Piz058YvIQ1Wv-lqH-lgM7cpMD1KP4Qps0jIAQ2KPVy8mK51ecO-iCA4eH3teAte-Kk...

V-USB 를 활용한 ATmega328/168P기반의 USB 키보드 1

키보드나 마우스 혹은 조이스틱과 같은 장치를 만들어보려고 할 때 HID 프로파일을 지원하는 제품을 찾게 된다. 이러한 제품의 경우 개발이 간편하고 고급 기능을 지원하지만 단가가 높은 편이다. 

반면 ATmega AVR 에  V-USB를 사용하면 ATmega8 과 같은 비교적 저렴한 가격의 IC 로도 USB 1.1 규격의 키보드나 마우스, 조이스틱과 같은 다양한 USB 장치들을 만들 수 있다.

V-USB 관련하여 아래 웹사이트에 재미있는 프로젝트들이 많이 있다.

이번에 ATmega328/168P와 V-USB를 사용해서 5V 로 동작하는 작은 테스트용 키보드를 만들어 보려고 한다.


V-USB 를 사용한 장치는 호스트 장치와 연결시 ATmega328/168P에 있는 UART 포트인 PD0 와 PD1으로 통신하지 않고 PD2 와 PD4 를 사용하게 된다. 여기서ATmega328/168P의 경우 5V 전원 공급에서 디지털 포트도 5V 까지 동작하게 되는데 이 부분을 주의해야 한다.

일반적으로 USB는 전원 공급에 5V를 사용하지만, 양쪽 데이터 라인은 HIGH 에서 2.8V~3.6V, LOW 에서 0.0V~0.3V  전압으로 정격화된다. 이는 호스트 측으로 입력이 3.6V 보다 높아지지 않도록 주의해야 함을 의미한다. 만약 5V 신호를 그대로 USB 데이터 라인에 입력하게 되면 호스트 장치의 입력 회로를 손상시킬 수 있다.



USB 데이터 라인의 회로 손상을 방지하기 위해 일반적으로 사용되는 방법으로 왼쪽 회로처럼 데이터 라인에 3.6V 제너 다이오드를 병렬로 사용해서 전압을 조정하는 방법이 있다. 만약 이 방법이 마음에 들지 않는다면 ATmega328/168P 에 3.3V 전원을 공급하는 방법도 있다.

오른쪽 회로는 아두이노 호환 보드에서 흔하게 볼 수 있는 CH340C를 사용한 USB 시리얼 통신 포트이다. ATmega328/168P에 아두이노 부트로더를 함께 다운로드 받으면 아두이노와 동일하게 사용할 수 있다.


이것은 키보드의 메인보드라고 볼 수 있다. 왼쪽의 핀 헤더는 디지털, 오른쪽 핀 헤더는 아날로그로 구성되어있다. 하단의 USB는 시리얼 통신용이고 상단은 HID로서 호스트 장치 연결에 사용된다. 우측 상단의 LED 는 왼쪽부터 동작상태, 전원, RX, TX 순이다.


키보드는 5x4 배열로 구성하였다. 쿼티를 모두 구성해봤자 부품과 노동력도 많이 들어가고 어차피 그렇게 사용하지도 않을 것 같고 재미로 만드는 것 이기에 텐키나 천지인 정도를 생각하고 만들어 보았다.


Comments

Popular posts from this blog

[POE] - 패스 오브 엑자일 획득키 F 의 사용법 (Path of Exile)

[Arduino] - HC-06를 이용해 PC 와 Arduino 블루투스 연결

[Python] - 블루투스 모듈 HC-06의 MAC 주소를 이용하여 통신 포트 찾기