Node.js Raspberry Pi - GPIO-introductie
Wat is GPIO?
GPIO staat voor General Purpose Input Output.
De Raspberry Pi heeft twee rijen GPIO-pinnen, die verbindingen zijn tussen de Raspberry Pi en de echte wereld.
Uitgangspinnen zijn als schakelaars die de Raspberry Pi kan in- of uitschakelen (zoals het in- of uitschakelen van een LED-lampje). Maar het kan ook een signaal naar een ander apparaat sturen.
Ingangspinnen zijn als schakelaars die je van de buitenwereld aan of uit kunt zetten (zoals een aan/uit-lichtschakelaar). Maar het kan ook een data van een sensor zijn, of een signaal van een ander apparaat.
Dat betekent dat u kunt communiceren met de echte wereld en apparaten en elektronica kunt bedienen met behulp van de Raspberry PI en zijn GPIO-pinnen!
De GPIO-pinnen van dichterbij bekijken
Dit is een illustratie van de Raspberry Pi 3.
De GPIO-pinnen zijn de kleine rode vierkantjes in twee rijen aan de rechterkant van de Raspberry Pi, op de eigenlijke Raspberry Pi zijn het kleine metalen pinnen.
De Raspberry Pi 3 heeft 26 GPIO-pinnen, de rest van de pinnen zijn power, ground of "other".
De pinplaatsingen komen overeen met onderstaande tabel.
Raspberry Pi B+, 2, 3 & 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 |
Legende
Fysiek pinnummer |
Vermogen + |
Grond |
UART |
I2C |
SPI |
GPIO |
Niet verbinden |
De Breadboard van dichterbij bekijken
Een breadboard wordt gebruikt voor het maken van prototypes van elektronica, hiermee kun je circuits maken zonder te solderen. Het is eigenlijk een plastic bord, met een raster van verbindingspunten (gaten). Aan de binnenkant van het bord bevinden zich metalen strips die de verschillende verbindingspunten op specifieke manieren met elkaar verbinden.
In de onderstaande afbeelding hebben we enkele secties gemarkeerd met verschillende kleuren. Dit is om u te laten zien hoe het net is aangesloten.
De verschillende secties van het breadboard:
- Aan de linker- en rechterzijde bevinden zich 2 kolommen met verbindingspunten. Alle verbindingspunten in elk van deze kolommen zijn verbonden.
- De Power Bus - De kolommen rood gemarkeerd. Er worden meestal gebruikt om stroom op de Breadboard aan te sluiten. Omdat de hele kolom is aangesloten, kunt u stroom aansluiten op elk van de verbindingspunten in de kolom.
- The Ground Bus - De kolommen gemarkeerd met blauw. Er worden meestal gebruikt om Ground te verbinden met de Breadboard. Omdat de hele kolom is verbonden, kunt u aarde verbinden met elk van de verbindingspunten in de kolom.
- Rijen verbonden Tie-Points - De rijen gemarkeerd met groen. De verbindingspunten van elk van deze rijen zijn verbonden, maar niet de hele rij! De verbindingspunten aan de linkerkant zijn verbonden (ABCDE) en de verbindingspunten aan de rechterkant zijn verbonden (FGHIJ).
- In het midden van de Breadboard bevindt zich een Trench, deze scheidt de linker en rechter rij. De breedte van de greppel is zo ontworpen dat er veel geïntegreerde schakelingen overheen passen.
Installeer de aan-uit-module
Om te communiceren met de GPIO op de Raspberry Pi met behulp van Node.js, gebruiken we een module genaamd "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.