1. micro:bit 이란?
마이크로비트는 영국 BBC사에서 컴퓨터 교육에 사용하기 위해 Make It Digital 캠페인으로 2015년 발표한 교육용 하드웨어다. micro:bit는 신용카드의 절반 정도 크기로 ARM사의 코어 텍스 M0 프로세서, 가속도센서, 자기센서, 블루투스, USB연결, 25개의 LED등으로 구성되어 있다. 두 개의 버튼과 23개의 핀 커넥터와 5개의 링 커넥터로 입력과 출력을 할 수 있다.
1) A버튼
micro:bit 앞면 왼쪽 중간에 있는 버튼. 마이크로비트는 이 버튼을 눌렀는지 검사하고 원하는 코드를 실행 할 수 있도록 코드를 구성 할 수 있다.
2) LED
micro:bit 앞면 가운데 25개로 구성된 LED로 붉은 색으로 발광하며 숫자, 문자, 이미지, 그래프 등 다양한 표현을 할 수 있다. 격자형으로 배열된 LED는 x, y좌표를 이용해 선택할 수 있다. x는 가로줄, y는 세로줄 번호다. 5 X 5로 배열되 LED의 좌표는 오른쪽 그림과 같다.
빛 센서 : LED스크린은 빛 센서로 활용하여 주변의 밝기를 측정할 수 있다.
3) B버튼
micro:bit 앞면 오른쪽 중간에 있는 버튼. 마이크로비트는 이 버튼을 눌렀는지 검사하고 원하는 코드를 실행 할 수 있도록 코드를 구성 할 수 있다.
4) 핀
micro:bit에는 보드의 아래쪽 엣지 커넥터에 외부 장치들을 연결할 수 있는 25개의 ‘핀’이 있다. 엣지 커넥터는 아래 그림의 금색 부분이다. 구멍에도 연결할 수 있는 5개의 큰 핀이 있다. 그리고 20개의 작은 핀들이 함께 더 있기 때문에 아래 부분을 엣지 커넥터에 연결시켜 사용할 수 있다.
큰 핀 : 0, 1, 2라고 쓰여 있는 3개의핀들은 때에 따라 다른 기능으로 사용할 수 있다. ‘범용 입출력 GPIO1)(General Purpose Input and Output) 포트라고 하며 이 3개의 핀들은 아날로그 – 디지털 변환 컨버터(ADC)2)라고 불리는 회를 통해 아날로그 형태의 전압을 읽을 수 있다. 큰 핀들은 악어클립이나 바나나 플러그를 이용해서 외부장치들과 쉽게 연결할 수 있다.
작은 핀 : 마이크로비트에는 3~22까지 순서대로 번호가 있는 20개의 작은 핀이 있다. 하지만 마이크로비트에는 표시되어 있지 않다.(사진 참고) 큰 3개의 핀과는 다르게, 작은 핀들의 일부는 마이크로비트 보드의 부품들과 함께 연결되어 있다. 예를 들어 3번핀은 마이크로비트 LED화면의 일부와 함께 연결되어 있기 때문에 LED 화면에 글자들을 스크롤 시키고 있는 경우에는 3번 핀을 사용할 수 없다. 작은 핀들을 연결하기 위해서는 Edge Connector for Kitronik과 같은 브레이크아웃 보드를 사용하는 것을 추천한다.
마이크로비트 LED 스크린의 1번 세로줄 LED 들과 함께 연결되어 있다. 마이크로비트의 LED 스크린이 꺼져있는 경우에만 ADC 기능이나 디지털 입출력(I/O) 기능을 위해 사용될 수 있다.
마이크로비트 LED 스크린의 2번 세로줄 LED 들과 함께 연결되어 있다. 마이크로비트의 LED 스크린이 꺼져있는 경우에만 ADC 기능이나 디지털 입출력(I/O) 기능을 위해 사용될 수 있다.
마이크로비트의 A버튼과 함께 연결되어 있다. 외부 장치를 이용해 “A”번 버튼을 클릭한 것과 같은 효과를 만들어내거나 “A”번 버튼 클릭을 감지할 수 있다. 이 핀은 풀-업(pull-up) 저항 형태로 회로가 구성되어 있기 때문에 누르지 않은 상태에서 3V 전류가 흐르고 있다. 버튼을 누르면 저항 값이 올라가 3V 전류가 흐르지 않게 된다. BBC 마이크로비트의 A버튼 대신 외부 장치를 연결해 같은 기능을 하도록 사용하고 싶다면 이 5번 핀을 외부 장치(버튼)에 연결하고 그 장치(버튼)의 다른 쪽 (-)연결 선을 GND 포트에 연결시키면 된다. 그렇게 연결한 장치(버튼)을 누르면 5번 핀을 통해 흐르는 전류가 0V가 되고 버튼을 클릭한 것과 같은 이벤트를 만들어내게 된다.
마이크로비트 LED 스크린의 9번 세로줄 LED들과 함께 연결되어 있다. 마이크로비트의 LED 스크린이 꺼져 있는 경우에만 디지털 입출력(I/O) 기능을 위해 사용될 수 있다.
마이크로비트 LED 스크린의 8번 세로줄 LED들과 함께 연결되어 있다. 마이크로비트의 LED 스크린이 꺼져있는 경우에만 디지털 입출력(I/O) 기능을 위해 사용될 수 있다.
디지털 신호들을 보내고 감지하는데 전용으로 사용된다.
마이크로비트 LED 스크린의 7번 세로줄 LED 들과 함께 연결되어 있다. 마이크로비트의 LED 스크린이 꺼져있는 경우에만 디지털 입출력(I/O) 기능을 위해 사용될 수 있다.
마이크로비트 LED 스크린의 3번 세로줄 LED들과 함께 연결되어 있다. 마이크로비트의 LED 스크린이 꺼져있는 경우에만 ADC 기능이나 디지털 입출력(I/O) 기능을 위해 사용될 수 있다.
마이크로비트의 B버튼과 함께 연결되어 있다. 외부 장치를 이용해 “B”번 버튼을 클릭한 것과 같은 효과를 만들어내거나 “B”번 버튼 클릭을 감지할 수 있다.
디지털 신호들을 보내고 감지하는데 전용으로 사용된다.
일반적으로 3-선 직렬 주변장치 버스(3-wire Serial Peripheral Interface, SPI3))의 직렬 시간 클록(SCK) 신호를 위해 사용된다.
일반적으로 SPI 버스의 MISO(Master In Slave Out) 신호를 위해 사용된다.
일반적으로 SPI 버스의 MOSI(Master Out Slave In) 신호를 위해 사용된다.
GPIO 포트 전용 핀이다.(일반적으로 SPI ‘칩 선택’ 기능에도 함께 사용된다.)
이 핀들은 대형 ‘3V’ 패드와 같은 것에 3V 전원을 공급하기 위해 사용된다.
시간 클록 신호(SCL) 와 I2C 버스 통신 프로토콜의 데이터 전송 라인(SDA)을 위해 사용된다. I2C를 사용하면 하나의 같은 버스에 여러 장치들을 동시에 연결시켜 CPU로부터 메시지들을 주고 받을 수 있다. 마이크로비트 내부적으로는 가속도 센서와 나침반 센서가 I2C에 연결되어 있다.
이 핀들은 GND 핀에 함께 연결되어 있으며 다른 기능은 제공하지 않는다.(GND 포트 연결이 모자란 경우 추가적으로 사용할 수 있다.)
3V : USB 또는 배터리를 연결해 마이크로비트를 동작시키면 3V핀을 전원 출력으로 주변기기에 전원을 공급할 수 있다. 또한 USB 또는 배터리에 연결하지 않은 경우에는 3V 핀을 사용하여 마이크로비트에 전원을 공급할 수 있다.
GND : 전기 회로를 완성시키기 위해 -극으로 GND포트를 연결한다. 3V핀을 사용하는 경우 반드시 함께 사용해야 한다.
[주의할 점]
3V핀과 GND핀은 전원 공급과 관련 있기 때문에 절대로 서로 바로 연결하면 안 된다.
5) 무선통신모듈
마이크로비트는 두가지 무선통신 기술을 통해 데이터를 주고 받을 수 있다. 하지만 이 두가지 무선통신 기술을 동시에 사용할 수 없다.
라디오 : 라디오 기능을 사용하여 마이크로비트끼리 무선으로 데이터를 주고 받도록 할 수 있다. 라디오 기능을 이용해 다른 마이크로비트들에게 메시지를 보내고, 멀티 플레이어 게임을 만들 수 있다.
블루투스 : 단거리 무선통신 기술인 BLE(BLE Bluetooth Low Energy)는 마이크로비트가 휴대 전화와 태블릿을 제어 할 수 있도록 한다. 양방향으로 작동할 수 있도록 사용하기 전 다른 장치와 쌍으로 연결해야 한다.
6) USB연결 포트
USB연결하여 컴퓨터를 통해 마이크로비트에 전원을 공급하고 프로그램을 다운 받을 수 있다.
7) Reset버튼
Reset버튼을 눌러 마이크로비트를 다시 시작할 수 있다.
8) 베터리소켓
USB로 컴퓨터에 연결하지 않고 배터리를 연결하여 마이크로비트에 전원을 공급할 수 있다.
9) 가속도센서
마이크로비트를 흔들거나 움직일 때, 가속도를 측정하는 장치다. 마이크로비트가 움직이면 그 움직임을 감지 할 수 있다.
10) 나침반(자기)센서
지구 자기장을 감지 할 수 있다. 그래서 마이크로비트가 놓여있는 방향을 알아 낼 수 있다. 나침반(자기)센서를 사용하려면, 사용하기 전에 위치 보정작업을 통해 초기화 해야 한다.
11) 프로세서(Processor)
micro:bit는 16MHz 32비트 ARM Cortex-M0마이크로컨트롤러, 256KB 플래시 메모리, 16KB정적 램, 2.4 GHz 블루투스 저 에너지 무선 네트워킹 프로세서가 탑재 되어 있다.
12) 온도 센서
마이크로비트에는 현재 온도를 섭씨로 측정할 수 있는 온도 센서도 포함하고 있다.
<용어사전>
1) GIPO : 프로세서나 컨트롤러(controller) 등에서 일반 목적으로 사용하도록 준비된 입출력 포트. 다용도 입출력 포트(GPIO)를 소프트웨어와 연동시키면 전기적 입력을 받거나 출력으로 특정 장치를 제어하게 할 수 있다. - [네이버 지식백과] 다용도 입출력 포트 [General Purpose Input/Output, 多用途入出力-] (IT용어사전, 한국정보통신기술협회)
2) ADC : 신호를 아날로그 형식에서 디지털 형식으로 변환하는 디바이스(장치)로서, ADC, A/D, A to D라고 표현하기도 한다. 일정한 간격으로 아날로그 신호를 샘플링 한 후, 샘플링한 아날로그 수치를 각 시스템에서 사용하는데 적합한 수치로 양자화(digital)한다. 이와 같은 샘플링 조작이 충분히 이루어지면 디지털 신호는 아날로그 신호를 충실히 재생할 수 있게 된다. 아날로그 신호는 저장이나 조작의 편리성이 디지털 신호보다 어렵기 때문에 현재는 디지털화를 많이 한다. 신호전송 시, 일반적으로 아날로그 신호로 디지털 신호를 변환하면 신호의 잡음 등에 유리하다. 단지 변환 시 생기는 왜곡은 감수해야 한다. 따라서 아날로그를 디지털화하여 신호를 조작하고 다시 디지털-아날로그 변환회로(DAC)를 통해 아날로그로 변환한다. - [네이버 지식백과] A/D Converter [Analog to Digital Converter] - 아날로그-디지털 변환기, 아날로그 투 디지털 컨버터 (지형 공간정보체계 용어사전, 2016. 1. 3., 이강원, 손호웅)
3) SPI : 4선을 사용하여 주변 장치와 연결하는 전이중 동기식 직렬 인터페이스. 2개의 데이터 회선과 2개의 제어 회선으로 되어 있으며, 주장치 출력/종속 장치 입력(MOSI:Master Out Slave In), 주장치 입력/종속 장치 출력(MISO:Master In SlaveOut) 등 주종 관계 통신을 행한다. - [네이버 지식백과] 직렬 주변 장치 인터페이스 [Serial Peripheral Interface, 直列週邊裝置-] (IT용어사전, 한국정보통신기술협회)