라즈베리파이 2에는 40개의 헤더 핀(header pin)이 있는데 이것을 외부의 장치들을 연결하여 제어할 수 있다. 다음 그림에 그 구조를 도시하였다.
BCM | 핀 번호 BOARD | BCM | ||||
3.3V | 1 | 2 | 5V | |||
SDA1 | GPIO2 | 3 | 4 | 5V | ||
SCL1 | GPIO3 | 5 | 6 | GND | ||
GPIO4 | 7 | 8 | GPIO14 | TxD | ||
GND | 9 | 10 | GPIO15 | RxD | ||
GPIO17 | 11 | 12 | GPIO18 | |||
GPIO27 | 13 | 14 | GND | |||
GPIO22 | 15 | 16 | GPIO23 | |||
3.3V | 17 | 18 | GPIO24 | |||
MOSI | GPIO10 | 19 | 20 | GND | ||
MISO | GPIO9 | 21 | 22 | GPIO25 | ||
SCLK | GPIO11 | 23 | 24 | GPIO8 | CE0 | |
GND | 25 | 26 | GPIO7 | CE1 | ||
SDA0 | GPIO0 | 27 | 28 | GPIO1 | SCL0 | |
GPIO5 | 29 | 30 | GND | |||
GPIO6 | 31 | 32 | GPIO12 | |||
GPIO13 | 33 | 34 | GND | |||
GPIO19 | 35 | 36 | GPIO16 | |||
GPIO26 | 37 | 38 | GPIO20 | |||
GND | 39 | 40 | GPIO21 |
그림 9.1.1 라즈베리파이 B+, A+, 2B의 GPIO 헤더핀들
라즈베리파이 초기 모델에는 26핀만 있었다. 라즈베리파이 B+ 을 포함한 이후의 모델은 (A+, 2 model B, zero) 이것이 확장되어 40핀 GPIO핀을 갖는데 26번 핀까지는 동일한 배치이고 27번부터 40번까지가 더 추가되었다.
그림 9.1을 보면 40개 중 대부분이 GPIO라고 이름이 붙어 있는데 이는 디지털 신호(digital signal)를 입출력 할 수 있는 포트핀 (port pin)으로 사용할 수 있다는 의미이다. 디지털 신호란 두 가지 상태만을 갖는 신호를 의미하며 하나의 비트로 표시되며 0 혹은 1 값만을 가질 수 있다. 물리적으로는 전압으로 구별되며 라즈베리파이에서 0은 0V(GND), 1은 3.3V 전압을 의미한다. (라즈베리파이의 내부 로직은 3.3V로 동작한다. 반면 아두이노는 보통 5V로 동작하는데 따라서 이 둘을 직접 연결할 경우 라즈베리파이가 손상될 가능성이 있다.) 포트핀은 츨력 혹은 입력 기능을 수행할 수 있는데 출력으로 사용되면 0V 혹은 3.3V 전압값을 갖도록 할 수 있으며 입력으로 사용된다면 포트핀의 전압이 0V인지 3.3V인지를 감지할 수 있다. 이 기능을 이용하면 예를 들어 LED를 점멸한거나 혹은 연결된 버튼의 눌렸는지 여부를 알아낼 수 있다.
이외에도 5V/3.3V/0V(GND)는 외부에 전원을 공급할 때 사용되는 전원핀이고, 시리얼 통신/SPI 통신/I2C통신을 할 수 있으며 PWM 기능을 갖는 핀도 있다. 하지만 아날로그 입력을 받을 수 있는 핀은 없으며 이를 위해서는 별도의 외부 장치를 이용해야 한다.
라즈베리파이에는 헤더핀만 나와있어서 빵판을 이용하여 실험하고자 할 때는 조금 불편하다. 이를 개선하기 위해서 다양한 연결 부품이 시중에 시판되고 있다.
그림 9.1.2 GPIO 핀을 빵판에 편리하게 연결해주는 제품의 예
이러한 확장 보드를 이용하면 앞으로의 실험을 좀 더 편하게 실행할 수 있다.
'하드웨어 > 라즈베리파이' 카테고리의 다른 글
라즈베리파이를 이용한 LED 실험 (0) | 2016.01.03 |
---|---|
라즈베리파이의 RPi.GPIO 모듈 개요 (2) | 2016.01.03 |
라즈비안(rasbian)에서 ipython3 설치하는 법 (0) | 2015.11.13 |
라즈베리파이2에서 netbeans 설치하기 (0) | 2015.07.08 |
라즈베리파이(2)에서 무선랜 (와이파이) 설정하기 (0) | 2015.07.08 |