조이스틱 모듈과 마이크로비트의 시리얼 통신에 대한 설명입니다.


1. 스펙 설명

이렇게 생겼으며 X,Y의 2축 움직임과 푸쉬 버튼으로 구성되어 있습니다.


핀 구성

GND

 GND

 +5V

 사용 전압: 3~5V

 VRX

 X축 좌표값 출력. 아날로그. 0~1023

 VRY

 Y축 좌표값 출력. 아날로그. 0~1023

 SW

 푸쉬 버튼 값 출력. 조이스틱을 꾹 누르면 딸깍하고 버튼이 눌립니다. 디지털. 



2. 마이크로비트 시리얼 통신

들어가기 전에 조이스틱의 스펙을 확인해보니 사용 전압이 3~5V라서 아두이노 대신 마이크로비트로 테스트를 해보기로 결정했습니다.

그래놓고 잠깐 MakeCode에서 테스트용 예제를 만들다보니 아두이노에서처럼 조이스틱의 XY좌표값을 확인할 필요가 있더군요.

그리고 MakeCode의 블록들 중에는 "시리얼통신"이라는 블록들이 있습니다. 이걸 이용해서 아두이노에서처럼 필요한 값들을 확인해가며 테스트를 해보도록 하겠습니다.


(마이크로비트 MakeCode에 들어있는 시리얼통신 블록. 고급>시리얼통신에서 확인)


아래 내용은 다음을 참고했습니다. 

https://support.microbit.org/support/solutions/articles/19000022103-outputing-serial-data-from-the-micro-bit-to-a-computer

마이크로비트와 시리얼 통신을 하기 위해서는 몇 가지 방법이 있습니다.

1) 크롬 브라우저의 WebUSB 사용

2) Windows10용 MakeCode app 사용

3) 컴퓨터 터미널 또는 시리얼 프로그램 사용


저는 3번으로 진행했습니다. 


(1) 우선 시리얼 통신용 Windows 드라이버를 설치해줘야 합니다. (윈10은 불필요)

여기서 https://os.mbed.com/handbook/Windows-serial-configuration 받아서 설치해줍니다.


(2) 터미널 프로그램을 설치해 줍니다. 저는 Tera Term을 사용했습니다.


(3) MakeCode에서 예제 프로그램을 작성한 후, PC와 연결한 마이크로비트에 넣어줍니다.

USB로 시리얼 통신을 연결하고, 조이스틱의 X, Y 좌표값을 시리얼 통신으로 출력하는 예제입니다.


(4) 설치한 터미널 프로그램을 실행합니다.

Serial을 선택하고 mbed로 되어있는 포트를 선택해서 연결합니다.

이것만으로는 아무것도 나오지 않습니다.(저도 여기서 헤맸다는...)


Setup > Serial port 메뉴를 열어서, Speed(Baud Rate), Data, Parity, Stop bits를 위와 같이 설정해줍니다.


그러면 다음과 같이 마이크로비트에서 출력되는 값을 확인할 수 있습니다.


참고로 위의 테스트를 위한 마이크로비트와 조이스틱의 연결도는 다음과 같습니다.


악어클립을 깜박했던 관계로 테이프로 붙여놔서 볼품이 없네요.


 조이스틱

 마이크로비트

 GND

 GND

 +5V

 3V

 VRX

 0번 링핀

 VRY

 1번 링핀

(SW는 이번 예제에서는 사용하지 않아서 연결하지 않음)


3. 마무리

3V를 지원하는 모듈은 마이크로비트에서도 충분히 사용이 가능한 것을 다시 확인했습니다.

마이크로비트에서도 시리얼 통신을 통해 모듈의 출력값을 확인할 수 있어서 테스트나 디버그가 쉬워졌다고 생각합니다.

역시 마이크로비트는 파고들 부분이 많습니다. 지원하는 블록도 엔트리나 스크래치보다 어려운 것도 많고요. 블록 코딩에서 아두이노 같은 피지컬로 넘어가는 중간 단계로 매우 좋아보입니다. 그냥 마이크로비트 자체만으로도 충분할만큼 강력하기도 하고요.

+ Recent posts