Node.js Raspberry Pi - Introdução ao GPIO
O que é GPIO?
GPIO significa General Purpose Input Output.
O Raspberry Pi tem duas fileiras de pinos GPIO, que são conexões entre o Raspberry Pi e o mundo real.
Os pinos de saída são como interruptores que o Raspberry Pi pode ligar ou desligar (como ligar/desligar uma luz LED). Mas também pode enviar um sinal para outro dispositivo.
Os pinos de entrada são como interruptores que você pode ligar ou desligar do mundo exterior (como um interruptor de luz liga/desliga). Mas também pode ser um dado de um sensor ou um sinal de outro dispositivo.
Isso significa que você pode interagir com o mundo real e controlar dispositivos e eletrônicos usando o Raspberry PI e seus pinos GPIO!
Analisando mais de perto os pinos GPIO
Esta é uma ilustração do Raspberry Pi 3.
Os pinos GPIO são os pequenos quadrados vermelhos em duas linhas no lado direito do Raspberry Pi, no Raspberry Pi real eles são pequenos pinos de metal.
O Raspberry Pi 3 possui 26 pinos GPIO, o restante dos pinos são de alimentação, terra ou "outros".
Os posicionamentos dos pinos correspondem à tabela abaixo.
Framboesa Pi B+, 2, 3 e Zero
3V3 | 1 | 2 | 5V |
GPIO 2 | 3 | 4 | 5V |
GPIO 3 | 5 | 6 | GND |
GPIO 4 | 7 | 8 | GPIO 14 |
GND | 9 | 10 | GPIO 15 |
GPIO 17 | 11 | 12 | GPIO 18 |
GPIO 27 | 13 | 14 | GND |
GPIO 22 | 15 | 16 | GPIO 23 |
3V3 | 17 | 18 | GPIO 24 |
GPIO 10 | 19 | 20 | GND |
GPIO 9 | 21 | 22 | GPIO 25 |
GPIO 11 | 23 | 24 | GPIO 8 |
GND | 25 | 26 | GPIO 7 |
DNC | 27 | 28 | DNC |
GPIO 5 | 29 | 30 | GND |
GPIO 6 | 31 | 32 | GPIO 12 |
GPIO 13 | 33 | 34 | GND |
GPIO 19 | 35 | 36 | GPIO 16 |
GPIO 26 | 37 | 38 | GPIO 20 |
GND | 39 | 40 | GPIO 21 |
Lenda
Número PIN Físico |
Potência + |
Chão |
UART |
I2C |
SPI |
GPIO |
Não conecte |
Olhando mais de perto a tábua de pão
Uma placa de ensaio é usada para prototipagem eletrônica, permite criar circuitos sem solda. É basicamente uma placa de plástico, com uma grade de pontos de amarração (buracos). Dentro da placa existem tiras de metal conectando os diferentes pontos de amarração de maneiras específicas.
Na ilustração abaixo destacamos algumas das seções com cores diferentes. Isto é para mostrar como a rede está conectada.
As diferentes seções da placa de ensaio:
- Do lado esquerdo e direito existem 2 colunas de pontos de amarração. Todos os pontos de amarração em cada uma dessas colunas estão conectados.
- O Power Bus - As colunas destacadas em vermelho. Geralmente são usados para conectar energia à Breadboard. Como a coluna inteira está conectada, você pode conectar a energia a qualquer um dos pontos de ligação na coluna.
- The Ground Bus - As colunas destacadas em azul. Geralmente são usados para conectar o terra à placa de ensaio. Como toda a coluna está conectada, você pode conectar o aterramento a qualquer um dos pontos de ligação na coluna.
- Linhas de Tie-Points conectados - As linhas destacadas em verde. Os pontos de amarração de cada uma dessas linhas são conectados, mas não a linha inteira! Os pontos de amarração do lado esquerdo são conectados (ABCDE) e os pontos de amarração do lado direito são conectados (FGHIJ).
- No centro da tábua de pão há uma trincheira, que separa as linhas esquerda e direita. A largura da vala é projetada para que muitos circuitos integrados caibam nela.
Instale o módulo onoff
Para fazer a interface com o GPIO no Raspberry Pi usando Node.js, usaremos um módulo chamado "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.