Node.js Raspberry Pi - Introduzione a GPIO
Cos'è GPIO?
GPIO è l'acronimo di General Purpose Input Output.
Il Raspberry Pi ha due file di pin GPIO, che sono connessioni tra il Raspberry Pi e il mondo reale.
I pin di uscita sono come interruttori che il Raspberry Pi può accendere o spegnere (come accendere/spegnere una luce a LED). Ma può anche inviare un segnale a un altro dispositivo.
I pin di input sono come interruttori che puoi attivare o disattivare dal mondo esterno (come un interruttore della luce acceso/spento). Ma può anche essere un dato di un sensore o un segnale di un altro dispositivo.
Ciò significa che puoi interagire con il mondo reale e controllare dispositivi ed elettronica utilizzando Raspberry PI e i suoi pin GPIO!
Uno sguardo più da vicino ai pin GPIO
Questa è un'illustrazione del Raspberry Pi 3.
I pin GPIO sono i quadratini rossi in due file sul lato destro del Raspberry Pi, sul Raspberry Pi attuale sono piccoli pin di metallo.
Il Raspberry Pi 3 ha 26 pin GPIO, il resto dei pin sono alimentazione, terra o "altro".
Le posizioni dei pin corrispondono alla tabella seguente.
Raspberry 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 |
Leggenda
Numero di pin fisico |
Potenza + |
Terra |
UART |
I2C |
SPI |
GPIO |
Non connetterti |
Uno sguardo più da vicino alla breadboard
Una breadboard viene utilizzata per la prototipazione elettronica, consente di creare circuiti senza saldature. È fondamentalmente una tavola di plastica, con una griglia di punti di fissaggio (fori). All'interno della scheda sono presenti delle strisce metalliche che collegano i diversi punti di ancoraggio in modi specifici.
Nell'illustrazione sottostante abbiamo evidenziato alcune sezioni con colori diversi. Questo per mostrarti come è collegata la rete.
Le diverse sezioni della breadboard:
- Sul lato sinistro e destro ci sono 2 colonne di punti di collegamento. Tutti i punti di collegamento in ciascuna di queste colonne sono collegati.
- Il bus di alimentazione - Le colonne evidenziate in rosso. Di solito vengono utilizzati per collegare l'alimentazione alla breadboard. Poiché l'intera colonna è collegata, è possibile collegare l'alimentazione a qualsiasi punto di collegamento nella colonna.
- The Ground Bus - Le colonne evidenziate in blu. Di solito vengono utilizzati per collegare la massa alla breadboard. Poiché l'intera colonna è collegata, è possibile collegare la terra a qualsiasi punto di collegamento nella colonna.
- Righe di punti di collegamento collegati - Le righe evidenziate in verde. I punti di collegamento di ciascuna di queste righe sono collegati, ma non l'intera riga! I punti di collegamento del lato sinistro sono collegati (ABCDE) e i punti di collegamento del lato destro sono collegati (FGHIJ).
- Al centro della breadboard c'è una trincea, che separa le righe sinistra e destra. La larghezza della trincea è progettata in modo che molti circuiti integrati vi si adattino.
Installare il modulo on-off
Per interfacciarci con il GPIO sul Raspberry Pi utilizzando Node.js, utilizzeremo un modulo chiamato "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.