라즈베리파이 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 핀을 빵판에 편리하게 연결해주는 제품의 예


이러한 확장 보드를 이용하면 앞으로의 실험을 좀 더 편하게 실행할 수 있다.

원문링크

Posted by 살레시오
,