Node.js 라즈베리 파이 - GPIO 소개
GPIO란 무엇입니까?
GPIO는 범용 입력 출력을 나타냅니다.
Raspberry Pi에는 Raspberry Pi와 실제 세계를 연결하는 두 줄의 GPIO 핀이 있습니다.
출력 핀은 Raspberry Pi를 켜거나 끌 수 있는 스위치와 같습니다(예: LED 조명 켜기/끄기). 그러나 다른 장치에 신호를 보낼 수도 있습니다.
입력 핀은 외부 세계에서 켜거나 끌 수 있는 스위치와 같습니다(예: 켜기/끄기 전등 스위치). 그러나 센서의 데이터일 수도 있고 다른 장치의 신호일 수도 있습니다.
즉, Raspberry PI 및 해당 GPIO 핀을 사용하여 실제 세계와 상호 작용하고 장치 및 전자 제품을 제어할 수 있습니다!
GPIO 핀 자세히 살펴보기
이것은 라즈베리 파이 3의 그림입니다.
GPIO 핀은 Raspberry Pi의 오른쪽에 두 줄로 된 작은 빨간색 사각형이며 실제 Raspberry Pi에서는 작은 금속 핀입니다.
Raspberry Pi 3에는 26개의 GPIO 핀이 있고 나머지 핀은 전원, 접지 또는 "기타"입니다.
핀 배치는 아래 표와 일치합니다.
라즈베리 파이 B+, 2, 3 및 제로
3V3 | 1 | 2 | 5V |
GPIO 2 | 삼 | 4 | 5V |
GPIO 3 | 5 | 6 | 접지 |
GPIO 4 | 7 | 8 | GPIO 14 |
접지 | 9 | 10 | GPIO 15 |
GPIO 17 | 11 | 12 | GPIO 18 |
GPIO 27 | 13 | 14 | 접지 |
GPIO 22 | 15 | 16 | GPIO 23 |
3V3 | 17 | 18 | GPIO 24 |
GPIO 10 | 19 | 20 | 접지 |
GPIO 9 | 21 | 22 | GPIO 25 |
GPIO 11 | 23 | 24 | GPIO 8 |
접지 | 25 | 26 | GPIO 7 |
DNC | 27 | 28 | DNC |
GPIO 5 | 29 | 30 | 접지 |
GPIO 6 | 31 | 32 | GPIO 12 |
GPIO 13 | 33 | 34 | 접지 |
GPIO 19 | 35 | 36 | GPIO 16 |
GPIO 26 | 37 | 38 | GPIO 20 |
접지 | 39 | 40 | GPIO 21 |
전설
물리적 핀 번호 |
전원 + |
지면 |
UART |
I2C |
SPI |
GPIO |
연결하지 마십시오 |
브레드보드 자세히 보기
브레드보드는 전자 제품의 프로토타이핑에 사용되며 납땜 없이 회로를 만들 수 있습니다. 기본적으로 타이 포인트(구멍)의 격자가 있는 플라스틱 보드입니다. 보드 내부에는 다양한 타이 포인트를 특정 방식으로 연결하는 금속 스트립이 있습니다.
아래 그림에서 다른 색상으로 일부 섹션을 강조 표시했습니다. 이것은 그리드가 어떻게 연결되어 있는지 보여주기 위한 것입니다.
브레드보드의 다양한 섹션:
- 왼쪽과 오른쪽 측면에는 2열의 연결점이 있습니다. 이러한 각 열의 모든 연결점은 연결되어 있습니다.
- Power Bus - 빨간색으로 강조 표시된 열. 일반적으로 브레드보드에 전원을 연결하는 데 사용됩니다. 컬럼 전체가 연결되어 있기 때문에 컬럼의 모든 연결점에 전원을 연결할 수 있습니다.
- 접지 버스 - 파란색으로 강조 표시된 열. 일반적으로 접지를 브레드보드에 연결하는 데 사용됩니다. 기둥 전체가 연결되어 있으므로 기둥의 모든 연결점에 접지를 연결할 수 있습니다.
- 연결된 Tie-Point 의 행 - 녹색으로 강조 표시된 행. 이 각 행의 연결점은 연결되지만 전체 행은 아닙니다! 왼쪽 연결점이 연결되고(ABCDE) 오른쪽 연결점이 연결됩니다(FGHIJ).
- 브레드보드 중앙에 트렌치가 있는데, 이것은 왼쪽과 오른쪽 행을 구분합니다. 트렌치의 너비는 많은 집적 회로가 트렌치에 맞도록 설계되었습니다.
onoff 모듈 설치
Node.js를 사용하여 Raspberry Pi의 GPIO와 인터페이스하기 위해 "onoff"라는 모듈을 사용합니다.
Install the onoff module using npm:
pi@w3demopi:~ $ npm install onoff
Now onoff should be installed and we can interact with the GPIO of the Raspberry Pi.